FB: What type of competition there will be between a complete
GNU/Hurd and GNU/Linux?
RMS: When GNU/Hurd is running reliably, it and GNU/Linux
will both be free operating systems (provided one does not add nonfree
packages to them). So the choice between them would be a purely practical
choice. I hope that the Hurd will offer increased power from its
architecture.
FB: This is a bit long to read ...
Quoting from The Hurd and
Linux:
When we started developing the Hurd in 1990, the question
facing us was, "How can we get a free kernel for the GNU system?'' There was no
free Unix-like kernel then, and we knew of no other plan to write one. The only
way we could expect to have a free kernel was to write it ourselves. So we
started.
Quoting from Linux and the GNU
Project:
Aside from GNU, one other project has independently
produced a free Unix-like operating system. This system is known as BSD, and it
was developed at UC Berkeley. It was non-free in the 80s, but became free in
the early 90s.
Quoting from Open
Sources: Voices from the Open Source Revolution:
The BSD originated networking code and supporting
utilities were released in June 1989 as Networking Release 1, the
first freely-redistributable code from Berkeley.
The licensing terms were liberal. A licensee could release the code
modified or unmodified in source or binary form with no accounting
or royalties to Berkeley. The only requirements were that the
copyright notices in the source file be left intact and that
products that incorporated the code indicate in their documentation
that the product contained code from the University of California
and its contributors. Although Berkeley charged a $1,000 fee to get
a tape, anyone was free to get a copy from anyone who already had
received it. Indeed, several large sites put it up for anonymous
ftp shortly after it was released. Given that it was so easily
available, the CSRG was pleased that several hundred organizations
purchased copies, since their fees helped fund further
development.
Reading these pages, I found something that I don't understand: if
BSD was already available in June 1989 with a free license, why didn't you
start with its kernel instead of writing Hurd from scratch? The same question
is valid for the choice of the Linux kernel in 1991.
RMS: Only parts of BSD were available in June 1989 with a
free license. Look carefully at what it says here:
The BSD originated networking code and supporting utilities were
released in June 1989 as Networking Release 1
The "BSD-originated networking code" is just a part of a kernel.
FB: What type of free license were those parts using?
RMS: I think it was the original BSD license, same as BSD
4.4 later, but I am not certain.
FB: Wasn't that BSD license free
enough?
RMS: This license does qualify as free software, but I
think it is not as good as some free software licenses because it doesn't
protect the freedom of all users. It allows middlemen to make the software
proprietary, which means they distribute the software to others but without the
freedom.
FB: Why have you chosen to write a new license (the
GPL)?
RMS: I think I see a confusion here. My decision to develop
GNU licenses had nothing to do with any of the BSD licenses. The BSD licenses
were used after the GNU GPL.
In 1985 or 1986 I visited the people at Berkeley CSRG and asked them to
please separate their work from the AT&T Unix code. I asked them to release
their code as free software rather than making it available only to AT&T
licensees. I did this because I wanted to be able to use BSD code in GNU.
FB: I know you are the founder of the free (as in freedom) software
movement; however, I don't understand how you could define as freedom all the
limits that the GPL imposes. For example you must make available modified source
code for software released to the public, and it must be under the same GPL. It
seems to my eyes that the BSD license gives
more freedom to users, developers, and businesses. Am I wrong?
RMS: This is what ensures that the users have the four
freedoms. The BSD licenses do not ensure this, and thus not all users have
these freedoms.
The BSD licenses (there were more than one of them) do not give more
freedom. What they offer, to those who can take advantage of it, is power:
power to deny others' freedom. That is not a good thing.
See this
page for more explanation.
FB: The first
GPL version dates from February 1989. A second version came out in June
1991. Why?
RMS: I don't remember what the specific changes were, but
you could compare the two versions and see. We made each change for a very
specific reason. It is like releasing version 1.2 of a program: you find bugs,
so you fix them.
FB: Is there any version 3 planned?
RMS: We are working on another version, but there are some
places where we are not sure of what is right to do.
FB: Why is the GPL so long and full of legalese?
RMS: The GPL is a legal document, so it is written in
legalese. Otherwise it would not work. It has the simplest words I could find
that unambiguously state these conditions clearly.
FB: On October 7, 2004, Jeff V. Merkey made the following
offer on the linux.kernel mailing
list:
We offer to kernel.org the sum of $50,000.00 US for a one
time license to the Linux Kernel Source for a single snapshot of a single Linux
version by release number. This offer must be accepted by **ALL** copyright
holders and this snapshot will subsequently convert the GPL license into a BSD
style license for the code. In other words, what we are asking for is the
ability to snapshot kernel.org at 50K a pop for a license to each 2.<even
number> release, then take any even number release private. This allows all
changes to a 2.<even number> release to be used for a particular release
per license without returning changes. This money will be made payable to
kernel.org and must be accepted by everyone.
What do you think about this offer?
RMS: It would be foolish for people to accept. Why let him
provide Linux to users without respecting their freedom? If I had contributed
to Linux, I would say no to him, and insist that he must respect the users'
freedom.
I have not written any part of Linux, but that's what I do regarding the
programs I have developed.
FB: Some developers promptly refused the offer, so it seems there
are no chances to see a BSD-licensed Linux snapshot.
RMS: Good on them!
FB: However, I'm wondering if this situation will change in the
future; after all, Linux already uses a proprietary software to manage its
source code. It could be a really bad example for the free software movement:
giving away freedom for money. Do you have any plan to be sure this would never
happen?
RMS: I can't see the future, but I would guess that the
people who said no this time will keep saying no.
Linus sets a bad example for the community by using nonfree software in
this prominent, public way. I criticized him on the linux.kernel list when he
did it, and I think that by raising the issue I helped dissuade other projects
from doing likewise--if so, that has reduced the harmful effects of this
example.
The FSF cannot do more than that in regard to Linux, since we are not
involved in development of that particular program.
FB: Today Linux is just a kernel, so you still have direct control
over other parts of the OS. That's why the name GNU/Linux for the complete
OS.
RMS: That isn't what the name GNU/Linux means; it has
nothing to do with that. The name GNU/Linux means that the system started out
as GNU, with Linux added.
Nowadays, the system includes thousands of packages developed by thousands
of developers, but at the base it is still GNU with Linux added.
FB: Thanks for this explanation. I think I wasn't the only one with
this wrong idea, because the Debian project
homepage states: "Debian uses the Linux kernel (the core of an operating
system), but most of the basic OS tools come from the GNU project; hence the
name GNU/Linux."
Have you ever thought that one day Linus Torvalds could
choose to become the leader of a GNU/Linux distribution?
RMS: No, because he has always said he isn't interested. If
he wants to do it, of course he is entitled to. Anyone can do this.
FB: Today the magic word in IT is Linux, and there's a lot of
confusion between the meaning of free software and open source, and Linux and
GNU/Linux. Don't you fear that GNU and the FSF could lose acknowledgment and influence in
that case?
RMS: The word fear is rather strong. What I feel is
concern about a real problem. The GNU Project loses influence when people
attribute our most important past work to someone else, and that reduces the
effectiveness of the work we do today.
Tens of millions of people now use an operating system that was developed as
a sustain campaign for freedom--something unique in the history of
computing--and they don't know it. The name Linux has never been associated
with making freedom the goal; that idea is associated with the name GNU. When
people think the system is Linux, they learn a false picture of why it was
developed. They think it was developed by Linus Torvalds, who wanted to learn
and have fun.
Both enjoyment and freedom can motivate people to develop free software;
each of these motivations can inspire people, if they know about it. I want the
users of GNU/Linux to know that the system exists for the sake of freedom,
because then some of them will be inspired to join in defending our freedom.
There are never enough defenders of freedom in the world.
FB: As you said, there are "never enough defenders of freedom in the
world"; however, DistroWatch.com counted
more than 350 GNU/Linux
distributions. Don't you think that this is a dispersion of
resources?
RMS: There is a certain amount of waste, but not as much as
you would think. Many, probably most of these distros are derived from other
distros, and maintaining a derived distro is not a lot of work.
FB: How would you define Apple's Darwin? Both proprietary
and open source?
RMS: Darwin is currently free software, not proprietary.
(It is also open source.)
However, two years ago some of the code in Darwin had a different license.
It was open source, but it was not free software.
FB: I was looking at the operating systems market of the past few
years. I think that every Mac OS X
release keeps adding innovations that improve the experience of its users, but
I don't see this type of improvements in any commercial (Red Hat, Mandrake, Novell/SuSE ...) GNU/Linux
distribution. It seems to me that these big companies build a complete product
simply putting together the result of various external projects. They take
Linux (the kernel!), GCC, and other GNU
utilities, XFree/X.Org, KDE/Gnome,
and so on. Where are the innovations for the user?
RMS: Your last question embodies the assumption that
innovation is what we want and freedom is secondary. I think it's just the
opposite: freedom is most important, and innovation is nice as long as we
maintain our freedom.
I never asked myself whether free software would mean more innovation,
because what I want is freedom. Free software is software that respects your
freedom. Proprietary software denies the user freedom. If proprietary software
is innovative, I still won't use it. I've fought for 20 years for my freedom
and yours, and I won't give it up just for the sake of convenience.
Innovation is good when it respects people's freedom, but bad when it is
bait for people to give up their freedom.
FB: I was talking about business companies that already defend
freedom releasing free software, so freedom is already there. They can innovate
or not. That's just an aspect of business. They could prefer to spend money on big
marketing ads.
The only suspicion was that the GPL could be a deterrent to
innovations.
RMS: The GPL prohibits nonfree modifications. The only
"innovations" which the GPL might interfere with are those that would be
nonfree. Do you see a problem in that? I don't. If a program is nonfree, it
is an attack on social solidarity. I am glad if I can prevent that program from
being developed.
FB: I read that Microsoft
claimed that GPL
kills innovation for businesses.
RMS: The GPL is designed to protect the freedom of free
software. It says that modified versions of the software must be free as well.
This is what Microsoft does not like. Microsoft thinks it should be entitled
to use our work in its own products--even when those products are
proprietary.
Microsoft won't let us use their source code in our programs, but they think
we are obliged to let them use our source code in their programs. Microsoft
says, "What's mine is mine, and what's yours is mine."
But will our protection of the users' freedom prevent certain innovations?
Perhaps. When an innovation would come only at the cost of our freedom, the GPL
says no. Is that a bad thing? That depends on your values.
If all you value is innovation, and you don't value your freedom, then you
might consider it a bad thing that the GPL firmly protects the users' freedom.
If, on the other hand, you value freedom, you will be glad that the GPL
prevents unscrupulous software developers from using some tempting innovation
as bait for users to give up their freedom.
Since I am determined to keep my freedom, I won't use nonfree software. So
if your innovation would be nonfree software, please don't write it. Please do
something else, something that won't deny users their freedom.
FB: Microsoft's
CEO Steve Ballmer said, "About
three years ago, we made software security a top priority." Is software
security a primary goal of GNU?
RMS: I would not say that, but we do try to make it
secure.
FB: Why hasn't GCC included any
memory protection technology (PDF) yet?
RMS: I will ask the GCC developers to take a look at these
methods and report to me about the possibility of installing one or more of
them in GCC.
FB: After reading the paper I've sent you, what do you and GCC developers plan to
do?
RMS: They are now prepared to work with the people who
wrote ProPolice. I
hope the result will be to install ProPolice, but it will take some time.
FB: Does the GNU Project accept and recognize standards, such as IEEE standards and de facto
standards?
RMS: We follow all standards when doing so is useful for
users. However, we do not treat them as authorities, merely as suggestions.
When it is more convenient for the users if we depart from a standard, we do
so.
For instance, the C standard "requires" that the compiler print a diagnostic
for many kinds of input that doesn't fit the syntactic rules of the standard.
GCC has various C extensions that give meaning to some cases that don't fit the
syntactic rules of the standard. It does not print any diagnostic when you use
them. This therefore conflicts with the standard.
For the sake of correct compilation of all standard C programs, I added an
option called --ansi to turn off syntactic extensions. But even
that doesn't print an error message for all cases where the standard demands
one. So I added --pedantic also. To get the behavior demanded by
the standard, you must specify --pedantic --ansi.
We say that there is no reason to use --pedantic; it is just
there to satisfy pedants who would otherwise say, "This isn't really an ANSI C
compiler!"
Some GNU utilities such as df and du do not follow
the POSIX spec unless you set the environment variable
POSIXLY_CORRECT. Normally GNU df and du
print disk space figures in units of k. POSIX says to print disk space figures
in units of 512 bytes. If you set POSIXLY_CORRECT, GNU
df and du do that. (My original plan was to name it
POSIX_ME_HARDER.) I would guess that very very few users set
POSIXLY_CORRECT.
If users don't like these decisions (or any others we make), they are free
to change them.
Copyright (c) 2004, Federico Biancuzzi.
Verbatim copying and distribution of this entire article are permitted worldwide, without royalty, in any medium, provided this notice is preserved.