oreilly.comSafari Books Online.Conferences.


Freedom, Innovation, and Convenience: The RMS Interview

by Federico Biancuzzi

Around 20 years ago a programmer at MIT quit his job to develop a complete and free Unix-style operating system--the GNU system. That programmer was Richard Stallman, also known as rms, the founder of the Free Software Foundation.

Since 1984 he has fought for software freedom and created the concept of free software. Software is considered free if users have the following four freedoms:

  • The freedom to run the program, for any purpose (freedom 0).
  • The freedom to study how the program works and adapt it to your needs (freedom 1). Access to the source code is a precondition.
  • The freedom to redistribute copies so you can help your neighbor (freedom 2).
  • The freedom to improve the program and release your improvements to the public, so that the whole community benefits (freedom 3). Access to the source code is a precondition.

Copyleft licenses protect these four freedoms. The most prominent license is the GNU General Public License, which allows the author to retain a copyright and permits redistribution and modification under terms designed to ensure that all modified versions of the software remain under copyleft terms.

In this period of threats to freedom, Federico Biancuzzi interviewed this freedom paladin.

FB: GNU/Linux (the complete OS!) is probably the most known free software project. What do you think about the fact that Linux (the kernel!) uses a proprietary program to manage its source code?

RMS: It is unfortunate when anyone uses proprietary software. Using it publicly for the development of a prominent free software package is particularly unfortunate, because it sets a bad example for the community.

Related Reading

Linux Pocket Guide
By Daniel J. Barrett

FB: Isn't there any free alternative under development?

RMS: There are already free programs that do the same basic job. Linus Torvalds feels they are not convenient enough, and he values convenience more than he values standing firm for freedom. I think that is leading the community in the wrong direction.

As part of the GNU Project, Tom Lord is developing a new free source control system called Arch, which we hope will outdo the proprietary ones.

But just because we are competing with proprietary software on issues of technical merit doesn't mean we think people should choose the program for source control based on technical qualities alone. That would mean assigning zero value to freedom itself. If you value freedom, you will resist the temptation to use a program that takes away your freedom, whatever technical advantages it may have.

FB: What do you think about proprietary software? Does it have low quality? Is it unsecure? Does it restrict freedom too much? Is it unethical?

RMS: Proprietary software is unethical, because it denies the user the basic freedom to control her own computer and to cooperate. It may also be of low quality or insecure, but that's a secondary issue. I will reject it even if it is the best quality in the world, simply because I value my freedom too much to give it up for that.

FB: Would you accept a federal law in the United States to enforce the distribution of source code with every type of software?

RMS: I am not calling for such a law as of now, but I think that would be a valid consumer protection measure--like requiring food products to publish the list of ingredients.

Of course, some software companies would object to this, just as some food companies resisted the requirement to publish the ingredients and nutritional information. The question should not be up to them.

FB: Which license do you think should be chosen?

RMS: I don't understand that question clearly. Chosen by whom, for what?

FB: I mean if such a law were to pass, which license do you think the government should impose for software source code?

If the government gives any company freedom to choose or write a license for its source code, probably most of them will be very restrictive, something like "look but don't touch."

RMS: The question was about a hypothetical law requiring "every type of software to be distributed with its source code." This would not require any particular license for that source code; it would only require that the user get the source code. How users can use the source code is a separate question.

To consider that question, we have to start by asking ourselves what might limit the user in his use of said source code. The answer is, only government-enforced restrictions such as copyright law and contracts. So if the government wants to ensure that all source code is free software, it doesn't need to intervene to achieve this. It need only stop intervening to make the source code nonfree.

FB: Do you think it's a good idea to port a free software project to a proprietary OS such as Windows?

RMS: Porting free applications to nonfree operating systems is often useful. This allows users of those operating systems to try out using a few free programs and see that they can be good to use, that free software won't bite them. This can help people overcome worries about trying a free operating system such as GNU/Linux. Many users really do follow this path.

However, we need to be careful to avoid suggesting that the purpose of free applications is to be used on a proprietary system in that way. Using free applications is a step forward, but it doesn't take you all the way to freedom. To reach that destination, we need to avoid the proprietary software that denies users their freedom.

FB: Don't you think that having all those tools free of charge will let common users on that platform?

RMS: I don't quite understand this question, but I should mention that "free software" means "software libre." It is not necessarily "free of charge." There are companies that sell thousands of copies of free software every month.

FB: I do know the difference between free as "free beer" and free as in "freedom." This question is about "free beer." There are a lot of free software that comes free of charge. What I want to underline is the fact that most of the proprietary software for proprietary operating systems costs money. Imagine a common computer user, one that doesn't even know about software licenses. He bought his new computer and paid $100 for Windows. Now he would be able to use, free of charge, a lot of free software. Why should he try GNU/Linux? You say "freedom."

RMS: Yes, and I will keep saying "freedom." The advantages of saving money are sufficiently obvious--people don't need me to explain that. However, our age emphasizes money so much that people sometimes forget to value freedom. That is something we need to remind them about.

FB: OK, but how can we explain to him that he should change his OS because his current one doesn't provide the source code under a free-software license? He doesn't even know what source code is!

