MEME 2.04


MEME 2.04

In this issue of MEME:

"In 1971 when I joined the staff of the MIT Artificial Intelligence lab, all of us who helped develop the operating system software, we called ourselves hackers. We were not breaking any laws, at least not in doing the hacking we were paid to do. We were developing software and we were having fun. Hacking refers to the spirit of fun in which we were developing software. The hacker ethic refers to the feelings of right and wrong, to the ethical ideas this community of people had -- that knowledge should be shared with other people who can benefit from it, and that important resources should be utilized rather than wasted."

--Richard Stallman, in MEME 2.04

This issue of MEME presents an interview with Richard Stallman, founder of the Free Software Foundation, recepient of a $240,000 MacArthur "genius" grant, and inveterate hacker of the old-school. Stallman's dream was to create "free" software for the people. Today, that dream is largely realized: several hundred-thousand people now compute for free using the Linux operating system in conjunction with programs from the Free Software Foundation. Without further delay, I'll let Richard tell you the story, in his own words.

David Bennahum: Richard, thanks for taking the time to talk with me today. I want to start our conversation by asking, what is the Free Software Foundation? Why is it important?

Richard Stallman: The Free Software Foundation is important because of the project it hopes to further, which is the GNU project. The GNU Project was started 12 years ago to produce a complete, free operating system which is compatible with Unix. At the time, that seemed like such a large project that it was daunting. Many other people might have liked to see such a thing, but it seemed like such a big job that they went on to do something else. I was determined to reach that goal. I started working by myself, and I invited people to join me, and more and more people started working on it. We looked around to see what free components were available, and we found some like X-Windows and the text-formatter TeX, and we pushed for some components to be made available as free software, such as the Berkeley networking utilities, and many components we wrote ourselves such as the GNU C compiler, GNU EMACS, the GNU Linker, the GNU C Library. Whatever we could not find already available, we had to write.

DB: And the point was?

RS: The idea of a complete free operating system is to make it possible to use a computer entirely with free software. The reason that I sought that goal has do with -- Gee this is coming out all backwards. For some reason you are asking me about the means before we talk about the ends. Talking about the means first and then getting to the ends doesn't make a clear picture.

DB: All right, let's talk about the ends first.

RS: The question to ask is "what is free software and why is it important."

DB: All right. What is it then, why is it important?

RS: Free software is a matter of freedom, not price. Free software means that you the user have certain freedoms. The freedom to run the program, the freedom to adapt the program to your own needs by reading the source code and changing the parts that don't suit you. The freedom to help your neighbor by giving your neighbor a copy of the program, and the freedom to help build your community by adding new capabilities to the program and releasing them so other people can use them and further build on them. This is important because it permits voluntary cooperation. It encourages civic spirit. Every society depends on good will to function. There is no other possible basis for a livable world. People have tried alternatives to good will, for example one alternative was to have a centralized organization tell everybody how to work together. But that didn't work well. Another alternative was to encourage everyone to be totally selfish, and hope that enlightened self-interest would encourage everyone to work together. But that doesn't work well. The general fellowship that leads you to tell someone the time of day, even though you are not going to make any money from it, is what makes the world go round. The most fundamental way of helping other people is to teach people how to do things better, to tell people things that you know that will enable them to better their lives. For people who use computers, this means sharing the recipes you use on your computer, in other words the programs you run. Sharing software between computer users is the most natural form of cooperation. What I decided in the early 1980s was that using computers is only a good way of living if I could do this. However, by that time, most of the software people could use had owners that wouldn't let people share the software or learn how it worked, or change it or improve it. Using software their way was not a way of life I wanted to participate in.

DB: What happened at that time to make the world less willing to share software?

RS: I went to MIT in 1971, and I became part of a community of people who shared software. This community went all the way back to the beginning of computation. It included various high-powered computer science departments, and sometimes computer companies -- people who would write programs and share them with the whole community, and people would improve them. In fact, at MIT we entirely used software that was part of this community. We did not make big fuss over whether it was free, but if anyone wanted a copy, they could have it.

