GNU's Not Linux
Founder of the Free Software Foundation talks about the free Unix upstart and how software wants to be free.
Nearly 20 years ago, Richard M. Stallman, a programmer in MIT's research lab, wanted to modify some Xerox printing software to notify lab workers when the printer was jammed or out of paper. But Xerox wouldn't release the source code. That incident eventually led Stallman to found the GNU (GNU's Not Unix) project to create a free rival to the Unix operating system.
When Stallman uses the word "free," he's not referring to monetary value. For Stallman, and other members of the Free Software Foundation, free software means software that can be modified and shared, without any restrictions. Stallman calls all other software "proprietary," and he'll have none of it.
By the beginning of this decade, many aspects of the GNU system were in place, but the kernel, the core OS functionality, was not. A Finnish student named Linus Torvalds built a kernel to work with many components of the GNU system, giving the world Linu.
Stallman spoke last week with Network World Senior Editor Robin Schreier Hohman from his Foundation offices at the MIT lab in Cambridge, Mass.
Q. How do you feel when you read that Linux was invented eight years ago by Linus Torvalds...
A. They're mistaken. Help spread the real story.
Q. What did you think when you read that?
A. I'm disappointed that they have it wrong. I think that they ought to give the GNU project credit for what it did. Linus Torvalds did an important job and he should get credit for that. But we should get credit, too.
Q. I haven't seen him speak about the GNU project, either.
A. Well, he never would. Why would he? He didn't do his work as part of the GNU project, it just turned out to be useful together with the GNU system.
Q. But he couldn't have done it without the GNU project.
A. No. You wouldn't have a whole system if we hadn't made it. Now he developed one very important component, the central component, in fact, and a major one. But even one, major essential component is a small part of the system. And so the reason we have a whole system is because of the GNU project, whose purpose was to make a whole system. I don't believe (he) was trying to make a whole system. I've been told he wanted to learn about kernels, and so he wrote a kernel. Now the kernel is a necessary part of the system, and it's a hard job. But there are other necessary parts of the system that are also hard jobs, and the GNU project was working at sort of the next higher level up because we wrote various programs, but those were just steps in developing the system, which was our real goal.
Q. Is it fair to say most everything in Linux that isn't the kernel comes from GNU?
A. It isn't right to call that Linux. Linux is the kernel, and none of it comes from GNU. That's Linus Torvalds' thing. But it's also not the case that everything else in the system was developed by the GNU project. This wasn't a project to make pieces. It was a project to make a whole system. Now if you're making a whole free system, it's logical to use whatever existing individual programs could turn out to be useful, and we found plenty of programs that existed that could pressed into service as part of the GNU system and we didn't have to write one, so we didn't, because our goal was to produce a whole system, not to write every individual piece of that system.
So what we have is many different people who wrote individual free programs for one reason or another, which turned out to be usable as part of the system. And then you have one project that was different. The GNU project. Because it wasn't just writing a program to do this job, or a program to do that job. The GNU project actually was the one that was aiming to make a whole system. And that's why we have this system.
Q. So what people call Linux...
A. It's really the GNU system. With Linux put in as the kernel. I call it GNU slash Linux, to express that it's a combination of the GNU system and Linux, and because ... it would be querulous to try to deny Linus credit.
Q. Are you friends with Torvalds?
A. I don't know him very well. I've only met him a few times.
Q. Have you ever asked him why it's not called GNU/Linux?
A. No, I haven't. We disagree so much on philosophical issues. Because of that and because of the general feeling I've gotten when I have spoken to him, that I've chosen not to raise that issue with him. I don't think he'd be sympathetic.
Q. You say why would Torvalds give GNU credit? Because it's the truth.
A. I just don't have that feeling. I don't know what he would say. I don't want to try to speak for him.
Q. How come you haven't been more vocal then once Linux hit the...
A. Well, I am vocal, but I'm vocal in other places. With other people. We have this Web page and I get into discussions on the 'Net about it from time to time, and I talk about it whenever I give a speech.
Q. Are most people surprised? Or do most people who come to hear you know this?
A. They're surprised. They would never have guessed what the actual history was, because they're all being told a story that doesn't fit that. It's the ambiguity that's the real killer.
Q. Is there a quick way to describe what the kernel is?
A. The kernel is the part of the system that keeps track of all the other programs that are running separate from each other. You start a program, well the kernel creates a process and it loads the program, and it keeps the various processes separate from each other so that each one can have its own memory. And it also takes care of reading and writing files. So the kernel is definitely a central and an essential component, but there are a number of central and essential components. Some people compare the kernel to the heart of the system. Which is in some ways accurate because it can't live without a heart, but you also can't live without lungs, and you can't live without a stomach, and you can't live without kidneys, and you can't live without a brain and you can't live without a liver. So there are many essential organs in the system.
Q. And it was just a matter of time before the kernel was developed?
A. I'm sure that's so. On the other hand, I wouldn't want to denigrate a person for having written the kernel. I wouldn't want to denigrate the contribution that that is. Somebody else would have done it, but in fact he did it. The point is that there's a difference between writing an essential component, writing a program that turns out to be an essential component of the system and undertaking the larger goal of making a whole system.
Q. Now you use GNU/Linux? You use the kernel?
A. Yes, with a slash. Because the meaning of the slash is two things juxtaposed.
Q. Do you think at any point in time just the kernel would have set in motion everything that's happened with Linux in the past six months?
A. I don't think so. Without the whole system you don't have something you can run. What you have is pieces that you can use with something else. The crucial thing was to have a whole system. And that actually happened a few years ago, because the kernel was the last missing piece. So once there was a kernel there was everything.
Q. And what do you think accounts for the sudden corporate focus on it?
A. Who knows? I can't account for what interests people. The usage is increasing, and Eric Raymond has done an effective amount of calling attention to free software, although he calls it a different name. But the result is, it's normal. If a movement gathers speed, if you look one year it may get much more interest than it got the previous year. It may turn out to be a fad, or it may e sustainable. I don't know.
Q. Do you think part of it is an anti-Microsoft backlash?
A. It might be. You know, from my point of view, of course, Microsoft is a side issue. But a lot of people are looking for some way to fight Microsoft, and Microsoft is, some people say, looking for an excuse to claim that they don't have a monopoly, and so by talking about how scared they are of "Linux," maybe they figure that then they'll get away with convincing people that they're not a monopoly and nothing should be done to them.
To me, Microsoft in particular is just a side issue. The issue is, do people have freedom to share and change software or not? Proprietary software is based on subjugating the user. If you're only interested in short-term material things, then maybe it seems worthwhile to be subjugated for awhile and you get a job done. Maybe you feel it's worthwhile to be subjugated all your life, and you get a job done.
But I think it's more important a question how we're going to live, what kind of society we're going to have, and the society of proprietary software use isn't the kind of society I want to be part of. And that's why I founded the GNU project: To make a free operating system. I want to have nothing to do with proprietary software.
Q. Can you estimate the number of people who have worked on GNU in the past 15 years?
A. No way I can know. I might be able to count the number of people in the volunteers file, but how many of them have done a lot of work, I don't know. There probably are thousands, but I don't know how many of them have done real work, and not everybody who's done real work is in there.
Q. The MIT Technology Review article, is that accurate?
A. No, there are many, many, many errors. Don't believe anything in there without checking it.
Q. Do you have carpal tunnel syndrome?
A. I never had carpal tunnel syndrome. I had hand problems.
Q. Are you able to code now?
A. Yes. Because it turns out my problem is not carpal tunnel syndrome, and the things that help it are not things that help carpal tunnel syndrome. It turns out for me a keyboard with a light touch is what I need, and I have keyboards with a light touch so I can now do my own typing. But I couldn't for a number of years. When I found suitable keyboards, and they're not funny shaped keyboards or anything, they're ordinary shaped keyboards, they just have keys you don't have to push very hard.
Q. So tell me about GNOME.
A. GNOME is part of the GNU project.
Q. And that's tasked to come up with a graphical user interface?
Q. How is that different from KDE?
A. There are a couple of differences. KDE is based on C++. We don't like C++ so we set it up such that you can use various languages. You can use C++ if you want with GNOME, but we don't assume that you're going to write C++. It's to a large extent based on Scheme, which is a dialect of LISP. LISP being the most powerful and cleanest of languages, that's the language that's the GNU project always prefers.
The toolkits that you have to use, those have bindings from various different languages, so you can take your choice. Another difference is that KDE is based on a library called QT, and recently the developers of QT announced a change in licensing which makes it free software. I don't know whether they've actually released it under this new license or not. But until a while ago, it was simply not free software, and this meant that KDE was useless for free software. Because in order to run it you had to use a non-free program. So that was totally unacceptable. In fact a large amount of the impetus for starting GNOME was to get out of the trap that was formed by KDE. Here you had a large number of free software developers pushing the use of a non-free program, and actively recruiting more people to get involved. It was producing a bad result. And so we had to do something about it. And what we did, well a couple of things. We started a project to make a compatible replacement for QT, and also started GNOME.
Q. When was GNOME started?
A. A year and a half ago.
Q. Do you have an idea of how this will spur acceptance of GNU/Linux?
A. I can't really predict the future. I hope it will is all I can say. I want it to.
Q. When you speak to people who are using it or developing it, is this something there's a big cry for?
A. Oh, yes. It's clear that we need this. Unix always had the reputation of being hard to learn, and the goal of GNU was to make a system that was compatible with Unix. And that's what we got. So it's as powerful as Unix and it's as easy to learn as Unix. So we needed to make it easier to learn.
Q. What do you think of companies like Red Hat and Caldera?
A. For the most part Red Hat is doing a good thing. They're raising money by distributing free software and they're spending it on developing more. The thing I don't think is right that Red Hat does is when they put the non-free software on a disk. They do have a set of disks called the Red Hat Power Tools which are all free software. So if you want to buy Red Hat, buy that.
Q. But some of the software is non-free?
A. On their most popular distribution, yes, some of it is not free. And that's why I say you shouldn't get that. If you want to buy the system from Red Hat, buy the version that doesn't have the non-free software.
Q. And what about Caldera?
A. Caldera is much worse. They put on a lot more non-free software. It plays a more important role in their version of the system. So I'd say the best of these distributions is Debian. Because Debian has a fairly firm and codified policy about free software. Red Hat doesn't have as firm a policy, but they have taken a stand. They said they wouldn't include any non-free software in the core of the system.
Q. And S.u.S.E.?
A. They're the worst. They're a little better than they used to be, but their policy used to be that they wanted to mix in the free and the non-free software as seamlessly as possible, and do their best to prevent any of their customers from thinking about the difference. They didn't want to burden anybody with thinking about freedom or right and wrong. They just wanted to say oh, look at all these convenient things that our system can do. I pointed this out to them and they said that was a goal. Well, supposedly a newer version does give you a way to install only the free software. I haven't seen the details.
Q. Tell me about the origins of GNU, with you and Xerox.
A. That was when it hit home to me what it was like to be using proprietary software. Xerox wouldn't give the lab the source code, and as a result we were unable to add the feature that it would notify people when the printer was down and ask tem to go fix it, when it ran out of paper, or jammed. We wanted to add a thing saying where it would find the people looking for a printout and tell them, hey, the printer got stuck, go fix it. Because that way it would get fixed, and it would keep printing. Then what happened was, I found out about somebody who had the source code for that program, and I went to ask him for a copy and he refused to give it to me.
A. He told me he had promised not go give me a copy. And it's worse than that, he promised not to give you a copy too. He had promised non-cooperation to me, to you, and to just about everybody in the world. The reason that this was significant was that when somebody asked me to sign a nondisclosure agreement, I remembered what it was like to be the victim of one, and I said I can't do that.
Q. And what were you working on at the time?
A. At that time, I was working for MIT, improving the system, I saw that there was a problem, that the printer was painful to use because it would be jammed a lot of the time, and it wouldn't get fixed. And so people would have to wait a very long time for their printouts. It shouldn't have taken so long. So I wanted to solve the problem, and I was blocked from solving it by Xerox. By Xerox's refusal to let us have the wherewithal to fix the problem. Because the source code was secret.
Q. Was this in '83, '84?
A. That was earlier, that was probably '81, maybe, '82, I don't know exactly. '83 I know was too late because that's when I was thinking about the GNU project already.
Q. But how do people make a living then?
A. First of all, that's a secondary question.
Q. But it's a real question.
A. No, the important, if a person says I can only make a living by being antisocial, that's no excuse. Or if a person says the only way I can make a living as a programmer is by doing this anti-social thing, then the response is well go find another job. There are millions of people who aren't programmers in the U.S., it's not as if anybody faced the choice of either be a programmer or die. If a person did face that choice I'd forgive it. If somebody took a gun and pointed at me and said write proprietary software or I'll shoot, I think under those circumstances, I'd be justified in writing some proprietary software, although I think that it would be very buggy and would never get to work reliably.
Q. But you're not against selling software.
A. Think of the precise definition of selling. The Free Software Foundation sells free software. I'm not against selling at all. I'm against restricting the user. Selling software is exchanging a copy for money. And I have absolutely nothing against that. But typically the businesses that do that also restrict the user. And that I won't accept. The result is that if they're going to restrict the user, then I won't accept their software. I won't pay for it and I wouldn't' take it gratis either.
Q. But you wouldn't have a problem, say, with a software company that didn't restrict the user, but at the same time sold the software?
A. Absolutely. In fact, I'm the president of a non-profit organization that does precisely that.
Q. And that's the Free Software Foundation.
Q. So you wouldn't have a problem with Microsoft if they opened the source code of everything?
A. If they made it free software...and please don't use the term "open source" when you're talking about the GNU project because we don't endorse that. But,. Yeah, if Microsoft wanted to become a free software company and make its money by selling support, I'd wish them success.
The thing that I have against Microsoft is that the make non-free software, the same thing I have against Sun, the same thing I have against just about any software company you could name. I don't think most people you will find are very angry at Microsoft in particular, I'm not. I do disapprove of Microsoft, but for the same reason I disapprove of all their competitors. So it's a very different outlook for me saying that the others are just as bad.
Q. What about Netscape?
A. Well, Netscape has done something which is not simple. Netscape has made a version of the browser free software, and I think that's good. On the other hand, Netscape has proprietary software products such as the server. And I don't think that's good. When somebody or some company is doing several different things, I'm going to have to judge each action on its own. I'm not going to just judge one and say this makes them good or bad regardless of whatever else they do.
Q. I was interested in reading when you said about the SPA and piracy and things like that. I think both ways about it. If I give you a copy of Office 97, it's a copy you might not have bought, or you may have bought it. So in one sense, you are depriving Microsoft of revenue, in another you're not.
A. I basically don't think it matters whether I deprive Microsoft or somebody else of revenue. In other words, I don't think that that should be the determining factor in what kind of society was live in.
Q. But it's almost as if you say that we have a right to software.
A. We have a right to share software with each other, yes.
A. Because that's a natural act of friendship and nothing justifies restricting it. You know, the default is that I don't have to show a reason why we do deserve that right. The burden of proof is on the other side, who wants to restrict us.
Q. We don't have a right to use someone else's products or anything that they own.
A. Well, I don't know. There you're begging the question. Currently, there is a policy of setting up monopolies for programs and kind of abstract property, which is a restriction on what other people can do with them. I don't believe that's justified, and I won't accept it. That's why I decided to develop free software.
Q. When you make the distinction between free beer as opposed to free software, does that mean you have no problem with buying hardware?
A. Not at all. It's a totally different issue. It's an interesting thing that the words that people use lead to distorted thinking. Many people think that when they're talking about something like copyright it's the same issue as whether somebody should be allowed to own a sandwich, except for a different kind of thing. That's mistaken. It's actually a different kind of issue for the same thing. Let me explain. Imagine there's a CD-ROM. That CD-ROM might belong to somebody, it might be your property. What does that mean? It means it would be wrong for somebody else to take that CD-ROM. Now, let's look at the question of the software on it is free. That's a totally different question. That's about whether somebody should be allowed to copy that CD-ROM. One is it right if somebody takes away the CD-ROM, the other is it right if somebody copies it. These are two different issues about the same thing.
Q. An analogy would be, if I wrote a book, you have no right to take that book, the physical paper.
A. Exactly. If you have a copy of a book, and I took it away from you and didn't give it back to you, it would be wrong. You wouldn't be able to read it. You wouldn't be able to lend it to somebody. You'd be hurt.
Q. But then what about as the author, my being hurt you copying that book and giving it to someone else?
A: You're not being hurt. You may not be getting what you wish you would get, but the idea that that's hurting you, well that's based on...to call that hurting the author is presupposing an answer to the question. And I don't accept that answer to the question. Now, you've got to realize that copyright in the U.S. isn't based on those arguments anyway. The Constitution rejects those arguments. According to the Constitution, copyright is not an entitlement. That view was rejected when the Constitution was written. Instead, copyright is an artificial restriction designed to promote progress.
So the question is, is that progress you promote this way worth the problems that are caused. And remember that copyright was initially set up in the age of the printing press. In the age of the printing press, the problems were minimal because ordinary readers didn't own printing presses. They didn't really lose anything through copyright. It didn't restrict anything they could do. It only restricted things publishers and authors could do. So that's what makes copyright a good bargain. Copyright is considered a bargain. The public gives up its natural right to copy things, and the justification for this is supposed to be the benefit of the increased progress.
Well, that was okay with the printing press technology, precisely because we were giving up rights that we couldn't effectively make use of, so it was no loss. And it didn't make society ugly. It didn't really affect the nature of society at all, for readers. But that's not true now, in the age of computer networks, the effect of copyright restrictions is different. Instead of being a restriction on publishers alone, it's now a restriction on readers. And that's what makes it bad. It now has a harmful effect that it didn't have before.
If we went back to the age of the printing press, I wouldn't be against copyright. I would say, oh gee, this looks like a good bargain because we're really not giving up anything at all. But once you've got a computer and a network, then you're giving up something tremendously important. Which is the ability to do the most natural kind of cooperation with your friends.
Explains this desktop development effort.
Spotlight: Microsoft and open-source software
See what publisher Tim O'Reilly has to say.