Richard Matthew Stallman (rms) is a prolific programmer from the Computer Science and Artificial Intelligence Lab at MIT who was responsible for the original Emacs, as well as the GNU compilers. He has dedicated his working life to the Free Software Movement. He wrote the software tools needed to create his free GNU operating system (which stands for ‘GNU’s Not Unix’), and founded the Free Software Foundation (FSF) to look after its development. He describes himself as a an activist and hacker. Without his energy and inspiration, Linux as we know it could never have existed. GNU and software from the Free Software movement is used by millions of people around the world.
The Free Software movement has an additional political agenda that includes the freedoms of speech, press, and association on the Internet, the right to use encryption software for private communication, and the right to write software unimpeded by commercial organisations.
But ideals breed their own beliefs and the free software movement was split in 1998 when Eric Raymond of the FSF, and others created a definition of ‘open source’ to replace the ‘free software’ terminology. Their intention was to throw away Stallman’s ethical baggage and, instead, promote open source as a powerful and efficient software development methodology.
Stallman insists that Free Software is still a social movement.
‘We are fighting for freedom. We are campaigning for social solidarity. Freedom and social solidarity are our goals. Proprietary software is evil because it attacks freedom and social solidarity. When a program is proprietary, that means that the social system of its distribution and use is unethical.’
Stallman graduated from Harvard in 1974 with a BA in physics. During his college years, he also worked as a staff hacker at the MIT Artificial Intelligence Lab, learning operating system development by doing it.
He wrote the first extensible Emacs text editor there in 1975. He also developed the AI technique of dependency-directed backtracking, also known as truth maintenance. In January 1984 he resigned from MIT to start the GNU project.
- “Richard could you remind me what free software means?”
- “Free software means software that respects your freedom. There are four freedoms that the user of a program deserves:
- Freedom 0: freedom to run the program as you wish.
- Freedom 1: freedom to study the source code, and change it to make the program do what you wish.
- Freedom 2: freedom to redistribute exact copies when you wish.
- Freedom 3: freedom to distribute copies of your modified versions
when you wish.
These freedoms give the users control over the program, both individually and collectively, and so that they control their own computing.
A non-free (proprietary) program gives its developer power over its users, and this is a social problem. People should know better than to stand for this, but use of proprietary software is deeply ingrained in society and many cannot resist the social pressure to join in. By developing free software that does the same jobs, and other jobs too, we help computer users escape from proprietary software.
The aim of the free software movement is that all software should be free, so that all software users will be free.”
- “How do you define the GNU System ? ”
- “In 1983, all operating systems for modern computers had become proprietary software. Since a computer is no use for everyday purposes without an operating system, this meant that it was impossible to buy a new computer and use it in freedom.
As an operating system developer, I saw a way to change this state of affairs: I could write another operating system and make it free software.
This name expresses the fact that GNU is similar to Unix, a powerful operating system that was popular at the time. But Unix was (and is) proprietary, so the code of Unix was off-limits for us. We had to write all new code for GNU.
In 1991, we had almost finished the GNU system, but the kernel was missing. Mr Torvalds in Finland wrote Linux, and subsequently in 1992 made it free software. The combination of GNU and Linux became the first free operating system that could run on a PC. This GNU/Linux combination is what most free software users run.”
- “What is the relationship between GPL and GNU/Linux?”
- “The GNU General Public License, or GNU GPL for short, is one of many different free software licenses. Each of them makes a program free, but they do so with different rules. I wrote the GNU GPL for use in the GNU Project but designed it so that other projects can use it too.
What is special about the GNU GPL is ‘copyleft’. The GNU GPL says that when you distribute copies (either exact copies, as in freedom 2, or modified, as in freedom 3), you must pass along the four freedoms as well as the code. Specifically, you must make the source code available, and you may not change the license.
By contrast, many other free software licenses permit the distribution of non-free copies as well as that of free copies. If you get the program under that license, you do have freedom. But those licenses permit others to make the program proprietary, so that by the time it reaches you, it might not come with freedom any more.
I wanted to establish and defend freedom, so I decided to write a free software license that would actively defend freedom for every user. The GNU GPL is designed to make sure every copy of every version of the program comes with freedom.
The GNU system includes many programs we developed for GNU and miscellaneous free programs from other projects. The former are nearly all under the GNU GPL (once in a while there is a strategic reason to use another license). Many of the latter are covered by the GNU GPL also, since we designed it so any developer can use it, but some of those programs have other licenses. Linux, the kernel, uses version 2 of the GNU GPL, a somewhat old version.”
- “Are you disappointed that Linux hasn’t moved to GPLv3? And are you surprised?”
- “I am very disappointed, because using GPL version 2 leaves Linux vulnerable to an insidious attack on the user’s freedom. We call it ”tivoization”, and it is used in products such as the Tivo and the Amazon ‘Kindle’.
These products contain copies of programs distributed under GPL version 2. The manufacturers deliver the source code, as required by GPL version 2, and you can make changed versions of that source code. But that is only of theoretically use, since the products refuse to run your modified version. The hardware is specially designed so that if you install a modified version, it recognizes that it is modified, and refuses to run at all. In effect, ‘tivoization’ reduces freedom 1 to a theoretical fiction.
When I wrote GPL version 2, in 1991. the danger of ‘tivoization’ had never occurred to me. As far as I know, no one had ever done tried ‘tivoization’ as of 1991. So I did not think about the issue, and wrote nothing in GPL version 2 to prevent the practice. I became aware of the issue somewhere around 2000, and after a few years of reflection, concluded that ‘tivoization’ of a program, practically speaking, makes the program non-free.
Part of the basis of this conclusion was the fact that ‘tivoization’ is often used to reinforce another malicious practice known as Digital Restrictions Management or digital handcuffs. This refers to designing products to restrict their users. For instance, the Tivo and the Kindle are both designed to restrict users’ access to their own files. The companies which do this recognize that users will try to remove the handcuffs. ‘Tivoization’ functions as the prison guard to stop you from rubbing the file against them.
DRM is a systematic, organized attack on computer users. If ‘tivoization’ was an important weapon in the attacker’s arsenal, we could not dare treat it as unimportant.
Thus, one of the many improvements I decided on in GPL version 3 (written 2005-2007) was to bar ‘tivoization’. More precisely, it says that if the manufacturer has a key to authorize new software versions for installation, it must give you the key, so you can authorize your
GPL version 3 has many unrelated improvements (see http://www.gnu.org/licenses/rms-why-gplv3.html), but this is the one that Torvalds rejects.”
- “Is the contrast between free software and open source still meaningful, do you think?”
- “It is more important than ever. I wrote GPL version 3 to protect users from ‘tivoization’ because I’m a free software activist, and Torvalds chose to leave the users vulnerable to ‘tivoization’ because he’s an open source supporter.
The basic idea of the free software movement is that users deserve freedom. The basic idea of open source is that developers cooperating can make the program do its job more reliably. At the base, they are totally different, so seems like an amazing coincidence that the two different ideas lead programmers to do the same work, much of the time.
Except it isn’t a coincidence. The founders of open source, in 1998, sought a way to keep the development practices of the free software community while discarding the ethical philosophy that they were based on. ‘Better quality’ is what they came up with.
While programmers work together on a free program, their motives and values may make no direct difference. As long as the program does respect users’ freedom, it does not matter whether the people who improve it care about freedom or only ‘better quality’.
But once in a while you run into a case where an easy way to make the program “better” involves discarding the freedom. Then the difference between these two philosophies is crucial. For instance, the software in the Tivo and the Kindle is designed to handcuff you. ‘Better quality’
handcuffs mean less chance you can escape.
Nowadays Torvalds’ version of Linux contains non-free binary-only firmware programs (called ‘blobs’) which Torvalds found convenient to include. We have to maintain our own version of Linux, which we call Linux Libre, in which we delete these blobs, so that it will be free software.”
- “What would you define as the major initiatives you started since the creation of the Free Software movement?”
- Launching the movement in 1983.
- Launching development of the GNU system, 1984.
- The first copyleft, 1985.
- The Free Software Foundation, 1985.
- GNU C Compiler, 1987.
- The GNU General Public License, version 1, 1989.
- Launching the political fight against interface copyright, 1989.
- Launching the political fight against software patents, 1990.
- GNOME (our graphical interface environment) started, 1997.
- GNU Free Documentation License, 2000.
- Convincing Ecuador’s president to choose free software, 2006.
- GNU GPL version 3 in 2007.
- Encouraging launch of AdBard (ads that exclude proprietary software), 2009″
- “What do you think of Cloud Computing?”
- “That term is so vague, so nebulous, that it’s not useful. It really means ‘using the Internet somehow’. It sounds more specific than that, but it is just a false appearance.
There are many ways to use the Internet — some problematical, some ok. To make a meaningful statement we need to talk about a more specific topic.
One specific topic worth mentioning is called ‘Software as a Service’. This means that you put your data on someone else’s computer and do your computing with his copy of some software. This is like using proprietary software in that you can’t control your computing, so we should reject Software as a Service.”
- “Are too many people still worshiping technology without really caring about the social consequences of using it?”
- “I’m afraid so – but society leads people in this direction. Most of the magazines that discuss computers and software focus on practical convenience only and do not raise ethical questions.”
- “Has GPL outlived its usefulness?”
- “The GPL will outlive its usefulness if, some day, the idea of making a proprietary modified version of a free program seems absurd, and no one would think of trying. We have not reached that point today.
You have probably heard that around half the world’s web servers are based on Apache. The usual version of Apache is free software, but many of those sites are running a modified version which is not free. All those sites are using the Apache code, but only some of them have freedom.
Cases like these show we still need defenses against attempts to make free software proprietary.”
- “If you were invited to sit down with Steve Ballmer, Lary Ellison and Steve Jobs what would you talk to them about? Do you particularly admire any one of them? ”
- “I am not sure I would accept the invitation. To tell them what I think of them – that their business is unethical since it is based on dividing and subjugating the users – would not achieve anything. They are hardened types and surely wouldn’t change their practices on account of my disapproval.
Listening to them would not be useful either; they would tell me nothing that could help the free software cause except by mistake, and they are too sharp for to make such mistakes often. Such a long shot isn’t worth trying.
Speaking with you is much more useful. Your readers may go away from this article thinking about the freedom that non-free software takes away from them, and some may start acting so as to defend their freedom. If that happens, I will have achieved something.”