DB: That's because it was part of research?

RS: Well, I don't know if it was because of that. Not all the software was research software. Some of it was written for practical reasons, because we needed a time sharing system.

DB: Who were some of the people with you at the time, at MIT, creating this?

RS: Richard Greenblat, Jeff Rubin, were major system developers at the time. Dave Moon, somewhat later Guy Steele. Those were some of the ones at MIT. There were others at Stanford and Carnegie Mellon, Berkeley and other places.

DB: At the time was there a theme or focus on what was being developed at MIT?

RS: No, no. People using a computer system need a wide range of software, and we developed it all.

DB: Is part of the problem that you created this foundation and then other people could use these programs that didn't come from the same background?

RS: I really don't follow what you are talking about all. When are you talking about? What problem is there?

DB: What I mean is that it seems at some point people decided to no longer be sharing software the way they had been.

RS: What happened was that a student at Carnegie Mellon wrote a text-formatting program and then surprised everyone by selling it to a company, instead of sharing it with the community. The company was very proprietary about it, and very obnoxiously put time bombs into it. Somebody I know spent hours debugging why our copy had ceased to work. Eventually he came across the time bomb which had been put in there purely for profit-insuring purposes. He was extremely angry that he had wasted all that time on a bug that had been deliberately created. From the view point of people in the software sharing community, anything artificially put in to stop people from running a program is simply a deliberate bug. The problem was that nobody censured or punished this student for what he did. He got away with it. The result was other people got tempted to follow his example. Many years he stated that he believed his own program was much less used as a result of his decision, that it would have become far more popular and bug that had been deliberately created. From the view point of people in the software sharing community, anything artificially put in to stop people from running a program is simply a deliberate bug. The problem was that nobody censured or punished this student for what he did. He got away with it. The result was other people got tempted to follow his example. Many years he stated that he believed his own program was much less used as a result of his decision, that it would have become far more popular anden all our old work which was free software became obsolete -- useless. You couldn't use it to run any modern computers. All of a sudden in the early 1980s, if you wanted to get a modern, fast computer and run it, the only way to do that was to get proprietary software. It was a black box. The users had no freedom. Most people just accepted this, but I didn't, because I was more concerned with the quality of life, with the quality of the community, than with simply technical matters. Yes, I love the technology of computers, I enjoy programming, but that wasn't all that mattered to me, and I would not accept anything, no matter what, just to do that.

DB: Is this what might be meant by the phrase the "Hacker Ethic?"

RS: Somewhat. Indeed, the hacker ethic, I should explain first of all who hackers are. In 1971 when I joined the staff of the MIT Artificial Intelligence lab, all of us who helped develop the operating system software, we called ourselves hackers. We were not breaking any laws, at least not in doing the hacking we were paid to do. We were developing software and we were having fun. Hacking refers to the spirit of fun in which we were developing software. The hacker ethic refers to the feelings of right and wrong, to the ethical ideas this community of people had -- that knowledge should be shared with other people who can benefit from it, and that important resources should be utilized rather than wasted. Back in those days computers were quite scarce, and one thing about our computer was it would execute about a third-of-a-million instructions every second, and it would do so whether there was any need to do so or not. If no one used these instructions, they would be wasted. So to have an administrator say, "well you people can use a computer and all the rest of you can't," means that if none of those officially authorized people wanted to use the machine that second, it would go to waste. For many hours every morning it would mostly go to waste. So we decided that was a shame. Anyone should be able to use it who could make use of it, rather than just throwing it away. In general we did not tolerate bureaucratic obstructionism. We felt, "this computer is here, it was bought by the public, it is here to advance human knowledge and do whatever is constructive and useful." So we felt it was better to let anyone at all use it -- to learn about programming, or do any other kind of work other than commercial activity.

DB: So what happens in the early 1980s to change that? The arrival "black box" software?

RS: The black box type of software was crucial. People could no longer learn hacking the way I did, by starting to work on a real operating system, making real improvements. In fact, in the 1980s I often came across newly graduated computer science majors who had never seen a real program in their lives. They had only seen toy exercises, school exercises, because every real program was a trade secret. They never had the experience of writing features for users to really use, and fixing the bugs that real users came across. The things you need to know to do real work.

