Freedom, Innovation, and Convenience: The RMS Interview
by Federico Biancuzzi
12/22/2004
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.
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:
- It has a more powerful design and that will provide some advantages.
- 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.
[1] [2] Next