FREE SOFTWARE GURU Richard Stallman has led an attack on the use of JavaScript programs on the world wide wibble.
He said that many good Open Sourcerers could be seduced to the dark side of non-free programming without being aware of it.
His main beef seems to be that browsers run other non-free programs that they don't ask you about or even tell you about.
Writing in his bog, Stallman complains that Google Docs downloads to your machine a JavaScript program that is half a megabyte in size, in a compacted form that he calls Obfuscript because it has no comments and hardly any whitespace and the method names are one letter long.
Part of the problem is that while browsers can turn off JavaScript none of them check for JavaScript programs that are nontrivial and non-free, Stallman complains.
It strikes me as a bit strange that, for all the good points about Free Software, it often comes down to a religious attitude for some adherents. Anything that is not Free Software is always bad and must not be allowed near machines or it will contaminate them, leading users astray from the pure and holy way.
Somewhere along the line they lose sight of the fact that code is just something that runs a computer and instead it becomes a badge of morality. God knows what Plato would have made of it. µ
"God knows what Plato would have made of it."
I believe God once asked Plato about your "Fruit themed toymaker" rants, Nick, but Plato apparently just said, "Sod it, big feller, its Farrell: he lives, in order to hate a computer company from California... I always assumed you made him that way for a laugh".
Stalin errr...Stallman needs to get a real job.
Stallman is an enemy of programmers being able to feed their families with the fruits of their labor. You can't sell what you make if you give away its source. And if open source is so much better in code quality regarding bugs, you can't sell service or support plans because perfectly coded products don't need support.
Stallman is a greal real-life troll.
"Stallman is an enemy of programmers being able to feed their families with the fruits of their labor. You can't sell what you make if you give away its source."
Nonsense. There are plenty of opportunities for selling customised solutions, which may or may not be open source, and for selling open source software and services. Heard of Red Hat?
"And if open source is so much better in code quality regarding bugs, you can't sell service or support plans because perfectly coded products don't need support."
Stallman advocates Free Software, not open source. It's all about the freedom, not the efficiency or business case.
"Stallman is a greal real-life troll."
Run out of arguments? We could say that Frank is a troll, but no-one would know who you were.
Google services millions of customers. Saving bytes in the Javascript code, especially when it is already over a megabyte in size, will save a lot of bandwidth.
In the end though, if you don't "Obfuscript" vote with your feet and not bother with such sites. If Stallman is so nitpicky about "non-free" sites, I don't know how he lives with himself using search engines or other server-side code-executing sites which have proprietary code.
"If Stallman is so nitpicky about "non-free" sites, I don't know how he lives with himself using search engines or other server-side code-executing sites which have proprietary code."
What's funny about his whole moral tirade is how can he NOT use non-free software? I mean *most* people would have to go out of their way to use a system like that. What distro does he use? gNewSense entirely in a CLI environment? It's just absurd...
Also, to re: Horse above:
"Stallman advocates Free Software, not open source. It's all about the freedom, not the efficiency or business case."
Unlike open source which is a production process, (someone please correct me if I am wrong here) this "free software" mumbo jumbo is nothing more than software produced via open source BUT is concerned with user and developer so-called "freedoms." But looking at these freedoms here:
http://www.fsf.org/licensing/essays/free-sw.html/view?searchterm=four%20freedoms
It looks like open source process covers all this, so what is Stalin really ranting about anyway? Seems to me that there's no point to this free software movement.
... Better for actually doing things rather than unoptimized text bloat.. Consider it the 'object code' version of javascript and RMS is just bloviating.
However, if the underlying libs aren't available opensource, he has a point, just not the one he's being quoted on here..
it fits in perfectly with his political and ethical and professional world view: remember his goal. but here's the artical that you so snidely dismiss:
http://www.gnu.org/philosophy/javascript-trap.html
by Richard Stallman
You may be running non-free programs on your computer every day without realizing it—through your web browser.
In the free software community, the idea that non-free programs mistreat their users is familiar. Some of us refuse entirely to install proprietary software, and many others consider non-freedom a strike against the program. 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.
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.
JavaScript (officially called ECMAscript, but few use that name) was once used for minor frills in web pages, such as cute but inessential navigation and display features. It was acceptable to consider these as mere extensions of HTML markup, rather than as true software; they did not constitute a significant issue.
Many sites still use JavaScript that way, but some use it for major programs that do large jobs. 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 whitespace, and the method names are one letter long. The source code of a program is the preferred form for modifying it; the compacted code is not source code, and the real source code of this program is not available to the user.
Browsers don't normally tell you when they load JavaScript programs. Most browsers have a way to turn off JavaScript entirely, but none of them can check for JavaScript programs that are nontrivial and non-free. Even if you're aware of this issue, it would take you considerable trouble to identify and then block those programs. However, even in the free software community most users are not aware of this issue; the browsers' silence tends to conceal it.
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.
JavaScript is not the only language web sites use for programs sent to the user. Flash supports programming through an extended variant of JavaScript. We will need to study the issue of Flash to make suitable recommendations. Silverlight seems likely to create a problem similar to Flash, except worse, since Microsoft uses it as a platform for non-free codecs. A free replacement for Silverlight does not do the job for the free world unless it normally comes with free replacement codecs.
Java applets also run in the browser, and raise similar issues. In general, any sort of applet system poses this sort of problem. Having a free execution environment for an applet only brings us far enough to encounter the problem.
A strong movement has developed that calls for web sites to communicate only through formats and protocols that are free (some say "open"); that is to say, whose documentation is published and which anyone is free to implement. With the presence of programs in web pages, that criterion is necessary, but not sufficient. JavaScript itself, as a format, is free, and use of JavaScript in a web site is not necessarily bad. However, as we've seen above, it also isn't necessarily ok. When the site transmits a program to the user, it is not enough for the program to be written in a documented and unencumbered language; that program must be free, too. “Only free programs transmitted to the user” must become part of the criterion for proper behavior by web sites.
Silently loading and running non-free programs is one among several issues raised by "web applications". The term "web application" was designed to disregard the fundamental distinction between software delivered to users and software running on the server. It can refer to a specialized client program running in a browser; it can refer to specialized server software; it can refer to a specialized client program that works hand in hand with specialized server software. The client and server sides raise different ethical issues, even if they are so closely integrated that they arguably form parts of a single program. This article addresses only the issue of the client-side software. We are addressing the server issue separately.
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.
At the end of this article we propose a convention by which a nontrivial JavaScript program in a web page can state the URL where its source code is located, and can state its license too, using stylized comments.
Finally, we need to change free browsers to support freedom for users of pages with JavaScript. First of all, browsers should be able to tell the user about nontrivial non-free JavaScript programs, rather than running them. Perhaps NoScript could be adapted to do this.
Browser users also need a convenient facility to specify JavaScript code to use instead of the JavaScript in a certain page. (The specified code might be total replacement, or a modified version of the free JavaScript program in that page.) Greasemonkey comes close to being able to do this, but not quite, since it doesn't guarantee to modify the JavaScript code in a page before that program starts to execute. Using a local proxy works, but is too inconvenient now to be a real solution. We need to construct a solution that is reliable and convenient, as well as sites for sharing changes. The GNU Project would like to recommend sites which are dedicated to free changes only.
These features will make it possible for a JavaScript program included in a web page to be free in a real and practical sense. JavaScript will no longer be a particular obstacle to our freedom—no more than C and Java are now. We will be able to reject and even replace the non-free nontrivial JavaScript programs, just as we reject and replace non-free packages that are offered for installation in the usual way. Our campaign for web sites to free their JavaScript can then begin.
Thank you to Matt Lee and John Resig for their help in defining our proposed criterion.
Appendix: a convention for releasing free JavaScript programs
For references to corresponding source code, we recommend
// @source:
followed by the URL.
To indicate the license of the JavaScript code embedded in a page, we recommend putting the license notice between two notes of this form:
@licstart The following is the entire license notice for the
JavaScript code in this page.
...
@licend The above is the entire license notice
for the JavaScript code in this page.
Of course, all of this should be contained in a multiline comment.
The GNU GPL, like many other free software licenses, requires distribution of a copy of the license with both source and binary forms of the program. However, the GNU GPL is long enough that including it in a page with a JavaScript program can be inconvenient. You can remove that requirement, for code that you have the copyright on, with a license notice like this:
Copyright (C) YYYY Developer
The JavaScript code in this page is free software: you can
redistribute it and/or modify it under the terms of the GNU
General Public License (GNU GPL) as published by the Free Software
Foundation, either version 3 of the License, or (at your option)
any later version. The code is distributed WITHOUT ANY WARRANTY;
without even the implied warranty of MERCHANTABILITY or FITNESS
FOR A PARTICULAR PURPOSE. See the GNU GPL for more details.
As additional permission under GNU GPL version 3 section 7, you
may distribute non-source (e.g., minimized or compacted) forms of
that code without the copy of the GNU GPL normally required by
section 4, provided you include this license notice and a URL
through which recipients can access the Corresponding Source.
a good read tells the REAL story doesnt it ^^
FSF is against freedom of choice. Against free will. They are evil
Look at their site about distributions. A distribution makes it easy for the user to install 'non free' software? or makes it possible without jumping trough loops? The distribution is evil!
The FSF is is bunch of fascists. Like all extremists.
Me, I am pro-choice. If someone wants to use non-free stuff, don't put stones in their way.
That is why I like gentoo. You are free to do what you want. Not what some debian-free-software-jihadists things you have to do
"That is why I like gentoo. You are free to do what you want. Not what some debian-free-software-jihadists things you have to do"
While Debian does have closer ties to the GNU than other distros, it does NOT restrict you to using only free software, in fact there are many non-free Debian repositories available for use.
Never has any one person done so much to change how we use computers and has so many people not cared one bit about it.
Without stallman there would be no linux, as linux was Just a kernel with a set of gnu unix programs.
I think everyone should take a similiar stand on an issue they care about, I don't even care if I agree with your message. Whats important is that you have a message at all. I certainly don't always agree with Nicks apple rants but at least he is passionate about them.
Love him or hate him, he is fighting a good fight. Its a fight I however can not Join in with him. I like my video drivers to play games and restricted software.
Stallman can call me an uneducated idiot into the cows come how but for most people free is stuff you don't pay for. Like a glass of water at a restraunt or flash game on website. Frankly to say that cut back JScript is not free because he cant read it with out thinking about it and putting back in white space and replacing short methods is perplexing to say the least.
Most programmers aren't so lucky as to get free food from their feet.
http://www.youtube.com/watch?v=I25UeVXrEHQ
Plato was an authoritarian, folks. He had the philosophy that the collective state owns its citizens all worked out.
Hegel expressed merely a pale reflection of Plato's Republic when he declared the State as the dominant, righteous force in human affairs.
It's sad that so many people who read the site don't have any conception of software freedom, because to them all of software is mysterious, which is simply a result of their dumbing down by the prevalent culture, schooling, etc. It's really sad, though. Point, click and drool....
We cannot hide, crypt or assemble javascript code. Everything in JS is freely available and readable, unlike PHP-scripts, whose code remains hidden for end-users.
Marc, "uneducated idiot into the cows". ;-) But seriously have you read anything by Stallman or the open source crowd. A big issue is the limitations of using the English word "free" which has several senses...unlike French which separates libre and gratuit for example.
Ted, PHP is server side, different set of issues. "Compressed/obfuscript" is sufficiently different from source to be not readable. It is not unlike binary code which with your logic you might claim as being "open source" because you can inspect it as well. But I get your point, it is just as much an issue what the server might be doing.
"We cannot hide, crypt or assemble javascript code. Everything in JS is freely available and readable, unlike PHP-scripts, whose code remains hidden for end-users."
Javascript can be just as well obfuscated as executable binaries or other programs. Proof: you can always write x86 emulator in Javascript. Sure server-side scripts are usually completely hidden, but what did you expect?
Google Web Toolkit etc. are already compiling Java to pretty obfuscated looking Javascript anyways.
Petrus Validus writes, "What's funny about his whole moral tirade is how can he NOT use non-free software? I mean *most* people would have to go out of their way to use a system like that. What distro does he use? gNewSense entirely in a CLI environment? It's just absurd..."
If you've read about the emergence of the Free Software movement, you'd understand where he's coming from, rather than just label his position as "funny". If you've ever used a proprietary platform which is now effectively dead, you'll also understand how a lack of access to the source code of the software (or even any reasonable access to the data in numerous cases) is anything but "funny".
As I wrote:
"Stallman advocates Free Software, not open source. It's all about the freedom, not the efficiency or business case."
After supposedly reading about the four freedoms, you then write...
"It looks like open source process covers all this, so what is Stalin really ranting about anyway? Seems to me that there's no point to this free software movement."
Thus missing the point. The point is that although the effect of many open source licences is often the same as Free Software licensing - you still get the four freedoms - the motivations are different. Moreover, people from the Free Software camp typically focus on end-user freedoms whereas you can "enjoy" plenty of arguments from open source types about how permissively licensed open source code is somehow "more free" because it means that they and their friends can take such code, weld the lid shut and make a proprietary product out of it, thus screwing the end-users.
Also, the Free Software movement predates the "open source" banner by a good decade-and-a-half. But I guess it's easier to label some guy with the name of a Soviet dictator than to try and actually understand anything.
"There are plenty of opportunities ... for selling open source software and services. Heard of Red Hat?"
Yes I have. Would you, perchance, have any other examples to demonstrate the "plentiful" part of your comment ?
Pascal Monett: "Would you, perchance, have any other examples to demonstrate the "plentiful" part of your comment ?"
Well, aside from all the small companies offering support for open source software, there are some bigger names. Take the following article for instance:
http://news.cnet.com/8301-13505_3-10231714-16.html
There are supposedly a few different companies making a living from Asterisk, with Digium being one name that comes up repeatedly. Since you've heard of Red Hat, I guess Google is also a familiar name, too. Sadly, Wolfram Alpha wouldn't answer questions on the topic.
Red Hat were very lucky in that they got VC funding and managed their growth throughout the dot-com and dot-bomb era, unlike some other companies we could mention. But since the wealth gets spread around a lot more with open source, it's not that likely that you will see behemoths like Microsoft who can sell millions of units at a very high margin per unit, but then that's a good thing: money spent on open source code, services, support need not get vacuumed out of the local economy and into some rich person's bank account in a distant (for most people) location in a north-western region of the USA.
The myth repeated by Frank the Troll was that people don't spend money on open source software. Yes, it is a myth, and it's a distraction to insist that obscenely wealthy people who have made their fortune on open source software are required to show themselves in order to disprove it.
Because this applies to all code really.
First off - RMS is a visionary who is right about code. The most important part of making code free/open is this: If the code is open we've got a chance of fixing things and making everything work. Close the source and watch it bloat.
Think of who lean and fast the LAMP stack is compared to .NET.
RMS's point holds true for other code.
We have taken over about 5-6 websites which have extremely basic CMS systems - and they are supposed to be move to another server.
However, the code is so bad that it's almost impossible to work with them feasibly. I.e. it's difficult to tell the client that they have to spend hundreds of pounds just to get them moved.
Scale this up and we have come across large PHP sites which are so bad that it's more feasible to re-write them from scratch.
So RMS is pointing out a bigger issue.
Code doesn't just need to be free - it needs to be well-written. I.e. Embedded documentation, comments, indentation, proper naming, functional decomposition, etc etc etc.
And then claim RMS is Stalin?
Stalin was closed source. You weren't allowed to know the laws to avoid the crimes you were being charged with. You weren't allowed to leave. Things were changed on an arbitrary basis and nobody had any appeal. The results were a disaster.
That's what closed source is, coerced ignorance. Remember Biden's Clipper Chip program? Or how he and Gates pushed for 'Trusted' computing where you could only run software the government approved of?
Laws are programs for a society.
Programs are laws for computers.
I have a right to know what's running on my computer.
I have a right to know what's in my food.
If you're willing to trade Freedom for a HD version of American Idle and some Flash games then you've been brainwashed.
"You may be running non-free programs on your computer every day without realizing it—through your web browser."
Yeah, and you may be running non-free programs on your computer every day without realizing it -- through your bloody hardware.
Who does he think makes his computer? Father bloody Christmas?