Free Software as a Social Movement
Free Software as a Social Movement
NOTE: ZNet has begun to explore the possibility of converting to free software. If you would like to help in this effort, please go to the Free ZNet Project forums, register, and introduce yourself.
NOTE: ZNet has begun to explore the possibility of converting to free software. If you would like to help in this effort, please go to the Free ZNet Project forums, register, and introduce yourself.
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.
Today 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'.
JP: So the GNU+Linux system is not an accident.
RMS: You cannot rely on accidents to defend freedom. Accidents can sometimes help, but you need people who are aware and determined to do this. Because it was not designed specifically for freedom, it is no coincidence that the first license to Linux was non-free. In fact I don't know why he changed it.
JP: Does the difference between the GNU project and Linux relate to the difference between "free software' and "open source'?
RMS: As GNU+Linux came to be used by thousands, and then hundreds of thousands, and then millions, they started to talk to each other: Look at how powerful, reliable, convenient, cheap, and fun this system is. Most people talking about it, though, never mentioned that it was about freedom. They never thought about it that way. And so our work spread to more people than our ideas did.
Linus Torvalds, the developer of Linux, never agreed with our ideas. He was not a proponent of the ethical aspects of our ideas or a critic of the antisocial nature of non-free software. He just claimed that our software was technically superior to particular competitors.
That claim happened to be true: in the 1990s, someone did a controlled experiment to measure the reliability of software, feeding random input sequences into different programs (Unix systems and GNU systems), and found GNU to be the most reliable. He repeated the tests years later, and GNU was still the most reliable.
The ideas of Torvalds led by 1996 to a division in the community on goals. One group was for freedom, the other for powerful and reliable software. There were regular public arguments. In 1998 the other camp chose the term "open source' to describe their position. "Open source' is not a movement, in my view. It is, perhaps, a collection of ideas, or a campaign.
JP: Since we will be talking about this more, perhaps now is a good time to define "movement'.
RMS: I don't have a definition ready, I'll have to think of one. Let us define it as a collection of people working to promote an ideal. Or maybe, an ideal, together with an activity to promote it.
JP: So, "open source' is missing the ideal part?
RMS: They recommend a development methodology and claim that the model will produce superior software. If so, to us, it's a bonus. Freedom often allows one to achieve convenience. I appreciate having more powerful software, and if freedom helps that, good. But for us in the free software movement that is secondary.
JP: And in fact one should be willing to sacrifice some power and convenience of the software for freedom.
The Politics of Free Software
JP: Many of ZNet's readers see themselves as part of some movement -- anti-poverty, or anti-war, or for some other form of social change. Can you say something about why such folks ought to pay attention and relate to the free software movement?
RMS: If you are against the globalization of business power, you should be for free software.
JP: -- But it isn't the global aspect of business power, is it? If it were local business power, that wouldn't be acceptable?
RMS: -- People who say they are against globalization are really against the globalization of business power. They are not actually against globalization as such, because there are other kinds of globalization, the globalization of cooperation and sharing knowledge, which they are not against. Free software replaces business power with cooperation and the sharing of knowledge.
Globalizing a bad thing makes it worse. Business power is bad, so globalizing it is worse. But globalizing a good thing is usually good. Cooperation and sharing of knowledge are good, and when they happen globally, they are even better.
The kind of globalization there are demonstrations against is the globalization of business power. And free software is a part of that movement. It is the expression of the opposition to domination of software users by software developers.
JP: How would you respond to those who suggest that free software activists lack a sense of proportion? Given the vast scale and suffering of war, invasions, occupations, poverty, doesn't the freedom to use computers pale to insignificance?
RMS: Maybe our views have been misrepresented. It is impossible for one person to be involved in all issues. It shouldn't be surprising that a programmer would be involved where his skills and talents are most effective.
If I thought free software was the only or most important issue, I can see how people might think that that lacks proportion. But I do not think it is the only or most important issue. I just believe this is where I can do the most good.
A problem arises when people who might be sympathetic to our ethical position, but focus on other issues, fall into the habit of helping to pressure others into using non-free software. It falls to me to tell them they are doing so, that they with their own actions are giving certain large companies more power. When you send someone a ".doc' file, a "Word' file, or an audio or video file in RealPlayer or Quicktime format, you are actually pressuring someone to give up their freedom. Perhaps because I constantly have to bring this up, people believe I don't have a sense of proportion.
Sometimes people take for granted that I will participate in those activities with them. Thus, when I webcast a speech, I have to ask which format it is going to be webcast in. I am not going to go along with a webcast of my speech about freedom that you have to give up your freedom in order to hear or watch. Once I put my coat over a camera before giving my speech, when I learned it was webcasting in RealPlayer format.
JP: Gandhi, in his "Hind Swaraj', which was originally a series of newspaper articles, asked himself and answered a similar question. He was talking about how India had to get rid not only of British control, but of all of the bad attributes of "western civilization'. He asked himself: "How can one argue against western civilization using a printing press and writing in English'? His answer was that sometimes you have to use poison to kill poison.
RMS: But knowing English doesn't subjugate -- you didn't have to give up any freedom in India to know English. And I imagine that in India, with so many different languages, there was no better language he could use to communicate.
JP: When you say there was no better language than English, are you suggesting that it becomes an ethical issue when there is an alternative, but not before?
RMS: It becomes an ethical issue when there is a restriction. The use of English might be good or bad for India, but knowing it doesn't take away your freedom. India regained independence but didn't get rid of English; in fact, I learned recently that there are people in India today whose first language is English and don't speak other languages.
By contrast, to put RealPlayer on your computer, you actually have to give up some of your freedom.
JP: Should ZNet use free software?
RMS: The alternative is herding people into giving up their freedom, which is acting contrary to the spirit and purpose of Z.
Most people have not recognized that there is an ethical choice involved in the use of software, because most people have only seen proprietary software and have not begun to consider alternative social arrangements. Z Mag is accustomed to looking at the justice of social arrangements, and could help others consider the social arrangements about software.
JP: But is there still an ethical issue if there is no alternative? If, say, there is no free software way of doing a particular job, for ZNet for example?
RMS: One can live without doing those jobs.
JP: What criteria? How can one decide such a thing?
RMS: If you absolutely must do a particular job then you should contribute to the creation of a free replacement. If you are not a programmer, you can still find a way to contribute--such as by donating money so others can develop it.
JP: So can you see no circumstances in which using non-free software would be the lesser of evils?
RMS: There are some special circumstances. To develop GNU, I used Unix. But first, I thought about whether it would be ethical to do that.
I concluded it was legitimate to use Unix to develop GNU, because GNU's purpose was to help everyone else stop using Unix sooner. We weren't merely using Unix to do some worthwhile job, we were using it to end the specific evil that we were participating in.
JP: So for ZNet, you wouldn't advocate something that involved losing readers, scaling back operations ?
RMS: You wouldn't have to.
There is a University in Brazil that decided to switch entirely to free software, but they could not find free software to do certain necessary jobs, so they hired programmers to develop the free software. (This cost a part of the money they saved on license fees.) ZNet could do that, too. If you participate in development of the free replacement for a program, then you can excuse temporarily continuing to run it.
In the case of ZNet, I doubt you would need any free software that doesn't exist. Web sites and magazines already run with free software exclusively. You could probably switch very easily.
Capitalism and Strategy
JP: I have read other interviews with you in which you said you are not anti-capitalist. I think a definition of capitalism might help here.
RMS: Capitalism is organizing society mainly around business that people are free to do within certain rules.
RMS: I don't have a definition of business ready. I think we know what business means.
JP: -- But "anti-capitalists' use a different definition. They see capitalism as markets, private property, and, fundamentally, class hierarchy and class division. Do you see class as fundamental to capitalism?
RMS: No. We have had a lot of social mobility, class mobility, in the United States. Fixed classes--which I do not like--are not a necessary aspect of capitalism.
However, I don't believe that you can use social mobility as an excuse for poverty. If someone who is very poor has a 5% chance of getting rich, that does not justify denying that person food, shelter, clothing, medical care, or education. I believe in the welfare state.
JP: But you are not for equality of outcomes?
RMS: No, I'm not for equality of outcomes. I want to prevent horrible outcomes. But aside from keeping people safe from excruciating outcomes, I believe some inequality is unavoidable.
JP: Inequality based on how much effort people put forth?
RMS: Yes, but also luck.
JP: You don't want society to reward luck, though.
RMS: Luck is just another word for chance. It is unavoidable that chance has an effect on your life. But poverty is avoidable. It is horrible for people to suffer hunger, death for lack of medical care, to work 12 hours a day just to survive. (Well, I work 12 hours a day, but that's unpaid activism, not a job -- so it's ok.)
JP: You get the chance to exercise your talents, which is rewarding. Do you think society should reward people for their innate talents?
RMS: Not directly, but people can use their talents to do things. I don't have a problem with someone using their talents to become successful, I just don't think the highest calling is success. Things like freedom and the expansion of knowledge are beyond success, beyond the personal. Personal success is not wrong, but it is limited in importance, and once you have enough of it it is a shame to keep striving for that, instead of for truth, beauty, or justice.
I'm a Liberal, in US terms (not Canadian terms). I'm against fascism.
JP: A definition would help here too.
RMS: Fascism is a system of government that sucks up to business and has no respect for human rights. So the Bush regime is an example, but there are lots of others. In fact, it seems we are moving towards more fascism globally.
JP: It is interesting that you used the term "escape' at the beginning of the interview. Most people who think about "movements' think in terms of building an opposition, changing public opinion, and forcing concessions from the powerful.
RMS: What we are doing is direct action. I did not think I could get anywhere convincing the software companies to make free software if I did political activities, and in any case I did not have any talent or skills for it. So I just started writing software. I said, if those companies won't respect our freedom, we'll develop our own software that does.
JP: But if we are talking about governments and fascism, what do you do when they simply make your software illegal?
RMS: Well, then you are shafted. That is what has happened. Certain kinds of free software are illegal.
JP: What is an example?
RMS: Software to play DVDs. There is a program called DECSS still circulating underground. But not only has the US outlawed it, but the US is pressuring other countries to adopt the same censorship. Canada was considering it, I'm not sure how the case turned out. The European Union adopted a directive and now countries are implementing it with laws that are actually harsher than the directive.
JP: How do you deal with that?
RMS: We are trying to oppose it in the countries that have not passed it and, eventually, we hope to get it abolished and liberate the countries that have. We cannot do that by direct action, but developing the software can still be done underground. I think that, in the US, developing it and not distributing it is not illegal.
Free Software Movement Issues
JP: Let's conclude with some of the other issues the free software movement is dealing with.
RMS: The main issues are hardware with secret specifications, software patents, and treacherous computing.
On hardware with secret specifications: it is hard to write free software for hardware whose specifications are secret. In the 1970s the computer company would hand you a manual with information about every level of interface, from the electrical signals to the software, so you could properly use their products. But for the past 10-15 years, there has been hardware whose specs are secret. Proprietary software developers can get the specs if they sign a non-disclosure agreement; the public cannot.
So we are forced to experiment and reverse-engineer, which takes time, or pressure the companies, which sometimes works. The worst example is in 3-D graphics, in which most chip specs are secret. One company has published its specs, and drivers have been written for another without help. But the company ``NVidious' (that's what I call it) has not been co-operative, and I think people should not buy computers with its chips.
An illustration of software patents is excerpted from my op-ed from the UK Guardian:
A novel and a modern complex programme have certain points in common: each is large and implements many ideas. Suppose patent law had been applied to novels in the 1800s; suppose states such as France had permitted the patenting of literary ideas. How would this have affected Hugo's writing? How would the effects of literary patents compare with the effects of literary copyright?
Consider the novel Les Misérables, written by Hugo. Because he wrote it, the copyright belonged only to him. He did not have to fear that some stranger could sue him for copyright infringement and win. That was impossible, because copyright covers only the details of a work of authorship, and only restricts copying. Hugo had not copied Les Misérables, so he was not in danger.
Patents work differently. They cover ideas - each patent is a monopoly on practising some idea, which is described in the patent itself.
Here's one example of a hypothetical literary patent:
Claim 1: a communication process that represents, in the mind of a reader, the concept of a character who has been in jail for a long time and becomes bitter towards society and humankind.
Claim 2: a communication process according to claim 1, wherein said character subsequently finds moral redemption through the kindness of another.
Claim 3: a communication process according to claims 1 and 2, wherein said character changes his name during the story.
If such a patent had existed in 1862 when Les Misérables was published, the novel would have infringed all three claims - all these things happened to Jean Valjean in the novel. Hugo could have been sued, and would have lost. The novel could have been prohibited - in effect, censored - by the patent holder.
Now consider this hypothetical literary patent:
Claim 1: a communication process that represents in the mind of a reader the concept of a character who has been in jail for a long time and subsequently changes his name.
Les Misérables would have infringed that patent too, because this description too fits the life story of Jean Valjean. And here's another hypothetical patent:
Claim 1: a communication process that represents in the mind of a reader the concept of a character who finds moral redemption and then changes his name.
Jean Valjean would have infringed this patent too.
These three patents would all cover the story of one character in a novel. They overlap, but they do not precisely duplicate each other, so they could all be valid simultaneously; all three patent holders could have sued Victor Hugo. Any one of them could have prohibited publication of Les Misérables.
Other aspects of Les Misérables could also have run afoul of patents. For instance, there could have been a patent on a fictionalized portrayal of the Battle of Waterloo, or a patent on using Parisian slang in fiction. Two more lawsuits. In fact, there is no limit to the number of different patents that might have been applicable for suing the author of a work such as Les Misérables. All the patent holders would say they deserved a reward for the literary progress that their patented ideas represent, but these obstacles would not promote progress in literature, they would only obstruct it.
This analogy can help non-programmers see what software patents do. Software patents cover features, such as defining abbreviations in a word processor, or natural order recalculation in a spreadsheet. Patents cover algorithms that programs need to use. Patents cover aspects of file formats, such as Microsoft's new formats for Word files. MPEG 2 video format is covered by 39 different US patents.
Just as one novel could infringe many different literary patents at once, one program can infringe many different patents at once. It is so much work to identify all the patents infringed by a large program that only one such study has been done. A 2004 study of Linux, the kernel of the GNU/Linux operating system, found it infringed 283 different US software patents. That is to say, each of these 283 different patents covers some computational process found somewhere in the thousands of pages of source code of Linux.
That's why software patents act like landmines for software developers. And for software users, since the users can be sued too.
Treacherous computing is a plan to change the design of future PCs so that they will obey software developers instead of you. From the purpetrators' point of view, it is "trusted", so they call it "trusted computing"; from the user's point of view, it is treacherous. Which name you call it expresses whose side you're on. The new XBox is a preview--it is designed to prevent the user from installing any software without getting Microsoft's authorization. Here's more explanation from my essay, 'Can you trust your computer':
The technical idea underlying treacherous computing is that the computer includes a digital encryption and signature device, and the keys are kept secret from you. Proprietary programs will use this device to control which other programs you can run, which documents or data you can access, and what programs you can pass them to. These programs will continually download new authorization rules through the Internet, and impose those rules automatically on your work. If you don't allow your computer to obtain the new rules periodically from the Internet, some capabilities will automatically cease to function.
Programs that use treacherous computing will continually download new authorization rules through the Internet, and impose those rules automatically on your work. If Microsoft, or the US government, does not like what you said in a document you wrote, they could post new instructions telling all computers to refuse to let anyone read that document. Each computer would obey when it downloads the new instructions. Your writing would be subject to 1984-style retroactive erasure. You might be unable to read it yourself.
Treacherous computing puts the existence of free operating systems and free applications at risk, because you may not be able to run them at all. Some versions of treacherous computing would require the operating system to be specifically authorized by a particular company. Free operating systems could not be installed. Some versions of treacherous computing would require every program to be specifically authorized by the operating system developer. You could not run free applications on such a system. If you did figure out how, and told someone, that could be a crime.
ZNet has begun to explore the possibility of converting to free software. If you would like to help in this effort, please go to the Free ZNet Project forums, register, and introduce yourself.