GNU Founder Stallman Issues JavaScript Warning

Free software proponent Richard Stallman claims some browsers and browsing software can force “non-free software” on users without their knowledge

Free software proponent Richard Stallman has issued a warning to free software users that they may be using non-free software when they download JavaScript code or use various browsers.

“Many users are aware that this issue applies to the plug-ins that browsers offer to install, since they can be free or non-free,” Stallman said. “But browsers run other non-free programs which they don’t ask you about or even tell you about—programs that Web pages contain or link to. These programs are most often written in JavaScript, though other languages are also used.”

Stallman said JavaScript was originally used for “minor frills in Web pages,” but is now used for much more. “Many sites still use JavaScript that way, but some use it for major programs that do large jobs,” he said. “For instance, Google Docs downloads into your machine a JavaScript program which measures half a megabyte, in a compacted form that we could call ‘Obfuscript’ because it has no comments and hardly any white space, and the method names are one letter long. The source code of a program is the preferred form for modifying it; the real source code of this program is not available to the user.”

Moreover, Stallman said:

“It is possible to release a JavaScript program as free software, by distributing the source code under a free software license. But even if the program’s source is available, there is no easy way to run your modified version instead of the original. Current free browsers do not offer a facility to run your own modified version instead of the one delivered in the page. The effect is comparable to tivoization, although not quite so hard to overcome.”

As to a course of action to address the issue, Stallman suggested:

“In practical terms, how can we deal with the problem of non-free JavaScript programs in web sites? Here’s a plan of action.

“First, we need a practical criterion for nontrivial JavaScript programs. Since “nontrivial” is a matter of degree, this is a matter of designing a simple criterion that gives good results, rather than determining the one correct answer.

“Our proposal is to consider a JavaScript program nontrivial if it defines methods and either loads an external script or is loaded as one, or if it makes an AJAX request.”

In a reaction post on Ajaxian.com, Michael Mahemoff wrote, “However, most of the JavaScript code in Web apps assumes a conventional copyright license, and Stallman’s complaint is that it should instead be issued under free software licenses.”