Richard Stallman is the founder of the GNU Project, launched in 1984 to develop the free operating system GNU, and thereby give computer users the freedom that most of them have lost. Here he shares with Kevin Bedell and LWM readers the history of the GNU Project and, more important, the philosophy behind it.
LWM: So, Richard, what's GNU?
Richard Stallman: GNU is Not Unix. GNU is the name of the operating system that I began developing in 1984 - an operating system meant to be entirely free software. It's a Unix-compatible operating system and the name GNU, standing for GNU is Not Unix, is a recursive acronym which is programmer's humor; a way to give credit to Unix for its ideas, but say that this is something different.
LWM: How is it different?
Stallman: Well, for one thing, technically it is different because the code was entirely different. We wrote the code. We didn't use the code of Unix, which was a proprietary software product. We couldn't use the code of Unix. It was not available to us.
The thing that really matters, the difference that is important, is that GNU is free software. Free software is not a matter of price; it is a matter of freedom. It means that you, the user, are free to do what you want with your computer.
When a program is not free, that means the users are not in control of it. It means that the owner of the program controls it and keeps the users divided and helpless. Divided because they are forbidden to share with each other, helpless because they can't see what the program really does and they can't change it.
But free software respects your freedom. Free software means you have four essential freedoms. Freedom zero is the freedom to run the program for any purpose. Freedom one is the freedom to help yourself, the freedom to study the source code to see what the program really does and then change it to suit your desires. Freedom two is the freedom to help your neighbor, that is distributing copies to others. Freedom three is the freedom to help build your community through publishing and improved versions so that others can make use of your contribution.
All these freedoms are essential in order for users to be able to use the program as a community cooperating with each other whenever they want to cooperate. With these freedoms the users control the software they use.
If you know how to program, you can personally make the program do what you want. But even if you don't know how to program, you've still got the benefit because other people who can program will make changes and some of them you will like and you can use the version with those changes. Also, you have the freedom to hire a programmer to change the program the way you want. Ultimately, the users are in control and the software responds to what the users want.
That's not true with the factory software because the developers have other interests besides pleasing the users. Often they put in malicious features and refuse to take them out, even when users find out about them, because they know you don't have power; they have all the power. If they decide to keep that malicious feature in there, you can't take it out. All you can do is hope someone else will make another program that doesn't have that malicious feature. Sometimes that doesn't happen. Sometimes all the proprietary programs have the malicious feature.
LWM: Would you mind talking a little bit about the GNU Project - a little of its history and some of the major milestones of the last 20 years?
Stallman: I should explain this. It's more important to talk about the GNU operating system because GNU is the name of an operating system. There is also the GNU Project; that's the project to develop the GNU operating system.
I have often spoken of the GNU Project. You've got to really understand what's going on; think of the GNU operating system. We also have GNU licenses, which are licenses that I wrote for use on software that we wrote for the GNU system and the many GNU software packages. These are programs that are developed for or contributed specifically to the GNU operating system. They are part of the GNU operating system and are released under the auspices of the GNU Project. So, there's a lot you can say about those things, but the most important thing is that they are all aspects of developing the GNU operating system.
Twenty years ago, I wanted to be able to use a computer and live in freedom. But this was impossible because all the operating systems for modern computers were proprietary and you can't run a computer without an operating system, so it was impossible to run a modern computer without giving away your freedom and, most especially, the freedom to help your neighbor. If you give up that freedom you are not just hurting yourself, you are hurting your neighbors too. It's a violation of social solidarity; it's your duty to say no to non-free software.
The only way it could be possible to use a computer in freedom was to change the fact that all operating systems for modern computers were proprietary. I couldn't make the existing operating systems free software because I was just one man, and the companies that made those systems were hardly likely to pay attention to my views.
What I could do was develop another system and make it free. I did know how to develop software, so I chose a way to reach freedom by developing software, software that offered people the chance to live in freedom.
The GNU operating system is a new continent in cyberspace that we built so that we could go there and live in freedom. Unlike the Americas, we didn't steal it from anyone. We built it. We built it empty and then we went to live there and there's room there for everybody. Everyone can have freedom if they insist on using only free software.
LWM: If I work for a company and am interested in using free software or in supporting free software and trying to prove these ideas, what action would you recommend that I take?
Stallman: If you are good at programming, what you should do is write some free software programs. That's one thing you can do, write some free software.
If you are good at writing English text, then write manuals. We really need manuals. It's harder to find people who want to write free manuals than people who want to write free software. If you have the skill to write manuals, please work on that for us.
Another thing that you can do is start organizing users politically to write for freedom. This is extremely important, giving speeches about the issues of freedom for computer users. This is vital if we are going to resist the threats that our community faces now.
Another thing that you can do, it's less effective, but worth doing, better than nothing, is to convince your company to use free software. Convincing some people to use free software is not as big a contribution as adding to the free software or organizing people politically, but if that's what you see how to do, then it's certainly a contribution, it's better than not contributing at all.
LWM: What steps could others take to help?
Stallman: The easiest thing you could do, in the least amount of time, is to help correct the two common confusions in our community. One common confusion is to refer to the entire GNU system as Linux and the other is the idea that the system was developed by people who advocate open source.
Now there really is a Linux. Linux is the program used in the kernel in the version of GNU that is popular. In 1991 GNU was almost finished, but not entirely. It was missing a kernel. Then Linus Torvolds wrote a free kernel. Actually, initially it was not free, but in 1992 he made it free. He re-released it under a free software license that I had written for the GNU Project.
At that point, it was possible to use Linux to fill the gap that remained in GNU and produce an entirely free operating system. That's what people did, and that system is now used by tens of millions of people; versions of that system are distributed by Debian and Red Hat and Mandrake and some other companies that you really shouldn't deal with.
So Linux really exists. It's really part of the system, but it's just a part. And there really is such a thing as open source; there are people who advocate open source. Those are people who like free software, but don't want to talk about it as an issue of right and wrong.
In the free software movement, we developed the GNU system because non-free software was denying us our freedom. It's a social problem. We wanted to escape from non-free software, so we built an alternative. That's the idea of the free software movement, and that's the reason our community exists.
However, after the community existed and as our software developed a reputation for being powerful and reliable, many people started using it without thinking about these social issues. They started talking about how good our software was - and by good they didn't mean ethically good, they meant technically good.
In 1998, 14 years after the beginning of GNU development, some of them started an alternative movement; they use the term open source in that movement, and they don't say that non-free software is wrong. They don't say that this is an issue of your freedom; they just say that it is convenient to be able to change and redistribute software. They say that it tends to make technically better software.
Well, maybe they are right - and if so, that's a nice bonus - but I want to live in freedom even if it means that I have worse software. I want to live in freedom even if I have to write all the software myself. Our community exists and the GNU plus Linux system exists primarily because of people who value freedom in this life. People who have open source views contribute every day. There are considerable amounts of free software that were developed by people with these views.
For instance, there is Linux - a kernel used in the GNU/Linux operating system. That was developed by a person whose views fit in with the open source movements. He has a right to have his views and promote his views. But those views would never motivate anyone to make an entire free system because they don't logically call for one. Our views call for one; if you want to escape from non-free software, you must aim for an entirely free operating system.
There is a direct connection between the free software philosophical view that this is an issue of freedom and the existence of a complete free system.
The open source movement can motivate people to add to our system, but it doesn't logically provide a reason to have made a complete free system in the first place, and unfortunately it doesn't show people a reason to resist adulterating the system with non-free software today, which is a major problem that we constantly face.
LWM: So, can you simply describe the difference between free software and open source? I know we discussed it a little bit, but I think there are a lot of people that may not know specifically.
Stallman: Yeah. I will explain. These are two different movements with different philosophies that rest on different basic values.
In the free software movement, we cite both practical benefits and ethical and social imperatives for making software free. We look at non-free software as something that tramples our freedom. It's wrong. It shouldn't exist and we are trying to get it out of our lives.
The open source group won't say anything like that. They say that they have a better development model, better only in the technical sense that it tends to result in higher-quality software.
That may be true, and that may be one valid reason to use free software, but it is missing the most important point. I would much rather have a free program - a program that respects my freedom, doesn't trample my freedom, that is technically inferior - than a powerful, attractive program that keeps me divided from you and keeps me helpless.
The open source people think that that's ridiculous; they want the technically best program regardless of how it treats their freedom and they argue that usually the program that respects your freedom will also be technically better. Both movements can motivate somebody to develop a program that's free.
What we say and what they say are worlds apart. You just have to put them side by side and the difference will jump out at you. For them, non-free software is a usually inferior solution. For us non-free software is a social problem and our goal is to solve that problem by replacing it with free software.
LWM: I'm not sure if all of our readers know that you are also the original author of the Emacs editor. Could you tell us a little bit about that?
Stallman: I wrote the original Emacs in 1975, but the first step was actually in 1973. I was working on improving the Teco editor, which was in the incompatible timesharing system (ITS) [the famous ITS system that was developed at MIT. See http://en.wikipedia.org/wiki/Incompatible_Timesharing_System - ed.]. I was rewriting, at the time, a real-time editing mode.
Later, I gave it the name Emacs, because at the time there was a tradition of trying to give popular programs a one-letter abbreviation. Most of the letters were taken already, but there was nothing called e, so I called it Emacs. There was a tradition of calling these "Teco-based editors" because Teco programs were called macros. They are called "Teco macros." So, Teco-based editors were typically called "something mac" or "something macs." They were considered collections of macros.
Wanting the abbreviation to be "E," I called this one "Emacs." So, that was how the first Emacs got written.
LWM: How can people help support the Free Software Foundation?
Stallman: Well, one way is to just send us a donation. You could also buy a book we sell. We sell copies of free manuals. They are free in the sense of freedom. You can get the source code online, and you can modify it and republish it. We charge money for the printed copies, and we charge more than they cost us so that you will be supporting us if you buy one. Please buy it directly from us, not from some intermediary; that way you will pay the same amount, but we will get more of it to use for our operations. You could buy my book of essays, Free Software, Free Society. You could buy a T-shirt. You could buy a tin or a key ring or a tie clip that has GNU on it. You could become an associate member of the FSF. Most of our funds come from individuals. We don't get a lot of corporate funds.
LWM: Of all the programs you have written and worked with, which one is your favorite?
Stallman: I guess Emacs is. GCC is more important in terms of making the GNU system possible. But, just as a program I really love Emacs. In the small amount of time I still have left for programming, I work on Emacs.
About Richard Stallman
Richard Stallman graduated from Harvard in 1974 with a BA degree in physics. During his college years, he also worked as a staff hacker at the MIT Artificial Intelligence Lab, learning operating system development by doing it. He wrote the first extensible Emacs text editor there in 1975. In January 1984 he resigned from MIT to start the GNU project.
Stallman received the Grace Hopper award for 1991 from the Association for Computing Machinery, for his development of the first Emacs editor. In 1990 he was awarded a Macarthur foundation fellowship, and in 1996 an honorary doctorate from the Royal Institute of Technology in Sweden. In 1998 he received the Electronic Frontier Foundation's pioneer award along with Linus Torvalds. In 1999 he received the Yuri Rubinski award. In 2001 he received a second honorary doctorate, from the University of Glasgow, and shared the Takeda award for social/economic betterment with Torvalds and Ken Sakamura. In 2002 he was elected to the U.S. National Academy of Engineering, and in 2003 to the American Academy of Arts and Sciences. In 2003 he was named an honorary professor of the Universided Nacional de Ingenieria in Peru, and received an honorary doctorate from the Free University of Brussels.
What do you think? Join the Feedback to this item.