FSF - Free JavaScript Campaign - Too Far?
Written by Alex Armstrong   
Tuesday, 03 September 2013

The FSF campaigns for free software and it often serves to point out some moral, ethical or simple commercial situation that we might otherwise miss, but its attention to non-free JavaScript seems well off target.

The idea is that you should strive to keep non-free software off your machine and if you view a web page that contains non-free JavaScript then this is a problem, a big problem. The FSF suggests that you contact any website that uses non-free JavaScript and ask it to change to something free. 



"When looking to ensure that our computers are running free software, we usually turn our attention to the operating system and programs we install. Increasingly, we also need to look at the Web sites we visit. Simply visiting many sites loads software onto your computer, primarily JavaScript, that carry proprietary licenses. If we want to be able to browse the Web without running nonfree software, we need to work together to call for change."

In addition web sites that do change to free JavaScript can eventually get a badge to display to show the world that they have booted the evil out. 

To be clear the FSF's definition of free software is: 

  • The freedom to run the program, for any purpose (freedom 0).
  • The freedom to study how the program works, and change it so it does your computing as you wish (freedom 1). Access to the source code is a precondition for this.
  • The freedom to redistribute copies so you can help your neighbor (freedom 2).
  • The freedom to distribute copies of your modified versions to others (freedom 3). By doing this you can give the whole community a chance to benefit from your changes. Access to the source code is a precondition for this.

Now most programmers are happy with freedom 0, fairly happy with freedom 1 but often not so happy with freedoms 2 and 3. The right to charge money for work that was really work, rather than just done for the love of the subject, is something that most programmers would think is reasonable and hence some software can't meet freedoms 2 and 3 - including some JavaScript.  

It is also reasonable that some users would want to base their computing on all free software. There are good practical reasons for this. The one that is usually quoted is that you can fix bugs - but my guess is that this rarely happens in practice. The real reason is that using free software gives you a sort of assurance that the software will be available in the future and won't stop working because of a licence server closing it down. 

The same argument doesn't really apply to JavaScript. It isn't compiled and even obfuscated and minified it can be reduced to readable code. Even if you don't agree with this point' the big difference is that JavaScript is transitory. You don't install it and you don't rely on it. You may rely on the website serving it, but the survival of this has little to do with the license that the JavaScript carries. 

In short it is difficult to see what practical value insisting on free JavaScript has, and if it has no practical value it must be a moral stand. 

If this is the case then why not worry about non-free software used on the server to deliver the webpage? It seems strange to focus on non-free software on the user's personal computer in this day and age of connected computing. The personal computer is no longer an island and to ignore the server in the moral equation is just inconsistent. 

So we have to conclude that the FSF has gone a step too far and seems to be out of touch with the technology - or has just revealed itself to be a religion rather than a reasoning force for good. 


More Information

The Free JavaScript campaign

The JavaScript Trap (by Richard Stallman)


Related Articles

FSF Fundraising for Free Android OS       

DRM In HTML - The Programmer's View       

FSF Says Close Windows 8       

IPython Creator Wins Free Software Award       

A GNU Protest Against Windows 8       

FSF Introduces DRM-Free Logo       

FSF Restricted Boot Campaign       


To be informed about new articles on I Programmer, install the I Programmer Toolbar, subscribe to the RSS feed, follow us on, Twitter, FacebookGoogle+ or Linkedin,  or sign up for our weekly newsletter.



Summer SALE Kindle 9.99 Paperback $10 off!!




or email your comment to: comments@i-programmer.info




Rust 1.72 Stabilizes APIs

Rust 1.72 has been released with stabilized APIs as well as unlimited Const evaluation time.

The DevOps with Docker Course From Finland

A course by Jami Kousa of University of Helsinki teaches Docker from zero to hero. It's free and self-paced and contains a lot of material you need to work through from start to finish.

More News







Last Updated ( Tuesday, 03 September 2013 )