LinuxDevCenter.com
oreilly.comSafari Books Online.Conferences.

advertisement


Freedom, Innovation, and Convenience: The RMS Interview
Pages: 1, 2

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.

Federico Biancuzzi is a freelance interviewer. His interviews appeared on publications such as ONLamp.com, LinuxDevCenter.com, SecurityFocus.com, NewsForge.com, Linux.com, TheRegister.co.uk, ArsTechnica.com, the Polish print magazine BSD Magazine, and the Italian print magazine Linux&C.


Return to the Linux DevCenter.


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.java.net
  • Linux Kernel Archives
  • Kernel Traffic
  • DistroWatch.com


  • Sponsored by: