Free software proponent Richard Stallman issues a warning to free software users that they may be using non-free software when they download JavaScript code or use various browsers. Stallman proposes a free software solution to the problem.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
aboutprograms 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."