DB: Is that around when you resigned from the AI lab?

RS: Well I resigned from the AI lab, but that's getting ahead of the game. To explain why, now, would make a confusing order of things, so let's talk about that later when I talk about how I went about the GNU project. I saw that the world, the social system that encouraged people to cooperate was being replaced by one in which cooperation was called piracy, and I decided that all I could possibly get by participating in that was money, and that just money was not enough to live for. I had to aim for something more important than that.

DB: What was that?

RS: Giving people freedom. I was a skilled operating system developer, I had the ability to try at least to change the way things worked. It was clear this was the most important thing I could try to do. By developing another operating system that was free I might or might not advance technology, but I could certainly advance society. I might give people technical abilities and features they didn't have, but certainly, by succeeding to write the operating system, I could give them freedom they didn't have. Giving people freedom and encouraging people to cooperate are the two highest goals of any work we can do.

DB: When did this coalesce into a plan of action for you?

RS: I decided on developing a new operating system in 1983. I concluded it should be a Unix compatible operating system for two reasons. First, I knew that Unix was portable, and therefore it was possible to make such a system portable. Portability had to be a major goal. I knew this project would take many years, and I did not want it to be tied to one computer, which might become obsolete and thus invalidate all the work. Second, by making the system [Unix] compatible there would be a large number of people who would be able to switch without having to throw away the work they had already done. If the had already their programs to run on Unix, they would be able to run on this Unix-compatible system. Having chosen the overall design, the next thing I needed was a name. I chose the name GNU as a recursive acronym, following an old hacker tradition for what you can do when you are developing a program that is compatible. GNU stands for GNU's Not Unix.

DB: What's the image of the recursive algorithm?

RS: Recursive acronym.

DB: Recursive acronym? Why is that a reference to hackers?

RS: Hackers love recursion.

DB: How come?

RS: How can I say?

[Laughter.]

RS: Why do ducks love water? I mean, recursion is a paradoxical thing?

DB: What is it?

RS: You don't know what recursion is?

DB: Well, let's just explain it.

RS: Recursion is self-reference, when you define something in terms of itself.

DB: Why do hackers like that?

RS: Because it is sort of paradoxical that you can successfully define something in terms of itself, that the definition is actually meaningful. People assume that if you define something in terms of itself that you fail to define it all. But that's not always true. The fact that's not always true, that you can define something in terms of itself and have it be well defined, that's a crucial part of computer programming.

DB: So this inspired the name?

RS: Yes. It inspired the tradition of recursive acronyms. It might seem when we say "GNU means GNU's Not Unix" that it refers to itself, and yet at the same time it does perfectly well define this [its meaning].

DB: When you started the GNU project where were you physically located?

RS: I was still working at MIT when I conceived the project. But I had to resign from my job to make sure MIT couldn't take the programs I had written and turn them into proprietary products and license them to companies. I was determined to enable the public to share this software, and I couldn't take the risk of legally being prevented from doing so. So I resigned from my job, but the AI lab graciously let me continue to use their computers, and I've remained physically located at the AI lab, although not employed by it, ever since.

DB: That's great. What do you think their interest is in letting you stay there?

RS: I don't know. Old-time's sake? They like some of the software and use it. A combination of things, I suppose.

DB: Can you give me a sense, some fourteen-odd years later, how the landscape has changed in ways you did not expect in terms of bringing the GNU project to fruition?

RS: A number of things happened that I couldn't predict. For example, my first idea was that computer companies would donate money to help develop the system, and there is a reason why it could have been in their interest: with a free alternative to Unix, they wouldn't have to pay licensing fees to use Unix, and their systems would be cheaper. This potentially could have saved them millions of dollars, and I figured they'd be willing to give us a small fraction of that.

DB: Why didn't they then?RS: I don't know. Conservatism? Lack of faith in an unknown quantity? Whatever the reason was, they didn't. So I and friends just started writing things. After we had some useful software, the real surprise came when found how we could raise funds: by selling copies of free software.

