Pages

Thursday, January 05, 2006

Face to Face: Richard Stallman

Free Software as a Social Movement
Justin Podur interviews Richard Stallman

Richard Stallman is one of the founders of the Free Software Movement and lead developer of the GNU Operating System. His book is 'Free Software, Free Society'. I caught up with him by phone on December 1/05.

JP: Can you first of all explain the "Free Software Movement'.

RMS: The basic idea of the Free Software Movement is that the user of software deserves certain freedoms. There are four essential freedoms, which we label freedoms 0 through 3.
Freedom 0 is the freedom to run the software as you wish. Freedom 1 is the freedom to study and change the source code as you wish. Freedom 2 is the freedom to copy and distribute the software as you wish. And freedom 3 is the freedom to create and distribute modified versions as you wish. With these four freedoms, users have full control of their own computers, and can use their computers to cooperate in a community. Freedoms 0 and 2 directly benefit all users, since all users can exercise them. Freedoms 1 and 3, only programmers can directly exercise, but everyone benefits from them, because everyone can adopt (or not) the changes that programmers make. Thus, free software develops under the control of its users.

Non-free software, by contrast, keeps users divided and helpless. It is distributed in a social scheme designed to divide and subjugate. The developers of non-free software have power over their users, and they use this power to the detriment of users in various ways. It is common for non-free software to contain malicious features, features that exist not because the users want them, but because the developers want to force them on the users. The aim of the free software movement is to escape from non-free software.

JP: What was your history with the free software movement?

RMS: I launched the movement in 1983 with a deliberate decision to develop a complete world of free software. The idea is not just to produce a scattering of free programs that were nice to use. Rather, the idea is to systematically build free software so that one can escape completely from non-free software. Non-free software is basically antisocial, it subjugates it users, and it should not exist. So what I wanted was to create a community in which it does not exist. A community where we would escape from non-free software into freedom.

The first collection of programs you need in order to escape non-free software is an operating system. With an operating system, you can do a lot of things with your computer. Without an operating system, even if you have a lot of applications, you cannot do anything -- you cannot run them without an operating system. In 1983 all operating systems were proprietary. That meant that the first step you had to take in using a computer was to give up your freedom: they required users to sign a contract, a promise not to share, just to get an executable version that you couldn't look at or understand. In order to use your computer you had to sign something saying you would betray your community.

Thus, I needed to create a free operating system. It happened that operating system development was my field, so I was technically suited for the task. It was also the first job that had to be done.
The operating system we created was compatible with Unix, and was called GNU. GNU stands for "GNU is Not Unix", and the most important thing about GNU is that it is not Unix. Unix is a non-free operating system, and you are not allowed to make a free version of Unix. We developed a free system that is like Unix, but not Unix. We wrote all the parts of it from scratch.
In 1983, there were hundreds of components to the Unix operating system. We began the long process of replacing them one by one. Some of the components took a few days, others took a year or several.

By 1992, we had all of the essential components except one: the kernel. The kernel is one of the major essential components of the system. In GNU, we began developing a kernel in 1990. I chose the initial design based on a belief that it would be a quick design to implement. My choice backfired and it took much longer than I'd hoped. In 1992, the Linux kernel was liberated. It had been released in 1991, but on a non-free license. In 1992 the developer changed the license for the kernel, making it free. That meant we had a free operating system, which I call "GNU/Linux' or "GNU plus Linux'.

However, when this combination was made, the users got confused, and began to call the whole thing "Linux'. That is not very nice.

First of all, it isn't nice because there are thousands of people involved in the GNU project who deserve a share of the credit. We started the project, and did the biggest part of the work, so we deserve to get equal mention. (Some people believe that the kernel alone is more important than the rest of the operating system. This belief appears to result from an attempt to construct a justification for the "Linux" misnomer.)

But there is more at stake than just credit: the GNU Project was a campaign for freedom, and Linux was not. The developer of Linux had other motives, motives that were more personal. That does not diminish the value of his contribution. His motives were not bad. He developed the system in order to amuse himself and learn. Amusing oneself is good -- programming is great fun. Wanting to learn is also good. But Linux was not designed with the goal of liberating cyberspace, and the motives for Linux would not have given us the whole GNU/Linux system. tens of millions of users are using an operating system that was developed so they could have freedom -- but they don't know this, because they think the system is Linux and that it was developed by a student "just for fun'. (FULL TEXT)

No comments: