We discussed some of the more recent developments with Richard Stallman, whose passion for freedom in computing remains intense. The following Q & A explores the goals of free software, progress that has been made, and ways to maintain or instill freedom in software that we use.
Q: In the past few years we have come to find a number of countries that have decided to embrace Free software as a matter of policy. Many people attribute such milestones to your travels around the globe.
Richard Matthew Stallman:
They may be focusing too much on me personally and giving insufficient credit to the rest of the movement. In Ecuador, I personally won the support of President Correa, but that’s the only such case I remember. In other countries, other people did most the persuasive work. For instance, the activists of FSF India persuaded the government of Kerala to begin the migration to free software; I could not have done that.
Q: How do you balance the need to preach to groups and individuals, including world leaders, and other important activities such as writing the GNU General Public License version 3 (GPLv3)?
It is only occasionally that I have a large project such as GPLv3. Most of my work consists of trying to spread awareness of the ideas of free software, and I do it mostly by answering emails such as yours.
The basic idea of the Free Software Movement is that the social conditions for use of software are vitally important — more important even than the software’s technical characteristics. A free program respects your freedom and the social solidarity of your community with four essential freedoms:
0. The freedom to run the program as you wish.
1. The freedom to study the program’s source code and then change it so the program does what you wish.
2. The freedom to distribute exact copies to others, when you wish.
3. The freedom to distribute copies of your modified versions to others, when you wish.
Everyone knows how to exercise freedoms 0 and 2. If you don’t know how to program, then you don’t know how to exercise freedoms 1 and 3; but when programmers do so, you can install their modified versions if you wish, so you get the benefits. You can also ask or pay programmers to make the changes you would like to use.
Q: Because software does not have a long history, your sources of inspiration appear not to include people whose life legacy is associated with software. Would you say that the nature of their impact has motivated you to address ethical and moral issues that are not necessarily related to software?
I was taught ideals of human rights growing up in the United States in the 60s, and then was inspired by the Civil Rights Movement and the Antiwar Movement. So I have cared about issues of freedom since before I began programming. Later I started working at the MIT Artificial Intelligence Lab and experienced the free software way of life. Then I took an unusual step: I connected the free software community’s way of life with the ideals of freedom I had learned. The result was the Free Software Movement, a movement to give computer users the freedom to cooperate and to control their own computing.
However, my focus on this particular issue of freedom doesn’t mean I’ve lost interest in others’ freedom issues. It’s simply that this issue dropped in my lap: I, as a software developer, had a responsibility to fight to end unethical practices in software development. If I did not do so, I would be a victim of them, and very likely at the same time a perpetrator.
In the past decade, I’ve tried to use the limited fame I’ve gained from the GNU system and the free software movement as a platform to take action on some other human rights and environmental issues, in stallman.org. I’m not one of the leaders on those issues but I’m glad I can help.
Q: Some of the more ubiquitous GNU/Linux distributions are ones that incorporate proprietary drivers and other proprietary software. When and where (in the system) is it acceptable to make short-term compromises in order to create a user base large enough to make Free software compelling for the entire industry to support? Is a so-called “critical mass” needed at all?
The central idea of the Free Software Movement is that you deserve the four freedoms, and that taking them away from you is wrong. If we were to grant legitimacy to certain non-free software merely because it is convenient, that would contract the central idea. It would be hypocritical, and it would defeat the whole point. You cannot advance the cause of freedom by legitimizing the denial of freedom.
The people that put non-free software into GNU/Linux distributions do so precisely because they are not concerned with users’ freedom. They are not supporters of the Free Software Movement, and they usually don’t speak about “free software” at all. Instead they talk about “open source”, a term coined in 1998 to duck the ethical issues of freedom and social solidarity and focus only on practical convenience. See http://www.gnu.org/philosophy/open-source-misses-the-point.html for more explanation.
Q: There are ongoing efforts and even complete projects that mimic Microsoft technologies and bring their functionality to GNU/Linux. How would you say one should handle the need to interact with peers who rely on Microsoft technologies while at the same time maintaining one’s freedom?
I am all in favor of implementing in free software the languages, file formats and protocols popularized by non-free software, when we can do so. However, in many cases these formats and protocols are secret, which means we must do difficult reverse engineering, or patented, which means that implementing them is prohibited. These legal obstacles to the development of free software are among the biggest threats we face.
Q: Recently, with various software patent deals, Microsoft has attempted to marginalize GNU/Linux by adding price and liability to certain distributions of it. What do you think would be the effect of embracing such distributions?
Interview: Richard Stallman
“A patent is an artificial government-imposed monopoly on implementing a certain method or technique.”
~ Richard Stallman
A meaningful discussion of software patents has to start by explaining what software patents are, and what they do.
A patent is an artificial government-imposed monopoly on implementing a certain method or technique. If the method or technique can be implemented by software, so that the patent prohibits the distribution and use of certain programs, we call it a software patent.
A large program implements thousands of methods and techniques together. Each one of them is an idea that might be patented, and thus represents a possible lawsuit against the program’s developers and its users. Thus, software patents make software development a dangerous activity. They are an absurd system and ought to be abolished entirely.
Free software is vulnerable to software patents, just like proprietary software and custom software (most of the software industry develops custom software).
I intend to do everything possible to stop Microsoft (or anyone) from converting free software into proprietary software through the use of software patents. Microsoft’s deal with Novell tried to do that, and we designed version 3 of the GNU GPL to thwart that scheme.
Q: Microsoft encourages developers to build Web sites that incorporate Silverlight. For GNU/Linux to be able to view Silverlight objects, Moonlight, which is built on top of Mono, needs to be downloaded from Novell’s Web site. Would you advise GNU/Linux users to install Moonlight and accept such changes in the World Wide Web?
Moonlight is free software, so I don’t see anything bad about installing Moonlight as such. It seems that the reason it needs to be downloaded from Novell’s web site is that it isn’t ready to be included in any GNU/Linux distros. However, I don’t know what Moonlight actually does.
What I can say in general is that we should continue to demand that web sites use standard (and unpatented) formats and protocols, and put pressure on those that don’t.
Q: What about Adobe Flash and its equivalent viewers, such as Gnash, which is Free software?
Flash illustrates the problems that arise when web sites use nonstandard proprietary formats. I am glad that Gnash, our free Flash player, is making progress, but we had to wait years for this.
People who don’t value their freedom are likely to lose it. This is just as true in computing as in other areas of life, and Flash is an example. Flash is inherently a problem because it requires a non-free plug-in. But how did the problem grow to a significant size? This happened because many web users installed the Flash plug-in without first checking whether it was free software. Their foolish disregard for their own freedom made them vulnerable.
The development of Gnash means we may be able to put an end to this particular outbreak of non-freedom. But if people don’t learn to stop installing non-free plug-ins, the web will be vulnerable to other outbreaks in the future. It is a lot less work to avoid these problems than to fix them. We need to teach people to refuse to install non-free plug-ins; we need to teach people to care more about their long-term interest of freedom than their immediate desire to view a particular site.
Q: Research shows that the GPLv3 is gaining acceptance. In the mailing lists of the Linux kernel, a hypothetical scenario was described where Linus Torvalds et al. might consider upgrading their kernel’s license to the GPLv3. This scenario involved Sun’s OpenSolaris (project ‘Indiana’) and its choice of a license. What would you say is the greatest advantage for a kernel — any kernel for that matter — in adopting the GPLv3?
Kernels (and other programs) don’t really matter — people do. So the issue here is how moving Linux to GPLv3 would affect the users of Linux, including the users of the combined GNU/Linux system.
The most relevant aspect of GPL version 3 is the prohibition on tivoization. Tivoization is the practice of building machines that come with free software preinstalled, and that are designed to shut down if you install a modified version of the free software. In effect, tivoization turns freedom 1 (the freedom to modify the program to make it do what you wish) into a theoretical fiction.
As long as Linux continues to be distributed under GPL version 2, manufacturers will be allowed to tivoize it and thus stop users from changing it and controlling their own computing. This is why Linux needs to move to GPLv3.
Interview: Richard Stallman
“The most relevant aspect of GPL version 3 is the prohibition on tivoization.”
~ Richard Stallman
Q: Simon Phipps (of Sun Microsystems) has spoken about the GPLv3 on numerous occasions and he even inquired to see what Bob Sutor, Vice President of Open Source and Standards at IBM, thought about it. If Sun decided to embrace the GPLv3 for its software, including OpenSolaris, would you be willing to endorse OpenSolaris?
OpenSolaris is already free software, and I can endorse it as such. If Sun releases it under GPLv3, that will be even better; however, when choosing between free programs, the main factor is practical.*
* [RMS added this comment later:] Since that interview I’ve learned that not all of OpenSolaris is free software; it is distributed with many non-free programs. I am not sure that the free parts can even run on their own. I cannot endorse OpenSolaris in its present form as a system to use.
Q: Linus Torvalds once referred to you as “the great philosopher” and he also argued that we should think of him as the engineer. He is clearly very focused on what he does so well. Do you believe that there are dangers that he is not aware of?
I am sure he is aware of the dangers. The problem is that there are some he doesn’t care about. For instance, he seems not to care about the danger to your freedom posed by tivoization.
Q: If you were allowed to have only one piece of software, what would it be, assuming that underlying components like an operating system were already provided?
There’s a confusion in the question, because all the programs I use are part of the GNU/Linux operating system. Even the games I sometimes play are included in the gNewSense distribution which I use.
But if the question is which single user-interactive program is most important to me, that is GNU Emacs. I spend most of my day using Emacs to edit files, to read mail, to send mail, to compile, to search files, and many other things. Of course, GNU Emacs is included in gNewSense, and in most of the GNU/Linux distributions. I developed GNU Emacs initially in 1984-5, specifically for the GNU system.