DB: How is that possible?

RS: It seems like an impossibility. That is, if you use a simplistic economic model of the world, then it seems impossible to raise money by selling free software. People told me that, if everyone was free to redistribute the software, I would sell one copy and then whoever bought it would turn around and undersell, and we would never sell another copy again. But they are exaggerating. Anyone who says that people will never pay for something if they don't have to is exaggerating fatally. Look at all the listener-supported radio stations in this country, all of whose money comes from listeners who are not forced to send it. In 1985 we founded the Free Software Foundation, which is a tax-exempt charity for free software development, to promote user's freedom to share software. We get donations from people, but most of our funds have come from selling copies. Originally it was magnetic tapes, now it is CD-ROMs. Thousands of people by our CD-ROMs every year.

DB: What's on those CD-ROMs?

RS: A large collection of free software. People are paying us to get a copy, but once they have the copy they have all the freedoms that are the meaning of free software. That's why it is crucial that "free" refers to software and not price.

DB: The idea is they can alter the source code, they can change things, but what's to stop them from then reselling?

RS: Nothing. Many people do. There are many other CD-ROM distributors who sell copies of GNU software, and they charge less than we do. People buy from the Free Software Foundation because they know when they buy from us the money will go into free software development, and they know that's important for building their community.

DB: How much does a disk cost?

RS: Our source CD collection, which is now two CDs, costs US $60, if an individual is paying out of his own pocket. It costs US $240 if a corporation or other organization is paying.

DB: Can you give me a sense of the ecology that's grown around the Free Software project?

RS: I know the bulk of software now will fill several CD-ROMs. In fact, there are now complete operating systems. The initial goal has been reached. As I was explaining in the false starts, we looked around at the components that were missing. By three years ago, all the essential components existed, except for the operating system kernel, which is one of the most essential components.

DB: So what are the components that exist now?

RS: It's too long too list [here]. Look at a GNU's Bulletin and you'll see the list.

DB: Okay.

RS: So. The component that was missing was the kernel. We were working on it and it wasn't finished. Then another Unix-like free kernel was developed called Linux. By putting together Linux with all the rest of the GNU system it was possible to make a complete free operating system. Now these have hundreds of thousands of users. They are variants of the GNU system. They are not exactly the GNU system, but they are mostly the GNU system. It happens that most people call them Linux systems, identifying the whole system with the kernel, but the result is that the initial goal of the project has in effect been reached. It is now possible to use a computer and do electronic mail, edit your papers, develop software, publish books -- with free software entirely. People now have an alternative to the ugly way of life that four years ago was the only choice.

DB: What about people like me who do not know Unix, who use a Macintosh or Windows type PC? Any thought on how to get them in the loop of even having the option of using a free operating system?

RS: Yes. Most of the free software we have now appeals to programmers, because programmers tend to write programs they are going to want to use. However, I think it is important to have free software that is appealing to non-programming users. Everybody should have freedom, not just hackers. Because of this the Free Software Foundation recently hired someone to develop an icon-based drag-and-drop desktop. We're also working to extend our text-editor, the GNU EMACS text-editor, to handle word processing. We've made it a lot more mouse and menu oriented, so it is getting to the point where beginners can use it quite easily. My hope is we will make the system easier and easier to use so you won't have to learn the Unix shell to use it.

DB: The other trend right now is the arrival of the Internet among consumers. There is this battle right now to distribute proprietary multimedia protocols on the Internet. Do you see this as some kind of opportunity for the Free Software Foundation?

RS: I don't know. I'm not a businessman, I do not look at the world with a businessman's point of view. My view of the world is there is a long list of things we need to be able to do with free software. I'm not terribly concerned with which we get this year and which we get next year, we're just going to continue chipping away. We're going to work unceasingly, eventually we are going to get them all. I don't see this in terms of trying to conquer the world. I'm more concerned with teaching people to value freedom, rather than making a killing and having a big success.

DB: I didn't mean that would make money off of this.