RMS: Free software is controlled by the users. When you get a copy, you own it.

If you buy a house, you are free to change it. If you don't know how to change it yourself, you can hire a carpenter or a plumber to change it for you. The same with software. Every user can take advantage of the the freedom to change the software. If it's free, you can persuade your cousin the programmer to change it for you, or you can hire someone.

Nonfree software is controlled by its developer. The developers often implement malicious features--for example, to spy on the user or to restrict the user. Sometimes they keep the malicious features secret. But they also figure that people will be so desperate for the software that they will accept it even with malicious features. Users can't remove the malicious features, because they don't have the source code.

This cannot happen with free software, because free software is controlled by the users. If ever a free program had a malicious feature, any programmer could remove the malicious feature and release a modified version--and all users would choose that version, including nonprogrammers. You won't have to make this change yourself, because someone else will have done the job for you before you get it.

The users of free software also decide how to develop it. On most issues, most users want the same thing. Sooner or later, some user who knows how to program, or has money to pay for changes, will make the changes that you want.

FB: What is your opinion on the fact that Linux (the kernel!) supports binary drivers without too many problems? I'll make an example: the OpenBSD project didn't support Atheros wireless chips because they require a binary HAL provided with an incompatible license for their goals and policy. They act consistently. Do you think that Linux (the kernel!) should try a similar rigorous approach?

RMS: Yes! And so should the developers of GNU/Linux distributions. This is very important.

FB: Do you think that hardware manufacturers should make public all the datasheets, docs, specifications, and details about their products? Something like free (as in freedom) hardware?

RMS: If a hardware developer won't tell you how to use the hardware they sell you, don't buy it.

I am not campaigning for laws that would require all software to come with source code, but I do think that governments should require all new computer hardware that is sold commercially to come with full specifications.

FB: Would you sign and promote a petition or an initiative for free access to hardware specifications?

RMS: I'd endorse any sort of nonviolent democratic political activity to promote such a law.

FB: It seems that Sun Microsystems wants to release Java source code. Do you think that a language such as Java could spread more if it were covered by the GPL?

RMS: I think that's a secondary question. Whether a particular programming language becomes more or less popular is just a technical issue. That Sun's Java platform is nonfree is a social, ethical issue--more important than a merely technical issue.

We're not waiting for Sun to start respecting our freedom. We're developing free replacements for all the various parts of the Java platform. We don't have all the features yet, but you can write and run Java programs.

If you develop a Java program on Sun's Java platform, it won't really be platform-independent; it will depend on a specific proprietary platform. If you use our Java platform to develop it, then it really will run on all platforms.

FB: Don't you think that the problem is who controls its development and with what aim?

RMS: The problem with proprietary software is that a specific developer controls its development--you, the user, do not. Every nonfree program has a lord, a master--and if you use the program, he is your master.

Different masters have different aims; some masters are nicer than others. However, comparing one master with another is a distraction from the real issue, which is liberty. Liberty means is not having a master. With free software, you do not have to worry about what aims the master has for developing the program, because you are free to decide for yourself.

FB: What do you think about reports that Sun Microsystems will create an open source project around its Solaris 10 operating system?

RMS: I am not sure what that means concretely, and I do not advocate open source. If Sun makes Solaris free software, then it will be respecting the users' freedom. That is the right thing to do. Making Solaris free would be a substantial contribution to the free software community, but since we already have software (GNU/Linux) that does more or less the same thing, it would not be a major contribution such as OpenOffice was or as freeing Java would be.

FB: Do you think to promote something like a fork or maybe replace Hurd with its kernel?

RMS: I do not understand that question. Fork of what? Replace Hurd with whose kernel?

FB: I was talking about replacing the Hurd kernel with the Solaris 10 kernel (obviously only if free software).

RMS: This would be possible, but I don't see a purpose in it. There is already a free kernel that works quite well with the GNU system--namely, Linux. Why would we want to replace it with the kernel of Solaris?

FB: For the same reason GNU develops Hurd?

RMS: When we started developing the Hurd, there was no free kernel. Our motive was to get a free kernel.

Since we now have a free kernel that works, namely Linux, it's no longer essential to develop the Hurd. We are continuing to work on it for two reasons:

  1. It has a more powerful design and that will provide some advantages.
  2. It would be a GNU kernel, from the GNU Project.

Neither of these advantages applies to the idea of using Solaris.

FB: What is the status of Hurd development?

RMS: The Hurd runs, but not reliably. The developers are working on it slowly now, although one is arranging to get funds to work on it a substantial fraction of his time. The developers have concluded that Mach is unreliable as a microkernel and that they need to transplant the Hurd to L4 instead. But this requires substantial rewrites.

Pages: 1, 2

Next Pagearrow

Linux Online Certification

Linux/Unix System Administration Certificate Series
Linux/Unix System Administration Certificate Series — This course series targets both beginning and intermediate Linux/Unix users who want to acquire advanced system administration skills, and to back those skills up with a Certificate from the University of Illinois Office of Continuing Education.

Enroll today!

Linux Resources
  • Linux Online
  • The Linux FAQ
  • Linux Kernel Archives
  • Kernel Traffic

  • Sponsored by: