The opening statement is misrepresenting RMS; when he says "nonfree", he means Free. The article author seems to zero in and focus on the "open source" aspect of it all. Even if you have the unobfuscated Javascript source-code, you probably don't have the right to modify it.<p>Whatever you think on the matter, its best if articles explain RMS's stance accurately and with the right weight in the right place.
The takeaway is that an obfuscator that produces a "black-box" version of any program cannot exist, but one that can produce equal but indistinguishable obfuscated versions of any one program does exist.<p>I find that the article's most intriguing point is the link between homomorphic encryption and indistinguishable obfuscation.
>They adopt a different definition of obfuscation, called indistinguishability obfuscation. The criterion for success is that an adversary who is given obfuscated versions of two distinct but equivalent programs—they both compute the same function—can’t tell which is which.<p>I don't follow this part. Obviously, if you have two distinct programs, they are different and you could arbitrarily label one A and the other B. And even if you couldn't do that, so what? Anyone care to explain?
Side-note: obfuscating variable and method names doesn't offer that much of a size advantage, since gzip will already compress those. Most of the gains in minifying come from removing whitespace & comments, and smart code transformations.