It occurred to me that when we announce ease.js it would be a good occasion to post something about the importance of making JavaScript code free. —Richard Stallman
GNU ease.js provides a set of unmatched and desirable features under a copyleft license, which encourages developers to release their own code under a compatible free software license. But not everyone may understand why this decision—and the urging of free (as in freedom) JavaScript—are so fundamentally vital to the future of a free and cooperative Internet that is accessible to everyone, regardless of whether they exclusively use free software.
We need your help to protect the fundamental freedoms of Internet users. This brief essay is an appeal to developers to develop free software for the Web; it is heavily influenced by Richard Stallman's article The JavaScript Trap—which you should also read—and has been written with his input. If you already write free JavaScript, then thank you.
Web pages increasingly include JavaScript code, which raises the same ethical concerns as software written in any other language: Non-free JavaScript can rob you of your right to study, modify, and share the software that you are running. Unlike traditional software, JavaScript usually enters your machine without prompting and often without your knowledge---the simple act of visiting a web page may install and execute a non-free program within your web browser.
JavaScript provides an often frictionless cross-platform distribution mechanism that can be exploited without your permission; this amplifies the effects of some of the most insidious anti-features, such as spying on your activities and tracking your movements. If a web page executes non-free code, how are you able to audit it (or have someone else do so on your behalf) to ensure that it is not malicious? Further, how are you or others able to modify the software to remove the malicious code? (Unfortunately, the latter can be complicated even with free JavaScript, but it can be done.)
But non-malicious programs sometimes need changes too. You deserve control over all software that runs on your computer; why should you sacrifice this freedom simply because JavaScript creates the illusion of remote execution?
How many web sites have you visited today that download JavaScript onto your computer? How many of them respect your freedoms? I chose to license ease.js under the GPLv3+ because I believe that non-free JavaScript should be eliminated, not enabled. Please help to spread the word and join me in writing free JavaScript; without it, we will have an Internet that is locked away from free software users; this is not the spirit in which the Internet was created.
Mike Gerwitz
Author of GNU ease.js