Please read him as him/her. Man refers here to mankind/humanity in general and includes everyone in this planet.
In 2008, when most of the world was excited about cloud computing, he called it worse than stupidity. When almost the entire world mourned the death of Steve Jobs in 2011, he said he was glad that he is gone. Although a computer programmer and a techie himself, he advocates paper voting to machine voting. He does not recommend mobile phones. He is against Software Patents and Digital Rights Management, prompting Microsoft CEO Steve Ballmer to call the license he authored ‘a cancer that attaches itself in an intellectual property sense to everything it touches’. He is Richard M Stallman (rms going forward), founder of Free Software Foundation and the author of the GNU public license. I have perceived rms to a stubborn personality and one whose views (when implemented) could cause a lot of inconvenience to the majority. This blog is my curious attempt to get into his mind and imagine his point of view.
‘I prefer the tumult of liberty to the quiet of servitude’ – Thomas Jefferson
Man likes to indulge and more importantly exert his capabilities. Products and services emerge to enable him achieve both of these with minimal effort. Man doesn’t really care about the ‘how’ part in these as long as they don’t infringe in his very ability to exert. When these products and services get prevalent/rigid and when man begins to feel constrained by his lack of choice, a force does emerge to remind mankind of his fundamental rights and basic freedom. Free software is one such force in the field of computing. The motivation for free software arose in a similar context during the seventies, when there was a considerable rise in proprietary software in the form of companies releasing software in binary/executable formats making it impossible for the end user to change or modify them on their computers. In the year 1980, copyright was extended to software programs. In 1983, rms announced his frustration and the GNU project was born. The goal of the GNU project was to develop a sufficient body of free software to get along without any software that is not free.
At the heart of Free Software is the GNU General public license (GNU GPL) authored by rms and we will focus on that. In the most fundamental sense, free software was and is never about money. As rms explains, it is about liberty and not price. The word ‘free’ should be thought of as in ‘free speech’ and not ‘free beer’. A software program that qualifies on this paradigm offers 4 essential freedoms to its users.
- 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.
I consider a river to be a good metaphor to understand the philosophy of free software. The follow of a river symbolizes freedom. The source of a river is analogous to the software written from scratch by a programmer who believes in the above 4 freedoms and opts to distribute it (free of cost or fee) under GNU GPL. Now anyone who is interested in this water can consume it at his own risk i.e. under GNU GPL, he can receive a copy of the software in full and do anything with it. This includes using the software for a commercial purpose, either using it as such or by modifying or tinkering the same to suit his purpose. The risk is analogous to the lack of warranty on the received software. GNU GPL offers no warranty on the received software. The consumer is not obliged to share the software with anyone even if he has received it free of cost. It is only when the consumer decides to become part of the river i.e. when he opts to distribute the software further (as such or the modified version), the license expects him to distribute again in full. This is called ‘copyleft’ a very powerful license strategy to ensure the freedom does not get diluted downstream. There can be no further restrictions added to this software that is in violation with the GNU GPL license. The license is built around this very important paradigm and this is where some of its challenges are. If there is a conflict of any sort, the license expects the consumer to not distribute the software at all. It is either all or none and there is no half-truth whatsoever.
So how does free software differ from open source? I’m sure many of us (including me) think they are synonymous whereas it is not. A well thought out article on this topic is written by rms himself that can be accessed here. As it might be evident from this article, the philosophy of GPL and free software is very fundamental. It is not just about keeping the source code in a software open. While that sure has the practical benefits, the philosophy is much deeper. In a way, it is about asserting what is important for humanity (which is freedom) as well. Any movement that asserts something righteous and fundamental is most likely to be one that inconveniences the most. There is a possibility that the very people who were the intended beneficiaries could reject such a movement. I imagine Open Source to be an initiative (splintered off from Free software in 1998) that intended to address this problem. Open source attempts to get the practical benefits out to the user first before educating him on what is right to him in the first place. While free software is a social movement aimed to respect (and even remind him of) user freedom, Open source is a development methodology that asserts the philosophy that the only way software could be made better is by keeping it open and accessible. Interestingly rms calls them ‘free software activists’ and ‘open source enthusiast’ in his article.
Now I will cite some very specific contexts that have challenged GPL in the past and how GPL has evolved. I believe in all these contexts, rms has stood firm without compromising on the core philosophy. The first context – What if one has a restriction imposed that prevent him from distributing GPL-covered software in a way that respects other users’ freedom (for example, if a legal ruling states that he or she can only distribute the software in binary form). In such a setting, rms asserts the software not be distributed at all. This is the most important change as part of version 2 of GPL in 1991. Rms calls it ‘liberty or death’.
What if the software is open but the underlying hardware is restrictive? As part of GPL V3, this got addressed (tivoization) and GPL does not permit GPL covered software be installed on such a restrictive hardware. Again Free software considers laws around DRM (Digital Rights Management or Digital Restrictions Management) as restrictive. Here again rms has stood firm while some prominent open source proponents (like Linus Torvalds) have a differing point of view. Linus’s view is that software licenses should control only software.
What about Patents? GPL addressed this in version 3 as well. Free software philosophy does not encourage patents that too for software on general-purpose computers. If someone has a patent claim on software that is covered under GPL, which he wishes to distribute, GPL prohibits him from imposing a license fee, royalty, or other charge (specific to the patent claim) for exercise of rights granted under this License.
While rms’s views (on software) may not align with the vast majority and could also be inconvenient, when listened to, the philosophy cannot be proved incorrect. The problem with pure indulgence in general is that it blinds one momentarily of his judgment. Like any other thought, freedom along with one’s basic rights need to be remembered and exercised else they might just go away. In line with the famous quote – ‘the price of freedom is eternal vigilance’, in every aspect of GPL revision I do see vigilance. I think free software is a very important force and rms needs to be more than listened to.