Mike Uretsky: I’m Mike Uretsky. I’m over at the Stern School of Business. I’m also one of the Co-Directors of the Center for Advanced Technology. And on behalf of all of us in the Computer Science Department, I want to welcome you here. I want to say a few comments, before I turn it over to Ed, who is going to introduce the speaker.
The role of a university is a place to foster debate and to have interesting discussions. And the role of a major university is to have particularly interesting discussions. And this particular presentation, this seminar falls right into that mold. I find the discussion of open source particularly interesting. In a sense. . . . [audience laughs]
Richard M. Stallman: I do free software. Open source is a different movement. [audience laughs] [applause]
Uretsky: When I first started in the field in the 1960’s, basically software was free. And we went in cycles. It became free, and then software manufacturers, in the need to expand their markets, pushed it in other directions. A lot of the developments that took place with the entry of the PC moved in exactly the same kind of a cycle.
There’s a very interesting French philosopher, Pierre Levy, who talks about movement to this direction and who talks about the move into cyberspace as not only relating to technology but also relating to social restructuring, to political restructuring, through a change in the kinds of relationships that will improve the well-being of mankind. And we’re hoping that this debate is a movement in that direction, that this debate is something that cuts across a lot of the disciplines that normally act as solace within the University. We’re looking forward to some very interesting discussions. Ed?
Ed Schonberg: I’m Ed Schonberg from the Computer Science Department at the Courant Institute. Let me welcome you all to this event. Introducers are usually, and particularly, a useless aspect of public presentations, but in this case, actually, they serve a useful purpose, as Mike easily demonstrated, because an introducer for instance, by making inaccurate comments, can allow [the speaker] to straighten out and correct and [audience laughs] sharpen considerably the parameters of the debate.
So, let me make the briefest possible introduction to somebody who doesn’t need one. Richard is the perfect example of somebody who, by acting locally, started thinking globally–from problems concerning the unavailability of source code for printer drivers at the M.I.T. AI Lab many years ago. He has developed a coherent philosophy that has forced all of us to reexamine our ideas of how software is produced, of what intellectual property means, and what the software community actually represents. Let me welcome Richard Stallman. [applause]
Free Software: Freedom and Cooperation
Richard M. Stallman: Can someone lend me a watch? [audience laughs] Thank you. So, I’d like to thank Microsoft for providing me the opportunity to [audience laughs] be on this platform. For the past few weeks, I have felt like an author whose book was fortuitously banned somewhere. [audience laughs] Except that all the articles about it are giving the wrong author’s name, because Microsoft describes the GNU GPL as an open source license, and most of the press coverage followed suit. Most people, of course just innocently don’t realize that our work has nothing to do with open source, that in fact we did most of it before people even coined the term “open source.”
We are in the free software movement, and I’m going to speak about what the free software movement is about, what it means, what we have done, and, because this is partly sponsored by a school of business, I’ll say some things more than I usually do about how free software relates to business, and some other areas of social life.
Now, some of you may not ever write computer programs, but perhaps you cook. And if you cook, unless you’re really great, you probably use recipes. And if you use recipes, you’ve probably had the experience of getting a copy of a recipe from a friend who’s sharing it. And you’ve probably also had the experience–unless you’re a total neophyte–of changing a recipe. It says certain things, but you don’t have to do exactly that. You can leave out some ingredients. Add some mushrooms, ’cause you like mushrooms. Put in less salt because your doctor said you should cut down on salt – whatever. You can even make bigger changes, according to your skill.
And if you’ve made changes in a recipe, and you cook it for your friends, and they like it, one of your friends might say, “Hey, could I have the recipe?” And then, what do you do? You could write down your modified version of the recipe and make a copy for your friend. These are the natural things to do with functionally useful recipes of any kind.
Now a recipe is a lot like a computer program. A computer program is a lot like a recipe: a series of steps to be carried out to get some result that you want. So it’s just as natural to do those same things with computer programs–hand a copy to your friend. Make changes in it because the job it was written to do isn’t exactly what you want. It did a great job for somebody else, but your job is a different job. And, after you’ve changed it, that is likely to be useful for other people. Maybe they have a job to do that’s like the job you do. So they ask, “Hey, can I have a copy?” Of course, if you’re a nice person, you’re going to give a copy. That’s the way to be a decent person.
So imagine what it would be like if recipes were packaged inside black boxes. You couldn’t see what ingredients they’re using, let alone change them, and imagine if you made a copy for a friend, they would call you a pirate and try to put you in prison for years. That world would create tremendous outrage from all the people who are used to sharing recipes. But that is exactly what the world of proprietary software is like. A world in which common decency towards other people is prohibited or prevented.
Now, why did I notice this? I noticed this because I had the good fortune in the 1970’s to be part of a community of programmers who shared software. Now, this community could trace its ancestry essentially back to the beginning of computing.
In the 1970’s, though, it was a bit rare for there to be a community where people shared software. And, in fact, this was sort of an extreme case, because in the lab where I worked, the entire operating system was software developed by the people in our community, and we’d share any of it with anybody. Anybody was welcome to come and take a look, and take away a copy, and do whatever he wanted to do.
There were no copyright notices on these programs. Cooperation was our way of life. And we were secure in that way of life. We didn’t fight for it. We didn’t have to fight for it. We just lived that way. And, as far as we knew, we would just keep on living that way. So there was free software, but there was no free software movement.
But then our community was destroyed by a series of calamities that happened to it. Ultimately it was wiped out. Ultimately, the PDP-10 computer, which we used for all our work, was discontinued. Our system—the Incompatible Timesharing System—was written starting in the ’60’s, so it was written in assembler language.
That’s what you used to write an operating system in the ’60’s. So, of course, assembler language is for one particular computer architecture; if that gets discontinued, all your work turns into dust—it’s useless. And that’s what happened to us. The 20 years or so of work of our community turned into dust. But before this happened, I had an experience that prepared me, helped me see what to do, helped prepare me to see what to do when this happened, because at a certain point, Xerox gave the Artificial Intelligence Lab, where I worked, a laser printer, and this was a really handsome gift, because it was the first time anybody outside Xerox had a laser printer. It was very fast, printed a page a second, very fine in many respects, but it was unreliable, because it was really a high-speed office copier that had been modified into a printer. And, you know, copiers jam, but there’s somebody there to fix them. The printer jammed and nobody saw. So it stayed jammed for a long time.
Well, we had an idea for how to deal with this problem. Change it so that whenever the printer gets a jam, the machine that runs the printer can tell our timesharing machine, and tell the users who are waiting for printouts, go fix the printer–because if they only knew it was jammed. . . of course, if you’re waiting for a printout and you know that the printer is jammed, you don’t want to sit and wait forever, you’re going to go fix it.
But at that point, we were completely stymied, because the software that ran that printer was not free software. It had come with the printer, and it was just a binary. We couldn’t have the source code; Xerox wouldn’t let us have the source code. So, despite our skill as programmers–after all, we had written our own timesharing system–we were completely helpless to add this feature to the printer software. And we just had to suffer with waiting. It would take an hour or two to get your printout because the machine would be jammed most of the time. You’d wait an hour figuring “I know it’s going to be jammed. I’ll wait an hour and go collect my printout,” and then you’d see that it had been jammed the whole time, and in fact, nobody else had fixed it. So you’d fix it and you’d go wait another half hour. Then, you’d come back, and you’d see it jammed again–before it got to your output. It would print three minutes and be jammed thirty minutes. Frustration up the whazzoo. But the thing that made it worse was knowing that we could have fixed it, but somebody else, for his own selfishness, was blocking us, obstructing us from improving the software. So, of course, we felt some resentment.
And then I heard that somebody at Carnegie Mellon University had a copy of that software. I was visiting there later, so I went to his office and I said, “Hi, I’m from MIT. Could I have a copy of the printer source code?” And he said “No, I promised not to give you a copy.” [audience laughs] I was stunned. I was so–I was angry, and I had no idea how I could do justice to it. All I could think of was to turn around on my heel and walk out of his room. Maybe I slammed the door. [audience laughs] And I thought about it later on, because I realized that I was seeing not just an isolated jerk, but a social phenomenon that was important and affected a lot of people.
I was lucky, I only got a taste of it. Other people had to live with this all the time. So I thought about it at length. See, he had promised to refuse to cooperate with us–his colleagues at MIT. He had betrayed us. But he didn’t just do it to us. Chances are he did it to you too [Pointing at member of audience]. And I think, mostly likely, he did it to you too. [Pointing at another member of audience]. [audience laughs] And he probably did it to you as well [Pointing to third member of audience]. He probably did it to most of the people here in this room–except a few, maybe, who weren’t born yet in 1980. Because he had promised to refuse to cooperate with just about the entire population of the planet Earth. He had signed a non-disclosure agreement.
Now, this was my first direct encounter with a non-disclosure agreement, and it taught me an important lesson–a lesson that’s important because most programmers never learn it. This was my first encounter with a non-disclosure agreement, and I was the victim. I, and my whole lab, were the victims. And the lesson it taught me was that non-disclosure agreements have victims. They’re not innocent. They’re not harmless. Most programmers first encounter a non-disclosure agreement when they’re invited to sign one. And there’s always some temptation–some goody they’re going to get if they sign. So, they make up excuses. They say, “Well, he’s never going to get a copy no matter what, so why shouldn’t I join the conspiracy to deprive him?” They say, “This is the way it’s always done. Who am I to go against it?” They say, “If I don’t sign this, someone else will.” Various excuses to gag their consciences.
But when somebody invited me to sign a non-disclosure agreement, my conscience was already sensitized. I remembered how angry I had been when somebody promised not to help me and my whole lab solve our problem. And I couldn’t turn around and do the exact same thing to somebody else who had never done me any harm. If somebody asked me to promise not to share some useful information with a hated enemy, I would have said yes. If somebody’s done something bad, he deserves it. But strangers–they haven’t done me any harm. How could they deserve that kind of mistreatment? You can’t let yourself start treating just anybody and everybody badly. Then you become a predator on society. So I said, “Thank you very much for offering me this nice software package. But I can’t accept it in good conscience, on the conditions you are demanding, so I will do without it. Thank you so much.” And so, I have never knowingly signed a non-disclosure agreement for generally useful technical information such as software.
Now there are other kinds of information, which raise different ethical issues. For instance, there’s personal information. If you wanted to talk with me about what was happening between you and your boyfriend, and you asked me not to tell anybody–I could agree to keep that a secret for you, because that’s not generally useful technical information.
At least, it’s probably not generally useful [audience laughs]. There is a small chance–and it’s a possibility though–that you might reveal to me some marvelous new sex technique, [audience laughs] and I would then feel a moral duty [audience laughs] to pass it on to the rest of humanity, so that everyone could get the benefit of it. So, I’d have to put a proviso in that promise. If it’s just details about who wants this, and who’s angry at whom, and things like that soap opera. . . that I can keep private for you; but something that humanity could tremendously benefit from knowing, I mustn’t withhold. You see, the purpose of science and technology is to develop useful information for humanity to help people live their lives better. If we promise to withhold that information–if we keep it secret–then we are betraying the mission of our field. And this, I decided, I shouldn’t do.
But meanwhile my community had collapsed, and that left me in a bad situation. You see, the whole Incompatible Timesharing System was obsolete, because the PDP-10 was obsolete, and so there was no way that I could continue working as an operating system developer the way that I had been doing it. That depended on being part of the community, using the community’s software and improving it.
That no longer was a possibility, and that gave me a moral dilemma. What was I going to do? Because the most obvious possibility meant to go against that decision I had made. The most obvious possibility was to adapt myself to the change in the world. To accept that things were different, and that I’d just have to give up those principles and start signing non-disclosure agreements for proprietary operating systems, and most likely writing proprietary software as well. But I realized that that way I could have fun coding, and I could make money–especially if I did it other than at MIT–but at the end, I’d have to look back at my career and say, “I’ve spent my life building walls to divide people,” and I would have been ashamed of my life.
So I looked for another alternative, and there was an obvious one. I could leave the software field and do something else. Now I had no other special noteworthy skills, but I’m sure I could have become a waiter. [audience laughs] Not at a fancy restaurant; they wouldn’t hire me, [audience laughs] but I could be a waiter somewhere. And many programmers, they say to me, “The people who hire programmers demand this, this, and this. If I don’t do those things, I’ll starve.” It’s literally the word they use. Well, as a waiter, you’re not going to starve. [audience laughs] So, really, they’re in no danger. But–and this is important, you see–sometimes you can justify doing something that hurts other people by saying otherwise something worse is going to happen to me. If you were really going to starve, you’d be justified in writing proprietary software. [audience laughs] If somebody’s pointing a gun at you, then I would say, it’s forgivable. [audience laughs] But I had found a way that I could survive without doing something unethical, so that excuse was not available. I realized, though, that being a waiter would be no fun for me, and it would be wasting my skills as an operating system developer. It would avoid misusing my skills. Developing proprietary software would be misusing my skills. Encouraging other people to live in the world of proprietary software would be misusing my skills. So it’s better to waste them than misuse them, but it’s still not really good.
So for those reasons, I decided to look for some other alternative. What can an operating system developer do that would actually improve the situation, make the world a better place? And I realized that an operating system developer was exactly what was needed. The problem, the dilemma, existed for me and for everyone else because all of the available operating systems for modern computers were proprietary. The free operating systems were for old, obsolete computers, right? So for the modern computers–if you wanted to get a modern computer and use it, you were forced into a proprietary operating system. So if an operating system developer wrote another operating system, and then said, “Everybody come and share this; you’re welcome to this”—that would give everybody a way out of the dilemma, another alternative. So I realized that there was something I could do that would solve the problem. I had just the right skills to be able to do it. And it was the most useful thing I could possibly imagine that I’d be able to do with my life.
And it was a problem that no one else was trying to solve. It was just sort of sitting there, getting worse, and nobody was there but me. So I felt, “I’m elected. I have to work on this. If not me, who?” So I decided I would develop a free operating system, or die trying…of old age, of course. [audience laughs] Of course I had to decide what kind of operating system it should be. There are some technical design decisions to be made. I decided to make the system compatible with Unix for a number of reasons. First of all, I had just seen one operating system that I really loved become obsolete because it was written for one particular kind of computer. I didn’t want that to happen again. We needed to have a portable system. Well, Unix was a portable system. So if I followed the design of Unix, I had a pretty good chance that I could make a system that would also be portable and workable. And furthermore, why not be compatible with it in the details.
The reason is, users hate incompatible changes. If I had just designed the system in my favorite way–which I would have loved doing, I’m sure–I would have produced something that was incompatible. The details would be different. So, if I wrote the system, then the users would have said to me, “Well, this is very nice, but it’s incompatible. It will be too much work to switch. We can’t afford that much trouble just to use your system instead of Unix, so we’ll stay with Unix,” they would have said.
Now, if I wanted to actually create a community where there would be people in it, people using this free system and enjoying the benefits of liberty and cooperation, I had to make a system people would use, a system that they would find easy to switch to, that would not have an obstacle making it fail at the very beginning.
Now, making the system upward compatible with Unix actually made all the immediate design decisions, because Unix consists of many pieces, and they communicate through interfaces that are more or less documented. So if you want to be compatible with Unix, you have to replace each piece, one by one, with a compatible piece. So the remaining design decisions are inside one piece, and they could be made later by whoever decides to write that piece. They didn’t have to be made at the outset.
All we had to do to start work was find a name for the system. Now, we hackers always look for a funny or naughty name for a program, because thinking of people being amused by the name is half the fun of writing the program. [audience laughs]
And we had a tradition of recursive acronyms, to say that the program that you’re writing is similar to some existing program. You can give it a recursive acronym name that says: this one’s not the other. So, for instance, there were many Tico text editors in the ’60’s and ’70’s, and they were generally called something-orother TECO. Then one clever hacker called his Tint, for Tint Is Not TECO–the first recursive acronym. In 1975, I developed the first Emacs text editor, and there were many imitations of Emacs, and a lot of them were called something-or-other Emacs, but one was called Fine, for Fine Is Not Emacs, and there was Sine, for Sine Is Not Emacs, and Eine for Eine Is Not Emacs, and MINCE for Mince Is Not Complete Emacs. [audience laughs] (That was a stripped-down imitation.) And then Eine was almost completely rewritten, and the new version was called Zwei, for Zwei Was Eine Initially. [audience laughs]
So, I looked for a recursive acronym for Something is not Unix. And I tried all 26 letters, and discovered that none of them was a word. [audience laughs] Hmm, try another way. I made a contraction. That way I could have a three-letter acronym, for Something’s not Unix. And I tried letters, and I came across the word “GNU”—the word “GNU” is the funniest word in the English language. [audience laughs] That was it. Of course, the reason it’s funny is that according to the dictionary, it’s pronounced “new.” That’s why people use it for a lot of wordplay. Let me tell you, this is the name of an animal that lives in Africa. And the African pronunciation had a click sound in it. [audience laughs] Maybe still does.
And so, the European colonists, when they got there, they didn’t bother learning to say this click sound. So they just left it out, and they wrote a ‘g’ which meant “there’s another sound that’s supposed to be here which we are not pronouncing.” [audience laughs] So, tonight I’m leaving for South Africa, and I have begged them, I hope they’re going to find somebody who can teach me to pronounce click sounds, [audience laughs] so that I’ll know how to pronounce GNU the correct way, when it’s the animal.
But, when it’s the name of our system, the correct pronunciation is “guh- NEW”—pronounce the hard ‘g’. If you talk about the “new” operating system, you’ll get people very confused, because we’ve been working on it for 17 years now, so it is not new any more. [audience laughs] But it still is, and always will be, GNU–no matter how many people call it Linux by mistake. [audience laughs]
So, in January 1984, I quit my job at MIT to start writing pieces of GNU. They were nice enough to let me keep using their facilities though. At the time, I thought we would write all these pieces, and make an entire GNU system, and then we’d say, “Come and get it,” and people would start to use it. That’s not what happened. The first pieces I wrote were just equally good replacements, with fewer bugs, for some pieces of Unix, but they weren’t tremendously exciting. Nobody particularly wanted to get them and install them.
But then, in September 1984, I started writing GNU Emacs, which was my second implementation of Emacs, and by early 1985, it was working. I could use it for all my editing, which was a big relief, because I had no intention of learning to use vi, the Unix editor. [audience laughs] So, until that time, I did my editing on some other machine, and saved the files through the network, so that I could test them. But when GNU Emacs was running well enough for me to use it, it was also–other people wanted to use it too.
So, I had to work out the details of distribution. Of course, I put a copy in the anonymous FTP directory, and that was fine for people who were on the net–they could just pull over a tar5 file, but even a lot of programmers were not on the net in 1985. They were sending me email saying “How can I get a copy?” I had to decide what I would answer them. Well, I could have said: “I want to spend my time writing more GNU software, not writing tapes, so please find a friend who’s on the Internet and who is willing to download it and put it on a tape for you,” and I’m sure people would have found some friends, sooner or later. They would have got copies.
But I had no job. In fact, I’ve never had a job since quitting MIT in January 1984. So I was looking for some way I could make money through my work on free software, and therefore I started a free software business. I announced, “Send me 150 dollars, and I’ll mail you a tape of Emacs.” And the orders began dribbling in. By the middle of the year they were trickling in.
I was getting 8 to 10 orders a month. And, if necessary, I could have lived on just that, because I’ve always lived cheaply. I live like a student, basically. And I like that, because it means that money is not telling me what to do. I can do what I think is important for me to do. It freed me to do what seemed worth doing. So make a real effort to avoid getting sucked into all the expensive lifestyle habits of typical Americans. Because if you do that(50), then people with the money will dictate what you do with your life. You won’t be able to do what’s really important to you.
So that was fine, but people used to ask me, “What do you mean it’s free software if it costs 150 dollars?” [audience laughs] Well, the reason they asked this was that they were confused by the multiple meanings of the English word “free.” One meaning refers to price, and another meaning refers to freedom. When I speak of free software, I’m referring to freedom, not price. So think of free speech, not free beer. [audience laughs] Now, I wouldn’t have dedicated so many years of my life to making sure programmers got less money. That’s not my goal. I’m a programmer and I don’t mind getting money myself. I won’t dedicate my whole life to getting it, but I don’t mind getting it. Therefore–since ethics is the same for everyone–I’m not against some other programmer getting money either. I don’t want prices to be low. That’s not the issue at all. The issue is freedom. Freedom for everyone who’s using software, whether that person be a programmer or not.
At this point I should give you the definition of free software. I’d better get to some real details, because just saying “I believe in freedom” is vacuous. There are so many different freedoms you could believe in, and they conflict with each other, so the real political question is: Which are the important freedoms, the freedoms that we must make sure everybody has?
Now, I will give my answer to that question for the particular area of using software. A program is “free software” for you, a particular user, if you have the following freedoms:
- First, Freedom Zero is the freedom to run the program for any purpose, any way you like.
- Freedom One is the freedom to help yourself by changing the program to suit your needs.
- Freedom Two is the freedom to help your neighbor by distributing copies of the program.
- And Freedom Three is the freedom to help build your community by publishing an improved version so others can get the benefit of your work.
If you have all of these freedoms, the program is free software, for you–and that’s crucial. That’s why I phrase it that way. I’ll explain why later, when I talk about the GNU General Public License, but right now I’m explaining what free software means, which is a more basic question.
Freedom Zero is pretty obvious. If you’re not even allowed to run the program any way you like, it is a pretty damn restrictive program. But as it happens, most programs will at least give you Freedom Zero. And Freedom Zero follows, legally, as a consequence of Freedoms One, Two, and Three–that’s the way that copyright law works. So the freedoms that distinguish free software from typical software are Freedoms One, Two, and Three, so I’ll say more about them and why they are important.
Freedom One is the freedom to help yourself by changing the software to suit your needs. This could mean fixing bugs. It could mean adding new features. It could mean porting it to a different computer system. It could mean translating all the error messages into Navajo. Any change you want to make, you should be free to make.
Now, it’s obvious that professional programmers can make use of this freedom very effectively, but not just them. Anybody of reasonable intelligence can learn a little programming. There are hard jobs, and there are easy jobs, and most people are not going to learn enough to do hard jobs. But lots of people can learn enough to do easy jobs, just the way 50 years ago, lots and lots of American men learned to repair cars, which is what enabled the U.S. to have a motorized army in World War II and win. It is very important to have lots of people tinkering.
And if you are a people person, and you really don’t want to learn technology at all, that probably means that you have a lot of friends, and you’re good at getting them to owe you favors. [audience laughs] Some of them are probably programmers. So you can ask one of your programmer friends. “Would you please change this for me? Add this feature?” So, lots of people can benefit from it.
Now, if you don’t have this freedom, it causes practical, material harm to society. It makes you a prisoner of your software. I explained what that was like with regard to the laser printer. It worked badly for us, and we couldn’t fix it, because we were prisoners of our software.
But it also affects people’s morale. If the computer is constantly frustrating to use, and people are using it, their lives are going to be frustrating, and if they’re using it in their jobs, their jobs are going to be frustrating; they’re going to hate their jobs. And you know, people protect themselves from frustration by deciding not to care. So you end up with people whose attitude is, “Well, I showed up for work today. That’s all I have to do. If I can’t make progress, that’s not my problem; that’s the boss’s problem.” And when this happens, it’s bad for those people, and it’s bad for society as a whole. That’s Freedom One, the freedom to help yourself.
Freedom Two is the freedom to help your neighbor by distributing copies of the program. Now, for beings that can think and learn, sharing useful knowledge is a fundamental act of friendship. When these beings use computers, this act of friendship takes the form of sharing software. Friends share with each other. Friends help each other. This is the nature of friendship. And, in fact, this spirit of goodwill–the spirit of helping your neighbor, voluntarily–is society’s most important resource. It makes the difference between a livable society and a dog-eat-dog jungle. Its importance has been recognized by the world’s major religions for thousands of years, and they explicitly try to encourage this attitude.
When I was going to kindergarten, the teachers were trying to teach us this attitude–the spirit of sharing–by having us do it. They figured if we did it, we’d learn. So they said, “If you bring candy to school, you can’t keep it all for yourself; you have to share some with the other kids.” The society was set up to teach this spirit of cooperation. And why do you have to do that? Because people are not totally cooperative. That’s one part of human nature, and there are other parts of human nature. There are lots of parts of human nature. So, if you want a better society, you’ve got to work to encourage the spirit of sharing. It’ll never get to be 100%. That’s understandable. People have to take care of themselves too. But if we make it somewhat bigger, we’re all better off.
Nowadays, according to the U.S. Government, teachers are supposed to do the exact opposite. “Oh, Johnny, you brought software to school. Well, don’t share it. Oh no. Sharing is wrong. Sharing means you’re a pirate.” What do they mean when they say “pirate”? They’re saying that helping your neighbor is the moral equivalent of attacking a ship. [audience laughs]
What would Buddha or Jesus say about that? Now, take your favorite religious leader. I don’t know, maybe Manson would have said something different. [audience laughs] Who knows what L. Ron Hubbard would say? But …
Question: So are the others, also dead. [audience laughs] [Inaudible] Charles Manson’s also dead. [audience laughs] They’re dead, Jesus is dead, Buddha is dead…
RMS: Yes, that’s true. [audience laughs] So I guess, in that regard, L. Ron Hubbard is no worse than the others. [audience laughs] Anyway – [Inaudible]
Question: L. Ron always used free software – it freed him from Zanu. [audience laughs]
RMS: Anyway, I think this is the most important reason why software should be free: we can’t afford to pollute society’s most important resource. It’s true that it’s not a physical resource like clean air and clean water. It’s a psycho-social resource, but it’s just as real for all that, and it makes a tremendous difference to our lives. The actions we take influence the thoughts of other people. When we go around telling people, “Don’t share with each other,” if they listen to us, we’ve had an effect on society, and it’s not a good one. That’s Freedom Two, the freedom to help your neighbor.
Oh, and by the way, if you don’t have that freedom, it doesn’t just cause this harm to society’s psycho-social resource, it also causes waste–practical, material harm. If the program has an owner, and the owner arranges a state of affairs where each user has to pay in order to be able to use it, some people are going to say, “Never mind, I’ll do without it.” And that’s waste, deliberately inflicted waste. And the interesting thing about software, of course, is that fewer users doesn’t mean you have to make less stuff. If fewer people buy cars, you can make fewer cars. There’s a saving there. There are resources to be allocated, or not allocated, into making cars. So that you can say that having a price on a car is a good thing. It prevents people from diverting lots of wasted resources into making cars that aren’t really needed. But if each additional car used no resources, it wouldn’t be doing any good saving the making of these cars. Well, for physical objects, of course, like cars, it is always going to take resources to make an additional one of them, each additional exemplar.
But for software that’s not true. Anybody can make another copy. And it’s almost trivial to do it. It takes no resources, except a tiny bit of electricity. So there’s nothing we can save, no resource we’re going to allocate better by putting this financial disincentive on the use of the software. You often find people taking the consequences of economic reasoning, based on premises that don’t apply to software, and trying to transplant them from other areas of life where the premises may apply, and the conclusions may be valid. They just take the conclusions and assume that they’re valid for software too, when the argument is based on nothing, in the case of software. The premises don’t work in that case. It is very important to examine how you reach the conclusion, and what premises it depends on, to see where it might be valid. So, that is Freedom Two, the freedom to help your neighbor.
Freedom Three is the freedom to help build your community by publishing an improved version of the software. People used to say to me, “If the software’s free, then nobody will get paid to work on it, so why should anybody work on it?”
Well, of course, they were confusing the two meanings of free, so their reasoning was based on a misunderstanding. But, in any case, that was their theory. Today, we can compare that theory with empirical fact, and we find that hundreds of people are being paid to write free software, and over 100,000 are doing it as volunteers. We get lots of people working on free software, for various different motives. When I first released GNU Emacs–the first piece of the GNU system that people actually wanted to use–and when it started having users, after a while, I got a message saying, “I think I saw a bug in the source code, and here’s a fix.” And I got another message, “Here’s code to add a new feature.” And another bug fix.
And another new feature. And another, and another, and another, until they were pouring in on me so fast that just making use of all this help I was getting was a big job. Microsoft doesn’t have this problem. [audience laughs] Eventually, people noted this phenomenon. In the 1980’s a lot of us thought that maybe free software wouldn’t be as good as the non-free software, because we wouldn’t have as much money to pay people. And of course people like me, who value freedom and community, said, “Well, we’ll use the free software anyway.” It’s worth making a little sacrifice in some mere technical convenience to have freedom. But what people began to note, around 1990, was that our software was actually better. It was more powerful, and more reliable, than the proprietary alternatives.
In the early ’90’s, somebody found a way to do a scientific measurement of reliability of software. Here’s what he did. He took several sets of comparable programs that did the same jobs–the exact same jobs–in different systems. Because there were certain basic Unix-like utilities. And the jobs that they did were more or less the same thing–or they were following the POSIX spec–so they were all the same in terms of what jobs they did; but they were maintained by different people, and written separately. The code was different. So they said, OK, we’ll take these programs and run them with random data, and measure how often they crash or hang. So they measured it, and the most reliable set of programs was the GNU programs. All the commercial alternatives, which were proprietary software, were less reliable. So he published this and he told all the developers. A few years later he did the same experiment with the newest versions, and he got the same result. The GNU versions were the most reliable. You know, there are cancer clinics and 911 operations that use the GNU system, because it’s so reliable, and reliability is very important to them.
Anyway, there’s even a group of people who focus on this particular benefit as the main reason why users should be permitted to do these various things, and to have these freedoms. If you’ve been listening to me, you’ve noticed that, speaking for the free software movement, I talk about issues of ethics, and what kind of a society we want to live in, what makes for a good society, as well as practical, material benefits. They’re both important. That’s the free software movement.
That other group of people–which is called the open source movement—they only cite the practical benefits. They deny that this is an issue of principle. They deny that people are entitled to the freedom to share with their neighbor and to see what the program’s doing and change it if they don’t like it. They say, however, that it’s a useful thing to let people do that. So they go to companies and say to them, “You might make more money if you let people do this.” So, what you can see is that to some extent, they lead people in a similar direction, but for totally different–for fundamentally different philosophical reasons.
On the deepest issue of all, on the ethical question, the two movements disagree. In the free software movement we say, “You’re entitled to these freedoms. People shouldn’t stop you from doing these things.” In the open source movement, they say, “Yes, they can stop you if they want, but we’ll try to convince them to deign to let you to do these things.” Well, they have contributed–they have convinced a certain number of businesses to release substantial pieces of software as free software in our community. The open source movement has contributed substantially to our community, and we work together [with them] on practical projects. But philosophically, there’s a tremendous disagreement.
Unfortunately, the open source movement is the one that gets the support of business the most, and so most articles about our work describe it as open source, and a lot of people just innocently think that we’re all part of the open source movement. So that’s why I’m mentioning this distinction. I want you to be aware that the free software movement, which brought our community into existence and developed the free operating system, is still here–and that we still stand for this ethical philosophy. I want you to know about this, so that you won’t mislead someone else unknowingly.
But also, so that you can think about where you stand. Which movement you support is up to you. You might agree with the free software movements and my views. You might agree with the open source movement. You might disagree with them both. You decide where you stand on these political issues.
But if you agree with the free software movement–if you see that there’s an issue here that the people whose lives are controlled and directed by this decision deserve a say in it–then I hope you’ll say that you agree with the free software movement, and one way you can do that is by using the term “free software” and just helping people know we exist.
So, Freedom Three is very important both practically and psycho-socially. If you don’t have this freedom, it causes practical material harm, because this community development doesn’t happen, and we don’t make powerful, reliable software. But it also causes psycho-social harm, which affects the spirit of scientific cooperation–the idea that we’re working together to advance human knowledge. You see, progress in science crucially depends on people being able to work together. Nowadays, though, you often find each little group of scientists acting as if it is a war with each other gang of scientists and engineers. But if they don’t share with each other, they’re all held back.
So, those are the three freedoms that distinguish free software from typical software. Freedom One is the freedom to help yourself, by making changes to suit your own needs. Freedom Two is the freedom to help your neighbor by distributing copies. And Freedom Three is the freedom to help build your community by making changes and publishing them for other people to use. If you have all of these freedoms, the program is free software for you. Now, why do I define it that way in terms of a particular user? Is it free software for you? [Pointing at member of audience.] Is it free software for you? [Pointing at another member of audience.] Is it free software for you? [Pointing at another member of audience.] Yes?
Question: Can you explain a bit about the difference between Freedom Two and Three? [inaudible]
RMS: Well, they certainly relate, because if you don’t have freedom to redistribute at all, you certainly don’t have freedom to distribute a modified version, but they’re different activities.
Freedom Two is: you make an exact copy, and hand it to your friends, so now your friend can use it. Or maybe you make exact copies and you sell them to a bunch of people, and then they can use it. Freedom Three is where you make improvements–or at least you think they’re improvements, and some other people may agree with you. So that’s the difference.
Oh, and by the way, one crucial point. Freedoms One and Three depend on your having access to the source code. Because changing a binary-only program is extremely hard [audience laughs]—even trivial changes like using four digits for the date [audience laughs]—if you don’t have source. So, for compelling, practical reasons, access to the source code is a precondition, a requirement, for free software.
Free Software For You
So, why do I define it in terms of whether it’s free software “for you”? The reason is that sometimes the same program can be free software for some people, and non-free for others. Now, that might seem like a paradoxical situation, so let me give you an example to show you how it happens. A very big example–maybe the biggest ever–of this problem was the X Window System, which was developed at MIT and released under a license that made it free software. If you got the MIT version with the MIT license, you had Freedoms One, Two, and Three. It was free software for you. But among those who got copies were various computer manufacturers that distributed Unix systems, and they made the necessary changes in X to run on their systems. You know, probably just a few thousand lines out of the hundreds of thousands of lines of X. And then they compiled it, and they put the binaries into their Unix system and distributed it under the same non-disclosure agreement as the rest of the Unix system. And then millions of people got these copies. They had the X Window System, but they had none of these freedoms. It was not free software for them.
So, the paradox was that whether X was free software depended on where you made the measurement. If you made the measurement coming out of the developers’ group, you’d say, “I observe all these freedoms. It’s free software.” If you made the measurements among the users you’d say, “Hmm, most users don’t have these freedoms. It’s not free software.” Well, the people who developed X didn’t consider this a problem, because their goal was just popularity–ego, essentially. They wanted a big professional success. They wanted to feel, “Ah, lots of people are using our software.” And that was true. Lots of people were using their software but didn’t have freedom.
Well, in the GNU Project, if that same thing had happened to GNU software, it would have been a failure, because our goal wasn’t just to be popular; our goal was to give people liberty, and to encourage cooperation, to permit people to cooperate. Remember, never force anyone to cooperate with any other person, but make sure that everybody’s allowed to cooperate, everyone has the freedom to do so, if he or she wishes. If millions of people were running non-free versions of GNU, that wouldn’t be success at all. The whole thing would have been perverted into nothing like the goal.
So, I looked for a way to stop that from happening. The method I came up with is called “copyleft.” It’s called copyleft because it’s sort of like taking copyright and flipping it over. [audience laughs] Legally, copyleft works based on copyright.
We use the existing copyright law, but we use it to achieve a very different goal. Here’s what we do. We say, “This program is copyrighted.” And, of course, by default, that means it’s prohibited to copy it, or distribute it, or modify it. But then we say, “You’re authorized to distribute copies of this. You’re authorized to modify it. You’re authorized to distribute modified versions and extended versions. Change it any way you like.”
But there is a condition. And the condition, of course, is the reason why we go to all this trouble, so that we could put the condition in. The condition says: Whenever you distribute anything that contains any piece of this program, that whole program must be distributed under these same terms, no more and no less. So you can change the program and distribute a modified version, but when you do, the people who get that from you must get the same freedom that you got from us. And not just for the parts of it that you copied from our program, but also for the other parts of that program that they got from you. The whole of that program has to be free software for them.
The freedoms to change and redistribute this program become inalienable rights– a concept from the Declaration of Independence. Rights that we make sure can’t be taken away from you. The specific license that embodies the idea of copyleft is the GNU General Public License, a controversial license because it actually has the strength to say no to people who would be parasites on our community. There are lots of people who don’t appreciate the ideals of freedom. And they’d be very glad to take the work that we have done, and use it to get a head start in distributing a non-free program and tempting people to give up their freedom. The result would be—if we let people do that—that we would be developing these free programs, and we’d constantly have to compete with improved versions of our own programs. That’s no fun.
A lot of people also feel, “I’m willing to volunteer my time to contribute to the community, but why should I volunteer my time to contribute to improving that company’s proprietary program?” Some people might not even think that that’s evil, but they want to get paid if they’re going to do that. I, personally, would rather not do it at all.
But both of these groups of people–both the ones like me who say, “I don’t want to help that non-free program to get a foothold in our community” and the ones that say, “Sure, I’d work for them, but then they’d better pay me”—both of us have a good reason to use the GNU General Public License. Because that says to that company, “You can’t just take my work, and distribute it without the freedom.”
Whereas, the non-copyleft licenses, like the X Windows license, do permit that. So that is the big division between the two categories of free software, licensewise. There are the programs that are copylefted so that the license defends the freedom of the software for every user. And there are the non-copylefted programs for which non-free versions are allowed. Somebody can take those programs and strip off the freedom. You may get that program in a non-free version.
And that problem exists today. There are still non-free versions of X Windows being used on our free operating systems. There is even hardware that is not really supported except by a non-free version of XWindows. And that’s a major problem in our community. Nonetheless, I wouldn’t say that X Windows is a bad thing. I’d say that the developers did not do the best possible thing that they could have done. But they did release a lot of software that we could all use.
There’s a big difference between less than perfect, and evil. There are many gradations of good and bad. We have to resist the temptation to say, if you didn’t do the absolute best possible thing, then you’re no good. The people that developed X Windows made a big contribution to our community. But there’s something better that they could have done. They could have copylefted parts of the program and prevented those freedom-denying versions from being distributed by others.
Now, the fact that the GNU General Public License defends your freedom, uses copyright law to defend your freedom, is, of course, why Microsoft is attacking it today. See, Microsoft would really like to be able to take all the code that we wrote and put it into proprietary programs, have somebody make some improvements. . . or even just incompatible changes is all they need. [audience laughs]
With Microsoft’s marketing clout, they don’t need to make it better to have their version supplant ours. They just have to make it different and incompatible. And then put it on everybody’s desktop. So they really don’t like the GNU GPL. Because the GNU GPL won’t let them do that. It doesn’t allow “embrace and extend.” It says, if you want to share our code in your programs, you can. But you’ve got to share and share alike. The changes that you make we have to be allowed to share.
So it’s a two-way cooperation, which is real cooperation. Many companies–even big companies like IBM and HP–are willing to use our software on this basis. IBM and HP contribute substantial improvements to GNU software. And they develop other free software. But Microsoft doesn’t want to do that, so they give it out that businesses just can’t deal with the GPL. Well, if businesses don’t include IBM and HP and Sun, then maybe they’re right. [audience laughs] More about that later.
I should finish the historical story. You see, we set out in 1984 not just to write some free software but to do something much more coherent: to develop an operating system that was entirely free software. So that meant we had to write piece after piece after piece. Of course, we were always looking for shortcuts. The job was so big that people said we’d never be able to finish. I thought that there was at least a chance that we’d finish it but, obviously, it’s worth looking for shortcuts. So we kept looking around. Is there any program that somebody else has written that we could manage to adapt, to plug into here, and that way we won’t have to write it from scratch? For instance, the X Window system. It’s true it wasn’t copylefted, but it was free software, so we could use it. Now, I had wanted to put a window system into GNU from day one. I wrote a couple of window systems at MIT before I started GNU. And so even though Unix had no window system in 1984, I decided that GNU would have one. But we never ended up writing a GNU window system, because X came along. And I said: “Goody! One big job we don’t have to do. We’ll use X.” I said, let’s take X, and put it into the GNU system. And we’ll make the other parts of GNU work with X, when appropriate. And we found other pieces of software that had been written by other people, like the text formatter TEX, and some library code from Berkeley. At that time there was Berkeley Unix, but it was not free software. This library code, initially, was from a different group at Berkeley, which did research on floating point. And so we fit in these pieces.
In October 1985, we founded the Free Software Foundation. So please note, the GNU Project came first. The Free Software Foundation came almost two years after the announcement of the GNU Project. And the Free Software Foundation is a tax-exempt charity that raises funds to promote the freedom to share and change software. And in the 1980’s, one of the main things we did with our funds was to hire people to write parts of GNU. And essential programs, such as the shell and the C library, were written this way, as well as parts of other programs. The tar program, which is absolutely essential, although not exciting at all [audience laughs], was written this way. I believe GNU grep was written this way. And so we’re approaching our goal.
By 1991, there was just one major piece missing, and that was the kernel. Now, why did I put off the kernel? Probably because it doesn’t really matter what order you do the things in, at least technically it doesn’t. You’ve got to do them all anyway. And partly because I’d hoped we’d be able to find a start at a kernel somewhere else. And we did. We found Mach, which had been developed at Carnegie Mellon. And it wasn’t the whole kernel; it was the bottom half of the kernel. So we had to write the top half; things like the file system, the network code, and so on. But running on top of Mach they’re running essentially as user programs, which ought to make them easier to debug. You can debug with a real source-level debugger running at the same time. I thought that way we’d be able to get these, the higher-level parts of the kernel, done in a short time. It didn’t work out that way. These asynchronous, multi-threaded processes, sending messages to each other, turned out to be very hard to debug. And the Mach-based system that we were using to bootstrap with had a terrible debugging environment, and it was unreliable. It took us years and years to get the GNU kernel to work.
But, fortunately, our community did not have to wait for the GNU kernel. Because in 1991, Linus Torvalds developed another free kernel, called Linux. He used the old-fashioned monolithic design and it turns out that he got his working much faster than we got ours working. So maybe that’s one of the mistakes that I made: that design decision. Anyway, at first we didn’t know about Linux, because he never contacted us to talk about it, although he did know about the GNU project. But he announced it to other people and other places on the net. And so other people then did the work of combining Linux with the rest of the GNU system to make a complete free operating system. Essentially, to make the GNU plus Linux combination.
But they didn’t realize that’s what they were doing. You see, they said, “We have a kernel–let’s look around and see what other pieces we can find to put together with the kernel.” So, they looked around–and lo and behold, everything they needed was already available. What good fortune, they said. [audience laughs] It’s all here. We can find everything we need. Let’s just take all these different things and put it together, and have a system.
They didn’t know that most of what they found was pieces of the GNU system. So they didn’t realize that they were fitting Linux into the gap in the GNU system. They thought they were taking Linux and making a system out of Linux. So they called it a Linux system. [An audience member says, ] “But it’s more good fortune than finding the X Window System, and Mach?” [Stallman responds and continues,] Right. The difference is that the people who developed X and Mach didn’t have the goal of making a complete free operating system. We’re the only ones who had that. And, it was our tremendous work that made the system exist. We actually did a larger part of the system than any other project. No coincidence, because those people–they wrote useful parts of the system. But they didn’t do it because they wanted the system to be finished. They had other reasons. Now the people who developed X–they thought that designing an across-the network window system would be a good project, and it was. And it turned out to help us make a good free operating system. But that’s not what they hoped for. They didn’t even think about that. It was an accident. An accidental benefit. Now, I’m not saying that what they did was bad. They did a large free software project.
That’s a good thing to do. But they didn’t have that ultimate vision. The GNU Project is where that vision was. And, so, we were the ones whose–every little piece that didn’t get done by somebody else, we did it. Because we knew that we wouldn’t have a complete system without it. And even if it was totally boring and unromantic, like tar or mv [audience laughs], we did it. Or ld–you know there’s nothing very exciting in ld, but I wrote one. [audience laughs] And I did make efforts to have it do a minimal amount of disk I/O so that it would be faster and handle bigger programs. I like to do a good job; I like to improve various things about the program while I’m doing it. But the reason that I did it wasn’t that I had brilliant ideas for a better ld. The reason I did it is that we needed one that was free. And we couldn’t expect anyone else to do it. So we had to do it, or find someone to do it.
So, although at this point thousands of people and projects have contributed to this system, there is one project that is the reason that this system exists, and that’s the GNU Project. It [the system] is basically the GNU System, with other things added since then.
The practice of calling the system Linux has been a great blow to the GNU Project, because we don’t normally get credit for what we’ve done. I think Linux, the kernel, is a very useful piece of free software, and I have only good things to say about it. Well, actually, I can find a few bad things to say about it. [audience laughs] But, basically, I have good things to say about it. However, the practice of calling the GNU system “Linux” is just a mistake. I’d like to ask you please to make the small effort necessary to call the system GNU/Linux, and that way to help us get a share of the credit.
[A person in the audience yells out,] “You need a mascot! Get yourself a stuffed animal!” [Stallman responds,] We have one. [Audience member replies,] “You do?,” [Stallman replies, provoking much laughter,] We have an animal–a gnu. So, yes, when you draw a penguin, draw a gnu next to it. But, let’s save the questions for the end. I have more to go through.
So, why am I so concerned about this? Why do I think it is worth bothering you and perhaps lowering your opinion of me [audience laughs] to raise this issue of credit? When I do this, some people think that it’s because I want my ego to be fed, right? Of course, I’m not asking you to call it “Stallmanix,” right? [audience laughs] [applause]
I’m asking you to call it GNU, because I want the GNU Project to get credit. And there’s a very specific reason for that, which is a lot more important than anybody getting credit, in and of itself. You see, these days, if you look around in our community most of the people talking about it and writing about it don’t ever mention GNU, and they don’t ever mention these goals of freedom–these political and social ideals–either. Because the place they [i.e., those] come from is GNU.
The ideas associated with Linux–the philosophy is very different. It is basically the apolitical philosophy of Linus Torvalds. So, when people think that the whole system is Linux, they tend to think: “Oh, it must have been all started by Linus Torvalds. His philosophy must be the one that we should look at carefully.” And when they hear about the GNU philosophy, they say: “Boy, this is so idealistic, this must be awfully impractical. I’m a Linux-user, not a GNU-user.” [audience laughs]
What irony! If they only knew! If they knew that the system they liked–or, in some cases, love and go wild over–is our idealistic, political philosophy made real. They still wouldn’t have to agree with us. But at least they’d see a reason to take it seriously, to think about it carefully, to give it a chance. They would see how it relates to their lives. If they realized, “I’m using the GNU system. Here’s the GNU philosophy. This philosophy is why this system that I like very much exists,” they’d at least consider it with a much more open mind. It doesn’t mean that everybody will agree. People think different things. That’s okay–people should make up their own minds. But I want this philosophy to get the benefit of the credit for the results it has achieved.
If you look around in our community, you’ll find that almost everywhere, the institutions are calling the system Linux. Reporters mostly call it Linux. It’s not right, but they do. The companies that package the system mostly say it [Linux]. Oh, and most of these reporters, when they write articles, they usually don’t look at it as a political issue, or social issue. They’re usually looking at it purely as a business question or what companies are going to succeed more or less, which is really a fairly minor question for society. And, if you look at the companies that package the GNU/Linux system for people to use, well, most of them call it Linux. And they all add non-free software to it.
See, the GNU GPL says that if you take code, and some code out of a GPLcovered program, and add some more code to make a bigger program, that whole program has to be released under the GPL. But you could put other separate programs on the same disk (hard disk or CD), and they can have other licenses. That’s considered mere aggregation, and, essentially, just distributing two programs to somebody at the same time is not something we have any say over. So in fact, it is not true–sometimes I wish it were true–that if a company uses a GPL-covered program in a product, the whole product has to be free software. It’s not–it doesn’t go to that range–that scope. It’s the whole program. If there are two separate programs that communicate with each other at arm’s length–like by sending messages to each other–then they’re legally separate, in general. So, these companies, by adding non-free software to the system, are giving the users, philosophically and politically, a very bad idea. They’re telling the users, “It is OK to use non-free software. We’re even putting it on this as a bonus.”
If you look at the magazines about the use of the GNU/Linux system, most of them have a title like “Linux-something-or-other.” So they’re calling the system Linux most of the time. And they’re filled with ads for non-free software that you could run on top of the GNU/Linux system. Now those ads have a common message. They say: “Non-free software is good for you. It’s so good that you might even pay to get it.” [audience laughs]
And they call these things “value-added packages,” which makes a statement about their values. They’re saying: Value practical convenience, not freedom. And, I don’t agree with those values, so I call them “freedom-subtracted packages.” [audience laughs] Because if you have installed a free operating system, then you now are living in the free world. You enjoy the benefits of liberty that we worked for so many years to give you. Those packages give you an opportunity to buckle on a chain.
And then if you look at the trade shows dedicated to the use of the GNU/Linux system, they all call themselves “Linux” shows. And they’re filled with booths exhibiting non-free software, essentially putting the seal of approval on the non-free software. So, almost everywhere you look in our community, the institutions are endorsing the non-free software, totalling negating the idea of freedom that GNU was developed for. And the only place that people are likely to come across the idea of freedom is in connection with GNU, and in connection with free software, the term, free software. So this is why I ask you: Please call the system GNU/Linux.
Please make people aware where the system came from and why. Of course, just by using that name, you won’t be making an explanation of the history. You can type four extra characters and write GNU/Linux; you can say two extra syllables. But GNU/Linux is fewer syllables than Windows 2000. [audience laughs] You’re not telling them a lot, but you’re preparing them, so that when they hear about GNU, and what it’s all about, they’ll see how that connects to them and their lives. And that, indirectly, makes a tremendous difference. So please help us.
You’ll note that Microsoft called the GPL an “open source license.” They don’t want people to be thinking in terms of freedom as the issue. You’ll find that they invite people to think in a narrow way, as consumers, and, of course, not even think very rationally as consumers, if they’re going to choose Microsoft products. But they don’t want people to think as citizens or statesmen. That’s inimical to them.
At least it’s inimical to their current business model. Now, how does free software. . . well, I can tell you about how free software relates to our society. A secondary topic that might be of interest to some of you is how free software relates to business.
Now, in fact, free software is tremendously useful for business. After all, most businesses in the advanced countries use software. Only a tiny fraction of them develop software.
And free software is tremendously advantageous for any company that uses software, because it means that you’re in control. Basically, free software means the users are in control of what the program does. Either individually, if they care enough to be, or, collectively, when they care enough to be. Whoever cares enough can exert some influence. If you don’t care, you don’t buy. Then you use what other people prefer. But, if you do care, then you have some say. With proprietary software, you have essentially no say.
With free software, you can change what you want to change. And it doesn’t matter that there are no programmers in your company; that’s fine. If you wanted to move the walls in your building, you don’t have to be a carpentry company. You just have to be able to go find a carpenter and say, “What will you charge to do this job?” And if you want to change around the software you use, you don’t have to be a programming company. You just have to go to a programming company and say, “What will you charge to implement these features? And when will you have it done?” And if they don’t do the job, you can go find somebody else.
There’s a free market for support. So any business that cares about support will find a tremendous advantage in free software. With proprietary software, support is a monopoly, because one company has the source code–or maybe a small number of companies that paid a gigantic amount of money have the source code, if it’s Microsoft’s shared source program–but, it’s very few. So there aren’t very many possible sources of support for you. And that means that unless you’re a real giant, they don’t care about you. Your company is not important enough for them to care if they lose your business. Once you’re using the program, they figure you’re locked in to getting the support from them, because to switch to a different program is a gigantic job. So you end up with things like paying for the privilege of reporting a bug. [audience laughs] And once you’ve paid, they tell you, “Well, OK, we’ve noted your bug report. And in a few months, you can buy an upgrade, and you can see if we’ve fixed it.” [audience laughs]
Support providers for free software can’t get away with that. They have to please the customers. Of course, you can get a lot of good support gratis. You post your problem on the Internet. You may get an answer the next day. But that’s not guaranteed, of course. If you want to be confident, you better make an arrangement with a company and pay them. And this is, of course, one of the ways that free software business works.
Another advantage of free software for businesses that use software is security and privacy. And this applies to individuals as well, but I brought it up in the context of businesses. You see, when a program is proprietary, you can’t even tell what it really does.
It could have features deliberately put in that you wouldn’t like if you knew about them. For example, it might have a back door to let the developer get into your machine. It might snoop on what you do and send information back. This is not unusual. Some Microsoft software did this. But it’s not only Microsoft. There are other proprietary programs that snoop on the user. And you can’t even tell if it does this. And, of course, even assuming that the developer’s totally honest, every programmer makes mistakes. There could be bugs that affect your security that are nobody’s fault. But the point is: If it’s not free software, you can’t find them. And you can’t fix them.
Nobody has the time to check the source of every program he runs. You’re not going to do that. But with free software there’s a large community, and there are people in that community who are checking things. And you get the benefit of their checking, because if there’s an accidental bug, there surely are, from time to time, in any program, they might find it and fix it. And people are much less likely to put in a deliberate Trojan horse, or a snooping feature, if they think they might get caught. The proprietary software developers figure they won’t get caught. They’ll get away with it undetected. But a free software developer has to figure that people will look at that and see it’s there. In our community, we don’t feel we can get away with ramming a feature down the users’ throats that the users wouldn’t like. We know that if the users don’t like it, they’ll make a modified version that doesn’t have it. And then they’ll all start using that version.
In fact, we can all reason enough, we can all figure this out enough steps ahead, that we probably won’t put in that feature. After all, you’re writing a free program; you want people to like your version; you don’t want to put in a thing that a lot of people are going to hate, and have another modified version catch on instead of yours. So you just realize that the user is king in the world of free software. In the world of proprietary software, the customer is not king. Because you are only a customer. You have no say in the software you use.
In this respect, free software is a new mechanism for democracy to operate. Professor Lessig, now at Stanford, noted that code functions as a kind of law. Whoever gets to write the code that just about everybody uses for all intents and purposes is writing the laws that run people’s lives. With free software, these laws get written in a democratic way. Not the classical form of democracy–we don’t have a big election and say, “Everybody vote which way should this feature be done.” [audience laughs] Instead we say, basically, those of you who want to work on implementing the feature this way, do it. And if you want to work on implementing the feature that way, do it. And, it gets done one way or the other, you know? And so, if a lot of people want it this way, it’ll get done this way. In this way, everybody contributes to the social decision by simply taking steps in the direction that he wants to go.
And you’re free to take as many steps, personally, as you want to take. A business is free to commission as many steps as they find useful to take. And after you add all these things up, that says which direction the software goes.
And it’s often very useful to be able to take pieces out of some existing program– presumably usually large pieces, of course–and then write a certain amount of code of your own and make a program that does exactly what you need; which would have cost you an arm and a leg to develop if you had to write it all from scratch if you couldn’t cannibalize large pieces from some existing free software package.
Another thing that results from the fact that the user is king is that we tend to be very good about compatibility and standardization. Why? Because users like that. Users are likely to reject a program that has gratuitous incompatibilities in it. Now, sometimes there’s a certain group of users who actually have a need for a certain kind of incompatibility, and then they’ll have it. That’s OK. But when users want to follow a standard, we developers have to follow it, and we know that. And we do it. By contrast, if you look at proprietary software developers, they often find it advantageous to deliberately not follow a standard, and not because they think that they’re giving the user an advantage that way, but rather because they’re imposing on the user, locking the user in. And you’ll even find them making changes in their file formats from time to time, just to force people to get the newest version.
Archivists are finding a problem now, that files written on computers ten years ago often can’t be accessed; they were written with proprietary software that’s essentially lost now. If [they] were written with free software, then it could be brought up to date and run. And those records would not be lost, would not be inaccessible. They were even complaining about this on National Public Radio recently in citing free software as a solution. In effect, by using a non-free program to store your own data, you are putting your head in a noose.
So, I’ve talked about how free software affects most business. But how does it affect that particular narrow area that is software business? Well, the answer is, mostly not at all. And the reason is that 90% of the software industry, from what I’m told, is development of custom software, software that’s not meant to be released at all. For custom software, this issue, or the ethical issue of free or proprietary, doesn’t arise. You see, the issue is, are you users free to change and redistribute the software? If there’s only one user, and that user owns the rights, there’s no problem.
That user is free to do all these things. So, in effect, any custom program that was developed by one company for use in-house is free software, as long as they have the sense to insist on getting the source code and all the rights. The issue doesn’t really arise for software that goes in a watch or a microwave oven or an automobile ignition system, because those are places where you don’t download software to install. It’s not a real computer, as far as the user is concerned, so it doesn’t raise these issues enough for them to be ethically important. So, for the most part, the software industry will go along just as it’s been going. And the interesting thing is that since such a large fraction of the jobs are in that part of the industry, even if there were no possibilities for free software business, the developers of free software could all get day jobs writing custom software. [audience laughs] There are so many; the ratio is so big.
But, as it happens, there is free software business. There are free software companies, and at the press conference that I’m going to have, people from a couple of them will join us. And, of course, there are also companies that are not free software businesses but do develop useful pieces of free software to release, and the free software that they produce is substantial.
Now, how do free software businesses work? Well, some of them sell copies. You’re free to copy it but they can still sell thousands of copies a month. And others sell support and various kinds of services. I, personally, for the second half of the ’80’s, I sold free software support services. Basically I said, for $200 an hour, I’ll change whatever you want me to change in GNU software that I’d written. Yes, it was a stiff rate, but if it was a program that I was the author of, people would figure that I might get the job done in a lot fewer hours. [audience laughs] And I made a living that way. In fact, I made more than I’d ever made before. I also taught classes. And I kept doing that until 1990, when I got a big prize12 and I didn’t have to do it any more.
But 1990 was when the first corporate free-software-business was formed, which was Cygnus Support. And their business was to do, essentially, the same kind of thing that I’d been doing. I certainly could have worked for them, if I had needed to do that. Since I didn’t need to, I felt it was good for the movement if I remained independent of any one company. That way, I could say good and bad things about the various free software and non-free software companies, without a conflict of interest. I felt that I could serve the movement more. But if I had needed that to make a living, sure, I would have worked for them. It’s an ethical business to be in.
No reason I would have felt ashamed to take a job with them. And that company was profitable in its first year. It was formed with very little capital, just the money its three founders had. And it kept growing every year and being profitable every year until they got greedy and looked for outside investors, and then they messed things up. But it was several years of success, before they got greedy.
This illustrates one of the exciting things about free software. Free software demonstrates that you don’t need to raise capital to develop free software. I mean, it’s useful; it can help. If you do raise some capital, you can hire people and have them write a bunch of software. But you can get a lot done with a small number of people. In fact, the tremendous efficiency of the process of developing free software is one of the reasons it’s important for the world to switch to free software. And it also belies what Microsoft says, when they say the GNU GPL is bad because it makes it harder for them to raise capital to develop non-free software and take our free software and put our code into their programs that they won’t share with us.Basically, we don’t need to have them raising capital that way. We’ll get the job done anyway. We are getting the job done.
People used to say we could never do a complete free operating system. Now we’ve done that and a tremendous amount more. And I would say that we’re about an order of magnitude away from developing all the general purpose published software needs of the world. And this is in a world where more than 90% of the users don’t use our free software yet. This is in a world where more than half of all the Web servers in the world are running on GNU/Linux with Apache as the Web server.
Question: [Inaudible] … What did you say before, Linux?
Richard M. Stallman: I said GNU/Linux.
Question: You did?
Richard M. Stallman: Yes, if I’m talking about the kernel, I call it Linux. You know, that’s it’s name. The kernel was written by Linus Torvalds, and we should only call it by the name that he chose, out of respect for the author.
In general, in business most users are not using GNU/Linux. Most home users are not using our system yet. When they are, we should automatically get 10 times as many volunteers and 10 times as many customers for the free software businesses that there will be. And so that will take us that order of magnitude. So at this point, I am pretty confident that we can do the job.
And this is important, because Microsoft asks us to feel desperate. They say, “The only way you can have software to run, the only way you can have innovation, is if you give us power. Let us dominate you. Let us control what you can do with the software you’re running, so that we can squeeze a lot of money out of you, and use a certain fraction of that to develop software, and take the rest as profit.”
Well, you shouldn’t ever feel that desperate. You shouldn’t ever feel so desperate that you give up your freedom. That’s very dangerous. Another thing that Microsoft, well, not just Microsoft, people who don’t support free software generally adopt a value system in which the only thing that matters is short-term practical benefits: How much money am I going to make this year?
What job can I get done today? Short-term thinking and narrow thinking. Their assumption is that it is ridiculous to imagine that anybody ever might make a sacrifice for the sake of freedom.
Yesterday a lot of people were making speeches about Americans who made sacrifices for the freedom of their compatriots. Some of them made great sacrifices. They even sacrificed their lives for the kinds of freedom that everyone in our country has heard about. (At least in some of the cases; I guess we have to ignore the war in Vietnam.)
But, fortunately, to maintain our freedom in using software doesn’t call for big sacrifices. Just tiny, little sacrifices are enough, like learning a command-line interface, if we don’t have a Graphical User Interface (GUI) program yet. Like doing the job in this way, because we don’t have a free software package to do it that way, yet. Like paying some money to a company that’s going to develop a certain free software package, so that you can have it in a few years. Various little sacrifices that we can all make. And in the long run, even we will have benefited from it.
You know, it is really an investment more than a sacrifice. We just have to have enough long-term view to realize it’s good for us to invest in improving our society, without counting the nickels and dimes of who gets how much of the benefit from that investment.
So, at this point, I’m essentially done. I’d like to mention that there’s a new approach to free software business being proposed by Tony Stanco, which he calls “FreeDevelopers,” which involves a certain business structure that hopes eventually to pay out a certain share of the profits, to all the authors of free software who have joined the organization. And they’re looking at the prospects of getting some rather large government software development contracts in India now, because they’re going to be using free software as the basis, having tremendous cost savings that way.
Question and Answer Session
Question: How could a company like Microsoft include a free software contract?
RMS: Well, actually, Microsoft is planning to shift a lot of its activity into services. And what they’re planning to do is something dirty and dangerous, which is tie the services to the programs, one to the next, in a sort of zigzag. So that to use this service, you’ve got to be using this Microsoft program, which is going to mean you need to use this service, this Microsoft program…so it’s all tied together. That’s their plan.
Now, the interesting thing is that selling those services doesn’t raise the ethical issue of free software or non-free software. It might be perfectly fine for them to have the business for those businesses selling those services over the net to exist. However, what Microsoft is planning to do is to use them to achieve an even greater lock, an even greater monopoly, on the software and the services, and this was described in an article, recently. Other people said that it is turning the net into the Microsoft Company Town.
And this is relevant because the trial court in the Microsoft antitrust trial recommended breaking up the company, Microsoft–but in a way that makes no sense, wouldn’t do any good at all–into the operating system part and the applications part.
But having seen that article, I now see a useful, effective way to split up Microsoft into the services part and the software part, to require them to deal with each other only at arm’s length, that the services must publish their interfaces, so that anybody can write a client to talk to those services, and, I guess, that they have to pay to get the service. Well, that’s OK. That’s a totally different issue.
If Microsoft is split up in this way … services and software, they will not be able to use their software to crush competition with Microsoft services. And they won’t be able to use the services to crush competition with Microsoft software. And we will be able to make the free software, and maybe you people will use it to talk to Microsoft services, and we won’t mind.
Because, after all, although Microsoft is the proprietary software company that has subjugated the most people–the others have subjugated fewer people, it’s not for want of trying; [audience laughs] they just haven’t succeeded in subjugating as many people. So, the problem is not Microsoft and only Microsoft. Microsoft is just the biggest example of the problem we’re trying to solve, which is proprietary software taking away users’ freedom to cooperate and form an ethical society. So we shouldn’t focus too much on Microsoft, even though they did give me the opportunity for this platform. That doesn’t make them all-important. They’re not the be-all and end-all.
Q: Earlier, you were discussing the philosophical differences between open source software and free software. How do you feel about the current trend of GNU/Linux distributions as they head towards supporting only Intel platforms? And the fact that it seems that less and less programmers are programming correctly, and making software that will compile anywhere? And making software that simply works on Intel systems?
RMS: I don’t see an ethical issue there. Although, in fact, companies that make computers sometimes port the GNU/Linux system to it. HP apparently did this recently. And, they didn’t bother paying for a port ofWindows, because that would 184 Free Software, Free Society: Selected Essays of Richard M. Stallman have cost too much. But getting GNU/Linux supported was, I think, five engineers for a few months. It was easily doable.
Now, of course, I encourage people to use autoconf, which is a GNU package that makes it easier to make your programs portable. I encourage them to do that. Or when somebody else fixes the bug that it didn’t compile on that version of the system, and sends it to you, you should put it in. But I don’t see that as an ethical issue.
Q: Two comments. One is: Recently, you spoke at MIT. I read the transcript. And someone asked about patents, and you said that “patents are a totally different issue. I have no comments on that.”
RMS: Right. I actually have a lot to say about patents, but it takes an hour. [audience laughs]
Q: I wanted to say this: It seems to me that there is an issue. I mean, there is a reason that companies call both patents and copyrights things like hard property in trying to get this concept which is, if they want to use the power of the State to create a course of monopoly for themselves. And so, what’s common about these things is not that they revolve around the same issues, but that motivation is not really the public service issues but the motivation of companies to get a monopoly for their private interests.
RMS: You’re right that that’s what they want. But there’s another reason why they want to use the term intellectual property. It’s that they don’t want to encourage people to think carefully about copyright issues or patent issues. Because copyright law and patent law are totally different, and the effects of software copyrights and software patents are totally different.
Software patents are a restriction on programmers, prohibiting them from writing certain kinds of programs, whereas copyright doesn’t do that. With copyright, at least if you wrote it yourself, you’re allowed to distribute it. So, it’s tremendously important to separate these issues.
They have a little bit in common, at a very low level, and everything else is different. So, please, to encourage clear thinking, discuss copyright or discuss patents. But don’t discuss intellectual property. I don’t have an opinion on intellectual property. I have opinions on copyrights and patents and software.
Q: You mentioned at the beginning that a functional language, like recipes, are compute programs. But there is a big cross over from food recipes to computer programs, and from English language to computer programs–the definition of “functional language” is very broad. This is causing problems in the DeCSS, DVD, case.
RMS: The issues are partly similar but partly different, for things that are not functional in nature. Part of the issue transfers but not all of it. Unfortunately, that’s another hour speech. I don’t have time to go into it. But I would say that all functional works ought to be free in the same sense as software. You know, textbooks, manuals, dictionaries, and recipes, and so on.
Q: I was just wondering on online music. There are similarities and differences created all through.
RMS: Right. I’d say that the minimum freedom that we should have for any kind of published information is the freedom to non-commercially redistribute it, verbatim. For functional works, we need the freedom to commercially publish a modified version, because that’s tremendously useful to society. For non-functional works– things that are to entertain, or to be aesthetic, or to state a certain person’s views, you know–perhaps they shouldn’t be modified. And perhaps that means that it’s OK to have copyright covering all commercial distribution of them.
Please remember that according to the U.S. Constitution, the purpose of copyright is to benefit the public. It is to modify the behavior of certain private parties, so that they will publish more books. And the benefit of this is that society gets to discuss issues and learn. And, you know, we have literature. We have scientific works. The purpose is to encourage that. Copyrights do not exist for the sake of authors, let alone for the sake of publishers. They exist for the sake of readers and all those who benefit from the communication of information that happens when people write and others read. And that goal I agree with.
But in the age of the computer networks, the method is no longer tenable, because it now requires draconian laws that invade everybody’s privacy and terrorize everyone. Years in prison for sharing with your neighbor. It wasn’t like that in the age of the printing press. Then copyright was an industrial regulation. It restricted publishers. Now it’s a restriction imposed by the publishers on the public. So the power relationship is turned around 180 degrees, even if it’s the same law.
Q: So you can have the same thing, but like in making music from other music?
RMS: Right. That is an interesting. . . .
Q: And unique, new works, you know, it’s still a lot of cooperation.
RMS: It is. And I think that probably requires some kind of fair use concept. Certainly making a few seconds of sample and using that in making some musical work, obviously that should be fair use. Even the standard idea of fair use includes that, if you think about it. Whether courts agree, I’m not sure, but they should. That wouldn’t be a real change in the system as it has existed.
Q: What do you think about publishing public information in proprietary formats?
RMS: Oh, it shouldn’t be. I mean, the government should never require citizens to use a non-free program to access, to communicate with the government in any way, in either direction.
Q: I have been, what I will now say, a GNU/Linux user. . .
RMS: Thank you. [audience laughs]
Q: . . . for the past four years. The one thing that has been problematical for me and is something that is essential, I think, to all of us, is browsing the Web.
Q: One thing that has been decidedly a weakness in using a GNU/Linux system has been browsing the Web, because the prevailing tool for that, Netscape. . .
RMS: . . . is not free software. Let me respond to this. I want to get to the point, for the sake of getting in more. So, yes. There has been a terrible tendency for people to use Netscape Navigator on their GNU/Linux systems. In fact all the commercially packaged systems come with it. So this is an ironic situation: we worked so hard to make a free operating system, and now, if you go to the store, and you can find versions of GNU/Linux there, most of them are called Linux, and they’re not free. Oh, well, part of them is. But then there’s Netscape Navigator, and maybe other non-free programs as well. So it’s very hard to actually find a free system, unless you know what you’re doing. Or, of course, you cannot install Netscape Navigator.
Now, in fact, there have been free Web browsers for many years. There is a free Web browser that I used to use called Lynx. It’s a free Web browser that is nongraphical; it’s text-only. This has a tremendous advantage, in that you don’t see the ads. [audience laughs] [applause]
But anyway, there is a free graphical project called Mozilla, which is now getting to the point where you can use it. And I occasionally use it.
Q: Konqueror 2.01 has been very good.
RMS: Oh, OK. So that’s another free graphical browser. So, we’re finally solving that problem, I guess.
Q: Can you talk to me about that philosophical/ethical division between free software and open source? Do you feel that those are irreconcilable?
RMS: . . . to a freedom, and ethics. Or whether you just say, Well, I hope that you companies will decide it’s more profitable to let us be allowed to do these things. But, as I said, in a lot of practical work, it doesn’t really matter what a person’s politics are. When a person offers to help the GNU project, we don’t say: “You have to agree with our politics.” We say that in a GNU package, you’ve got to call the system GNU/Linux, and you’ve got to call it free software. What you say when you’re not speaking to the GNU Project, that’s up to you.
Q: The company IBM started a campaign for government agencies, to sell their big new machines, that they used Linux as selling point, and say Linux.
RMS: Yes. Of course, it’s really the GNU/Linux systems. [audience laughs] Q: That’s right! Well, tell the top salesperson. He doesn’t know anything for GNU.
Oh yes. The problem is that they’ve already carefully decided what they want to say for reasons of their advantage. And the issue of what is a more accurate, or fair, or correct way to describe it is not the primary issue that matters to a company like that. Now, some small companies, yes, there’ll be a boss. And if the boss is inclined to think about things like that, he might make a decision that way. Not a giant corporation though. It’s a shame.
There’s another more important and more substantive issue about what IBM is doing. They’re saying that they’re putting a billion dollars into “Linux.” But perhaps I should also put quotes around “into,” as well, because some of that money is paying people to develop free software. That really is a contribution to our community.
But other parts are paying people to write proprietary software, or port proprietary software to run on top of GNU/Linux, and that is not a contribution to our community. But IBM is lumping that all together into this. Some of it might be advertising, which is partly a contribution, even if it’s partly wrong. So, it’s a complicated situation. Some of what they’re doing is contribution and some is not, and some is somewhat, but not exactly. And you can’t just lump it altogether and think, “Wowee! A billion dollars from IBM.” [audience laughs] That’s oversimplification.
Q: Can you talk a little bit more about the thinking that went into the General Public License?
RMS: So, the thinking that went into the GNU GPL? Part of it was that I wanted to protect the freedom of the community against the phenomena that I just described with X Windows, which has happened with other free programs as well. In fact, when I was thinking about this issue, X Windows was not yet released. But I had seen this problem happen in other free programs. For instance, TeX. I wanted to make sure that the users would all have freedom. Otherwise, I realized that I might write a program, and maybe a lot of people would use the program, but they wouldn’t have freedom. And what’s the point of that?
But the other issue I was thinking about was, I wanted to give the community a feeling that it was not a doormat, a feeling that it was not prey to any parasite who would wander along. If you don’t use copyleft, you are essentially saying: [speaking meekly] “Take my code. Do what you want. I don’t say no.” So anybody can come along and say: [speaking very firmly] “Ah, I want to make a non-free version of this. I’ll just take it.” And, then, of course, they probably make some improvements, those non-free versions might appeal to users, and replace the free versions. And then, what have you accomplished? You’ve only made a donation to some proprietary software project.
And when people see that that’s happening, when people see, other people take what I do, and they don’t ever give back, it can be demoralizing. And, this is not just speculation. I had seen that happen. That was part of what happened to wipe out the old community that I belonged to in the ’70’s. Some people started becoming uncooperative. And we assumed that they were profiting thereby. They certainly acted as if they thought they were profiting. And we realized that they can just take our cooperation and not give back. And there was nothing we could do about it. It was very discouraging. We, those of us who didn’t like the trend, even had a discussion but we couldn’t come up with any idea for how we could stop it.
The GPL is designed to stop that. It says: Yes, you are welcome to join the community and use this code. You can use it to do all sorts of jobs. But, if you release a modified version, you’ve got to release that to our community, as part of our community, as part of the free world.
So, in fact, there are still many ways that people can get the benefit of our work and not contribute, like you don’t have to write any software. Lots of people use GNU/Linux and don’t write any software. There’s no requirement that you’ve got to do anything for us. But if you do a certain kind of thing, you’ve got to contribute to it. So what that means is that our community is not a doormat. And I think that that helped give people the strength to feel, Yes, we won’t just be trampled underfoot by everybody. We’ll stand up to this.
Q: Considering free but not copylefted software, since anybody can pick it up and make it proprietary, is it not possible also for someone to pick it up and make some changes and release the whole thing under the GPL?
RMS: Yes, it is possible.
Q: Then that would make all future copies then be GPL’ed. RMS: From that branch. Here’s why we don’t generally do that. Let me explain. We could, if we wanted to, take X Windows, and make a GPL-covered copy and make changes in that. But there’s a much larger group of people working on improving X Window and not GPL-ing it. So, if we did that, we would be forking from them. And that’s not very nice treatment of them. And, they are a part of our community, contributing to our community.
Second, it would backfire against us, because they’re doing a lot more work on X than we would be. So our version would be inferior to theirs, and people wouldn’t use it, which means, why go to the trouble at all?
So when a person has written some improvement to X Windows, what I say that person should do is cooperate with the X development team. Send it to them and let them use it their way. Because they are developing a very important piece of free software. It’s good for us to cooperate with them.
Q: Except, considering X, in particular, about two years ago, the X Consortium that was far into the non-free open source. . . .
RMS: Well, actually it wasn’t open-source. They may have said it was. I can’t remember if they said that or not. But it wasn’t open source. It was restricted. You couldn’t commercially distribute, I think. Or you couldn’t commercially distribute a modified version, or something like that. There was a restriction that’s considered unacceptable by both the Free Software movement and the Open Source movement. And yes, that’s what using a non-copyleft license leaves you open to. In fact, the X Consortium had a very rigid policy. They say: If your program is copylefted even a little bit, we won’t distribute it at all. We won’t put it in our distribution.
So, a lot of people were pressured in this way into not copylefting. And the result was that all of their software was wide open, later on. When the same people who had pressured a developer to be too all-permissive, then the X people later said: “All right, now we can put on restrictions,” which wasn’t very ethical of them. But, given the situation, would we really want to scrape up the resources to maintain an alternate GPL-covered version of X? And it wouldn’t make any sense to do that. There are so many other things we need to do. Let’s do them instead. We can cooperate with the X developers.
Q: Do you have a comment, is the GNU a trademark? And is it practical to include it as part of the GNU General Public License allowing trademarks?
RMS: We are, actually, applying for trademark registration on GNU. But it wouldn’t really have anything to do with that. It’s a long story to explain why.
Q: You could require the trademark be displayed with GPL-covered programs.
RMS: No, I don’t think so. The licenses cover individual programs. And when a given program is part of the GNU Project, nobody lies about that. The name of the system as a whole is a different issue. And this is an aside. It’s not worth discussing more.
Q: If there was a button that you could push and force all companies to free their software, would you press it?
RMS: Well, I would only use this for published software. I think that people have the right to write a program privately and use it. And that includes companies. This is privacy issue. And it’s true, there can be times when it is wrong to do that, like if it is tremendously helpful to humanity, and you are withholding it from humanity.
That is a wrong but that’s a different kind of wrong. It’s a different issue, although it’s in the same area.
But yes, I think all published software should be free software. And remember, when it’s not free software, that’s because of government intervention. The government is intervening to make it non-free. The government is creating special legal powers to hand out to the owners of the programs, so that they can have the police stop us from using the programs in certain ways. So I would certainly like to end that.
Ed Schonberg: Richard’s presentation has generated an enormous amount of intellectual energy. I would suggest that some of it should be directed to using, and possibly writing, free software. We should close the proceedings shortly. I want to say that Richard has injected into a profession that is known in the general public for its terminal political nerditude a level of political and moral discussion that is, I think, unprecedented in our profession. And we owe him very big for this. [Audience applause]