RS: I understand. But the point is, I don't tend to think in terms of "gee, do we have a big opportunity this month." Free software is not the sort of thing where you can say, "this month, let's develop this thing." A lot of it is done by volunteers, and they choose what they are going to do. They write what they feel like writing. I can give them suggestions, but what they do is up to them. I don't try to match what we are going to develop to this particular month's excitement. I just say, "what are things we're missing that are the most important things," then I encourage people to work on them.

DB: Do you have a browser for the Web?

RS: No we don't. But work is being done on one. I expect to have one by the end of this year.

DB: Is that why you do not have a home page?

RS: No. We are putting together web pages, but they're not done yet. We have a machine available to run it on. What we're working on is writing the HTML stuff. I'm not personally involved with that. It is going slowly.

DB: People speculate that the Internet will become a kind of operating system, that we will be plugging into this computer-utility.

RS: I can't see that as making any sense. As computers get faster and faster, and what I want to do stays the same, the reason I would want to use any computer, except the one I am typing on, gets less and less.

DB: What about the element of somehow sharing data and the communications side?

RS: Well, communicating with people is very very useful, and having the Intehe Internet will become a kind of operating system, that we will be plugging into this computer-utility.

RS: I can't see that as making any sense. As computers get faster and faster, and what I want to do stays the same, the reason I would want to use any computer, except the one I am typing on, gets less and less.

DB: What about the element of somehow sharing data and the communications side?

RS: Well, communicating with people is very very useful, and having the Intet like about Java is that it is designed on this assumption that you distribute compiled programs and not source code. I'm very concerned about the availability of source code. I want to be able to study and change a program, and not just run it. There's some people -- a person has proposed the idea of putting an icon in their Web pages to say, "freely distributable source code available, click here." It we can get that going and spread the idea, that might help counter act that particular problem with Java. Of course this isn't a problem with the Java programming language. It's got nothing to do with that. It has to do with the model of compiling it and putting byte codes alone into your Web page, rather than source code.

DB: From your perspective, looking out from 1996, what do you hope to accomplish in the next decade?

RS: The Free Software Foundation is a non-profit organization because I can't foretell the future. As the kind of prophet who predicts the future, I would be a flop.

DB: Is there anything you want to add that I haven't brought up?

RS: The problem is we've gone over things in an unusual way. Gee. I don't know if there is anything else we should talk about. You might want to ask me whether people make money from developing free software.

DB: Why don't you tell me how someone can make a buck off this system.

RS: Two ways that have worked so far include selling -- I've already mentioned how the Free Software Foundation raises money by selling copies -- but another method is selling support. A lot of people, especially organizations that use software, want to have support. Just because the software is fee doesn't mean the support happens automatically. There are people who are interested in paying to get support. This provides an opportunity for the author of a free program, and other people, to go into business. On the one hand, the author has an advantage because the author knows the program quite well and people expect him to do a good job [of supporting the program he wrote]. However, the author does not have a monopoly. Other people can start offering support for free software, this means that there is a free market for support and services.

DB: Can you name some of these companies?

RS: In the U.S? Two companies include -- well, first of all I'm not only talking about companies. We have a service list which includes dozens of people who sell support services. But also in the U.S. there are two companies that offer service support. One is called Cygnus Support, and the other is called Ada Core Technologies. Their sole business is providing support for free software. What this means for users is that they can expect better support. See, there is a myth that if a program is commercial that means it will be well supported.

DB: Why is that?

RS: I don't know why the myth exists. But, I do see people believe this, yet at the same time people's experience of support for commercial software is typically lousy. If you find a problem and send in a bug report, they probably don't admit there is anything wrong. Or maybe they'll say to you in six months you'll be able to buy an upgrade and maybe it will get fixed. That's the most you can get unless you are a gigantic corporation with clout. With free software, if you want the problem fixed tomorrow, you have a choice of people who can do just that for you. If I were running a business, and I wanted some kind of equipment, I would not choose the equipment that was served by a monopoly that I could sue if they weren't doing a good job. I would choose equipment which I could get serviced or repaired or adapted by a lot of people, so that if the first one I tried didn't do the job I could try someone else. Support is the sole business of these support companies, so they have to provide good support. Free software is in fact very important for businesses. The freedom to change a program might sound like something only hackers would care about, but actually it is very important to businesses. It means you are not at the mercy of one monopolistic company.

