In general, JavaScript code just like CSS code is an asset that can be viewed fully by a web browser. For any webpage, one can see all JavaScript or CSS for a webpage in the DOM and/or in the developer tool under “Sources” tab and can change or manipulate both JavaScript and CSS freely without effecting any other person, so what does Stallman means exactly?
Perhaps he means to a situation where the website’s terms of use “forbid” changing the website’s behavior and/or style with JavaScript, but I am not sure if that’s what he means. If he means that then he should also complain about CSS so that users are required to run non free frontend and are even not allowed to do something like display: none in the developer tool according to such terms of use.
This is just someone being a “rebel” and bypassing a paywall. Ignorant IMHO - if you don’t want to pay for someone else’s work, that’s fine. But don’t steal from them by bypassing the content and sharing it with others.
Part of the meaning of free software is that users have access to the program’s source code (its plan). The source code of a program means the preferred form for programmers to modify—including helpful spacing, explanatory remarks, and meaningful names. Compacted code is a bogus, useless substitute for source code; the real source code of these programs is not available to the users, so users cannot understand it; therefore the programs are nonfree.
Stallman mentions that some websites employ methods to “compact” their JavaScript, making it difficult for users to understand the code. I took this to mean minify, but it could, I guess, also be taken to mean obfuscate.
Anyway, since JavaScript isn’t compiled and must be sent in its original form, these minification/obfuscation strategies make the code more-or-less unreadable. This contradicts the principles of open source software, leading Stallman to label the JavaScript as “non free” and advise individuals who prefer using only open source software to avoid these websites.
How can one obfuscate JavaScript code more than just minifying it?
I mean, if it’s more obfuscation than mere minify, the JavaScript will become “nonsensical” and the web browser won’t be able to process it, am I wrong?