GNU GPL Creator Richard Stallman on the Meaning of 'Free'
Oct 15, 2007 4:00 AM PT
"Free software" is a term that's often used interchangeably with "open source," and often understood simply to mean software that is obtained without charge. However, the idea of free software is neither about openness nor about price; it is a matter of freedom, and its implications extend into the political, philosophical and ethical realms.
So argues Richard Stallman, founder of the Free Software Movement, author of the GNU General Public License (GNU GPL), and initial developer of the GNU operating system which is the basis of today's GNU/Linux system.
LinuxInsider recently spoke with the 54-year-old Stallman -- also known simply as "rms" -- about free software, the GPL, the Microsoft effect, and what it all means for users.
LinuxInsider: What is free software, and why is it important?
Richard Stallman: "Free software" means software that respects the user's freedom. To understand the word "free" in "free software," think of "free speech," not "free beer." More specifically, there are four essential freedoms that every software user ought to have, and these freedoms also form the definition of "free software":
1. the freedom to run the program as you wish;
2. the freedom to study the source code and then change it so that the program does what you wish;
3. the freedom to help your neighbor -- that is, to distribute copies to others -- when you wish; and
4. the freedom to contribute to your community -- that is, the freedom to distribute copies of your modified versions -- when you wish.
With these four freedoms, you are free to control your computing; without them, the program's developer controls what you do. With these four freedoms, you and your community are free to cooperate; without them, the developer keeps the users divided and helpless.
A free program develops democratically under the control of its users. A proprietary -- non-free -- program develops under the dictatorial control of the developer, so the only way to be free is to stop using it.
The aim of the Free Software Movement, which I founded in 1983, is to escape from non-free software. You, too, can escape to freedom.
LinuxInsider: What is the GNU operating system?
Stallman: To implement our goal of escaping from non-free software, we needed somewhere to escape to. In concrete terms, we needed a free software operating system so we could run computers without any non-free software. So, in 1983, I announced the plan to develop a Unix-like operating system called "GNU" -- for "GNU's Not Unix."
In the '70s, proprietary -- non-free -- software became the usual case, but there was still some free software in 1983, such as the text formatter TeX. There were free software licenses under which those programs were released. There were also instances where a program had originally been free, but the modified version that was really usable had been made non-free by someone who extended and redistributed it.
If that were to happen to the GNU system, it would defeat the whole purpose. So I came up with a way to design a free software license to ensure that all versions of GNU programs -- even modified or extended versions -- would bring freedom to every user. This technique is called "copyleft." In brief, it says that all distributions of any version of the program must respect the four freedoms.
I experimented with copyleft licenses during the '80s by releasing GNU packages under them. In 1989, I released the first version of the GNU General Public License, which was designed so that any developer could easily release a program under that license. In 1992, GNU was mostly complete, but it lacked a kernel. In that year, Mr. [Linus] Torvalds made the kernel Linux free software by releasing it under the GNU GPL. The combination of GNU and Linux, the GNU/Linux operating system, was the first available free operating system for modern computers.
LinuxInsider: In a nutshell, what is the purpose of the GNU GPLv3?
Stallman: The purpose of releasing code under the GNU General Public License is to defend the essential freedoms for all users of all versions of the code. That was the purpose of GPL version 1, and that is the purpose of GPL version 3. The changes are in the details -- see my article, "Why Upgrade to GPLv3" for an explanation of those changes.
LinuxInsider: What part did Microsoft play in the creation of this important license?
Stallman: Microsoft's inadvertent role was to demonstrate one kind of threat that we had to design GPLv3 to defend against, by making its deal with Novell.
Many computer users tend to equate Microsoft with evil, but that is a mistake. Yes, Microsoft develops non-free software, and yes, that is evil, but Microsoft is only one company among many that do this, and it is wrong no matter who does it. To harp on Microsoft often leads people to disregard the rest. There are many companies that are looking for a chance to make free software proprietary. The GNU GPL's job is to defend your freedom as a user, regardless of who might try to take it away.
LinuxInsider: What do you think is the effect of Microsoft's assertion in July that it is exempt from the GPL?
Stallman: None at all. Microsoft cannot exempt itself from a program's license requirements by fiat. It also cannot exempt itself from the requirements of its deal with Novell. That deal involves Microsoft in the distribution of Novell's version of the GNU/Linux system, and when software under GPL version 3 is included in it, Microsoft will be subject to its requirements.
LinuxInsider: What do you think needs to happen next in order to resolve this conflict?
Stallman: The point of the GPLv3 conditions that apply to the Novell/Microsoft deal is to give the rest of the community a defense against Microsoft's patent threats. If these conditions do their job, the result will be that Microsoft never goes beyond threats, and the community is safe. Of course, programs not licensed under GPLv3 won't be protected this way. If Linux remains under GPLv2 only, for example, this protection will not cover Linux, even if it does apply to other parts of the GNU/Linux system.
LinuxInsider: I know there are a number of distinctions to be made among GNU/Linux, open source and free software. Will you clarify them?
Stallman: Free software includes all programs that give you the four freedoms, but GNU/Linux is a specific operating system of which many variants exist. It is possible, though misguided, for a free program to run only on Windows, but that program could not be part of GNU/Linux. GNU/Linux is not the only free operating system; there is also BSD.
During the '90s, the GNU/Linux system became popular among geeks, many of whom were fascinated by technology and preferred not to see issues in political terms. They praised the system for its power, flexibility, reliability, efficiency, and the absence of license fees. They appreciated the consequences of freedom but did not understand it in political terms as freedom. By the mid '90s, the community was divided between those who advocated freedom and those who appreciated only its practical consequences.
In 1998, the latter group adopted the term "open source" instead of "free software." Along with this term, they adopted a way of addressing the subject that focuses on collaborative development and does not raise issues of right and wrong. Naturally, business was glad to help bury those issues. Since 1999, the U.S. press usually has refused to mention the term "free software" or the ethical issues it refers to.
The work of open source supporters on development models is useful, and if you are going to participate in a software project, you would do well to learn from it. But the study of development models is no substitute for the defense of freedom and democracy, and that substitution is what open source stands for. Thus, I have decided not to participate in events or activities that focus primarily on open source. My time is scarce, and I want to use it to promote freedom and democracy.
LinuxInsider: So much of the community has embraced the interchangeable use of those terms -- free software/Linux/open source. What do you think it will take to alter this widespread practice, and what would the benefits be?
Stallman: Linux is just one component of the GNU/Linux system, which is, in turn, just a part of the world of free software. You'll have no chance of understanding or explaining anything about the Free World if you don't keep those distinctions straight.
What we achieve by distinguishing free software from open source is to call attention to issues of freedom.
To establish lasting freedom, we need to teach people to appreciate it and demand it. Life offers frequent opportunities to lose your freedom, and there are always scoundrel politicians ready to take it from you in order to "protect" you from the danger du jour -- currently "terrorists." The frequent reminders to be on guard against it lead people to exaggerate the magnitude of the danger and neglect other dangers, such as losing your freedom.
To resist these tempting opportunities to sell our freedom, we need firmness of will -- but even more fundamental, we need to know what freedom means. That's what the Free Software Movement explains. If we do this job sufficiently, the result may be that we win and maintain freedom.