DB: You created this term called "copyleft." What does this mean?

RS: I don't simply want many people using the program I wrote. I want people to have freedom -- all of them. So I set up a set of distribution terms designed to ensure that every user gets the freedom, and this is called copyleft. Copyleft says that everyone can redistribute this program, everyone can modify it, but no additional restrictions can be added in the process. Every copy, whether it is verbatim or modified, must have all of these freedoms for everyone who has a copy.

DB: Otherwise the system would get closed again.

RS: Exactly. The system of copyleft achieves two things. It makes sure every user who gets a copy gets the freedom, but secondly it also encourages improvements that are made to feed back to the whole community. It is very common for someone to make an improvement in a GNU program, but these people often work for companies, or a university, and both these days are mostly looking for financial advantage, so the person who wrote the improvement might want to share it with the community, but that doesn't mean the employer will approve it. If they see financial gain from withholding the improvement, they are likely to do so. Copyleft makes that impossible. So the improvements get released and everybody benefits.

DB: To wind up our conversation, I want to ask you a couple of personal questions, about your background. Where did you grow up?

RS: I grew up in New York. I moved to Cambridge to go to school, to go to Harvard. While being a student at Harvard and studying physics, I was working at the artificial intelligence lab at MIT, learning hacking.

DB: You mean you could just walk into the lab off the street?

RS: They actually hired me, but yeah, you could walk in and log in. There were no passwords on the computer in those days. For years later, even though the computer was on the ARPANET, which became Internet, we were the only site that had no passwords. Years after everyone was saying life would be intolerable without passwords, we still had none. We didn't want them either.

DB: Do you remember the first time you got your hands on a computer?

RS: Yeah. That was at the IBM New York Scientific Center. That was in 1969. I was 16.

DB: Why did computers appeal to you?

RS: I already knew I loved programming. I wrote programs down on paper, because I didn't have a computer to use, just for the fun of writing them. I couldn't run them, and so I couldn't debug them. They wouldn't really have worked. They weren't doing anything useful. It's just that I was so fascinated with the idea of programming that I just wanted to write a program.

DB: Do you remember, as a kid, what was so cool about programming?

RS: There is no way I can say. It was the fun of building something, while at the same time doing it in a mathematical way. It's the fascination of Tinker Toys or erector sets combined with the fascination of math, and when you can make it do something that's actually visibly useful -- that adds another dimension to it. Programming is fascinating. That's probably why so many people volunteer to write free software.

DB: If people want to get GNU software, how do they do it?

RS: We're listed in the phone book in Boston, Mae fun of building something, while at the same time doing it in a mathematical way. It's the fascination of Tinker Toys or erector sets combined with the fascination of math, and when you can make it do something that's actually visibly useful -- that adds another dimension to it. Programming is fascinating. That's probably why so many people volunteer to write free software.

DB: If people want to get GNU software, how do they do it?

RS: We're listed in the phone book in Boston, Mase taped to my mouth.

DB: Allright. Then I won't include it.

RS: If people use a GNU program and find a bug, they should send to the bug reporting list for that program. This is a community project, and everybody has a job to do, to make it better. The user's job is to report problems. That way the maintainers can work on fixing it.

RS: There's one other thing I should mention, I am the president of the foundation, but I am not paid. I decided, when I first had enough money in the foundation to hire somebody, that it would be throwing away the money to pay that fellow Stallman because I knew he would work on free software anyway.

DB: Thanks for sharing your views with me.

RS: Okay. Happy hacking.

DB: Happy hacking to you too.

Meme 2.04 and its contents copyright 1996 by David S. Bennahum. First spawned by Into The Matrix at http://www.reach.com/matrix. Pass me along all you want, just include this signature file at the end.



Direct comments, bugs and so on to me at davidsol@panix.com.