The Free Software Movement and the Future of Freedom; March 9th 2006
The following is a transcript of a lecture given by Richard Stallman in Zagreb on March 9th 2006. The lecture was given in English. You may also be interested in our list of transcripts by Richard Stallman.
Richard Stallman launched the GNU project in 1983, and with it the Free Software movement. Stallman is the president of FSF - a sister organisation of FSFE.
Transcription of this presentation was undertaken by Ciarán O'Riordan. Please support work such as this by joining the Fellowship of FSFE, by donating to FSFE, and by encouraging others to do each.
An audio recording of the lecture is online at:
- What is Free Software?
- Why are these the essential freedoms?
- Freedom two
- Freedom zero
- Freedom one
- Freedom three
- Directly funding Free Software development
- Comparing free and proprietary software
- The situation in 1983
- Choosing the Unix design
- The name "GNU"
- GNU and Linux
- Software freedom needs to be widely understood
- We urgently need people to work on "stage 2"
- Today, we have enemies
- We need to stop wasting our market power
- Treacherous Computing
- The DMCA and EUCD laws
- Software patents
- More legislative battles to come
- Free Software and schools
- St. IGNUcius and the Church of Emacs
- Question #1: Can you comment on Mono?
- Question #2: What do you think of BSD licences?
- Question #3: What if people violate our licences?
- Question #4: It should be made clearer that publishing modifications is optional
- Question #5: Does your halo contain proprietary software?
- Question #6: Can you comment on the Creative Commons licence(s)?
- Question #7: Do you know any free culture organisation?
- Question #8: Shouldn't Free Software be expensive because it is valuable?
- Links for further reading
The lecture transcript
(go to menu) [Section: What is Free Software?]
Richard Stallman: What is Free Software? Free Software means software that respects the user's freedom. Software available to you but without respecting your freedom is called proprietary software or non-Free Software.
Proprietary software keeps users divided and helpless. Divided because each user is forbidden to share with other people, and helpless because the users don't have the source code, so they can't change anything, they can't even tell what the program is really doing.
But Free Software, which I believe is translated [into Croation] as slobodni softver, is software that respects the user's freedom. What do I mean by this? Because it's never enough just to say "I'm in favour of freedom", the crucial issue is always: what are the essential freedoms that everyone should have?
There are four essential freedoms for the user of a program.
- Freedom zero is the freedom to run the program as you wish, for any purpose.
- Freedom one is the freedom to study the source code of the program and change it to do what you wish.
- Freedom two is the freedom to help your neighbour. That's the freedom to make copies and distribute them to others, when you wish.
- Freedom three is the freedom to help your community. That's the freedom to distribute or publish modified versions, when you wish.
With all four of these freedoms, the program is Free Software. If one of these freedoms is substantially missing - is insufficiently available - then the program is proprietary software, which means it is distributed in an unethical system and therefore should not be used and should not be developed at all.
Please note that the majority of software, nearly all software, is neither free nor proprietary, it is custom software developed for one particular user. If that one particular user has all these freedoms, say, if that user has the full rights to the software, then you might say in a trivial sense that it's Free Software. There's only one user and that user is free. No user has been subjugated; no one is being mistreated in this way. Of course there are always other ethical issues that might enter the situation. There are many ethical issues in life, but in this one particular ethical issue, at least in that case, nothing wrong is being done.
(go to menu) [Section: Why are these the essential freedoms?]
But why are these four freedoms essential? Why define the term Free Software this way?
(go to menu) [Section: Freedom two]
Freedom two is essential on fundamental ethical grounds, so that you can live an upright, ethical life as a member of your community. If you use a program that does not give you freedom number two, you're in danger of falling at any moment into a moral dilema. When your friend says "that's a nice program, could I have a copy?" At that moment, you will have to choose between two evils. One evil is: give your friend a copy and violate the licence of the program. The other evil is: deny your friend a copy and comply with the licence of the program.
Once you are in that situation, you should choose the lesser evil. The lesser evil is to give your friend a copy and violate the licence of the program.
Now, why is that the lesser evil? The reason is that we can assume that your friend has treated you well and has been a good person and deserves your cooperation. The reason we can assume this is that in the other case, if a nasty person you don't really like asked you for help, of course you can say "Why should I help you?" So that's an easy case. The hard case is the case where that person has been a good person to you and other people and you would want to help him normally.
Whereas, the developer of the program has deliberately attacked the social solidarity of your community. Deliberately tried to separate you from everyone else in the World. So if you can't help doing wrong in some direction or other, better to aim the wrong at somebody who deserves it, who has done something wrong, rather than at somebody who hasn't done anything wrong.
However, to be the lesser evil does not mean it is good. It's never good - not entirely - to make some kind of agreement and then break it. It may be the right thing to do, but it's not entirely good.
The only thing in the software field that is worse than an unauthorised copy of a proprietary program, is an authorised copy of the proprietary program because this does the same harm to its whole community of users, and in addition, usually the developer, the perpetrator of this evil, profits from it.
Once you have thought about this and understood the nature of the dilema, what you should really do is make sure you don't get into the dilema. There are two ways of doing this. One way, the way that the proprietary software developers perhaps prefer, is: don't have any friends.
The other is: don't use proprietary software.
If you don't use proprietary software, that means you never put yourself at risk of the dilema happening to you. If a friend asks me for a copy of a program, I will never be in that dilema because I can always legally say yes because I only accept copies of Free Software. If someone offers me a program that's attractive to me, on the condition that I not share it with you, I will say no, because I want to be in a condition where I have nothing to be ashamed of.
The most essential resource of any society is not a physical resource, it's a physo-social resource. It's the spirit of good will; the spirit of helping your neighbour. It's no accident that the World's major religions for thousands of years have actively promoted the spirit of good will. Because if they can increase the level of this spirit by a little bit, it makes life better for everyone.
So what does it mean when powerful social institutions say that it's wrong to share? What are they doing? They're poisoning this vital resource, something that no society can afford. No society has too much spirit of good will. No society can afford to burn off some of it.
And what does it mean when they say if you share with neighbour you're a pirate? What are they doing? They're trying to equate helping your neighbour with attacking ships. And nothing could be more wrong than that because attacking ships is very very bad, but helping your neighbour is admirable.
And what does it mean when they impose harsh punishments of years in prison on people who help their neighbours? How much fear is it going to take before your neighbours are too scared to share with you, or before you're too scared to share with them.
That level of fear, that terror campaign, is what the developers of non-Free Software are trying to impose on people all around the World. And I use the term "terror campaign", not just to show how strongly I disapprove of it, but because so far, in at least two countries, the developers of proprietary software have threatened people with being raped for having unauthorised copies. And when they start threatening people with rape, I think that qualifies as a terror campaign. I believe we should end their terror campaign. We should not allow it to continue.
That's the reason for freedom number two, the freedom to help your neighbour. The freedom to make copies and distribute them to others.
(go to menu) [Section: Freedom zero]
Freedom zero is necessary for a completely different reason. That's the freedom to run the program as you wish for whatever purpose. It may be shocking but there are proprietary programs that don't give you even this meagre freedom. They restrict how much you can run the program or when, or how, or for what jobs, for what purpose.
Obviously, this is not having control of your own computer. So freedom zero is necessary to have control of your own computer, but it's not enough because that's only the freedom to do or not do whatever the developer already chose for you.
(go to menu) [Section: Freedom one]
To really have the control of your computer, you have to take those decisions away from the developer so that you can make them. For that you need freedom number one, the freedom to study the source code of the program and change it to do what you want. If you don't have that freedom, you can't even tell what the program is doing.
Yesterday I was told that Ceauşescu decided to have all telephones in Romania built for listening purposes - government listening purposes. Today, proprietary software developers do something similar. Many non-free programs contain malicious features designed to spy on the user, restrict the user, or even attack the user.
Spy features are quite common. One non-free program that spies on the user that you might have heard of is called Windows XP. When the user of Windows XP, and I won't say "you" because you wouldn't use a program like this, when the user of Windows XP searches her own files for some word, Windows sends a message saying what word was searched for. That's one spy feature.
Then, when Windows asks for an update, to download the latest changes, it sends a list of all the software that's installed on the machine. That's another spy feature.
It was not easy to find out about these spy features. I don't think Microsoft tells people that they're going to be spied on in this way. They probably put something in the licence saying "you agree to let us collect whatever information may be necessary for whatever blah blah blah". And the users don't even bother to read this, and if they did, it wouldn't tell them anything.
In fact, some clever research was needed to discover that Windows was sending the list of programs installed because it sends that list encrypted.
But spying on the user is not limited to Windows. Windows Media Player also spies on the user, in fact, it does complete surveillance, reporting every site that the user looks at.
But please don't think that this kind of malice is limited to Microsoft. Microsoft is simply one among many developers of user-subjugating software. RealPlayer does the same thing. It does complete surveillance of the user, reporting every page that the user looks at.
And the Tivo does the same thing. And the Tivo was an interesting case because many in the Free Software community applauded the Tivo when it came out. The Tivo actually uses a lot of Free Software; it contains a GNU/Linux system in it.
So people said "Oh, how great! They're using our software, they're benefiting from us, we should be happy". Unfortunately, the Tivo also contains non-Free Software and it spies on the user. It reports exactly what the user watches.
This shows us that it's not enough, our goal has to go beyond that they use Free Software. The goal has to be that they not use non-Free Software, that we not use non-Free Software. If you want to maintain your freedom, you have to reject any program that's going to take it away and every non-free program takes it away.
To get a computer that uses some Free Software, partly Free Software, doesn't mean that that computer is respecting your freedom. It's only partly respecting your freedom.
Malicious features go beyond spying. For instance, there is the functionality of refusing to function. Where the program says "I don't want to show you this file, I don't want to let you copy some lines from this file, I'm not going to print this file for you, because I don't like you enough". This is also known as DRM - Digital Restrictions Management, the intentional feature of refusing to function.
And then there are back doors. There was a non-free program that was liberated a few years ago, and when the users then could see the source code they discovered that it had had a back door for years.
They couldn't tell while the program was proprietary. They couldn't tell there was a back door. Only when it was free could they see that there was a back door, and, of course, they took it out.
One proprietary program that you might know of by name that has a back door is called Windows XP. When Windows XP asks for an upgrade, Microsoft knows the identity of the user, so Microsoft can provide that user with an upgrade designed specifically for him. And what does that mean? It means that that user is completely at Microsoft's mercy, Microsoft can do anything whatsoever to him.
There is a piece of Microsoft server software which in 1999 was discovered to contain a back door installed for the US National Security Agency. You can't trust non-Free Software. Non-Free Software gives the developer power over the users and with this power comes the possibility of using it in many specific ways against those users. Some developers of proprietary software do this. And others don't. Of course, you can never tell which class any particular developer falls into except when you discover a malicious feature. Then you know. But aside from that, you don't know.
But let's suppose we're talking about one of the programs whose developers do not put in malicious features - because there are some developers, they sincerely try to write a program which will run in a way that serves the user.
They're still human, so they make mistakes. All programmers make mistakes. Their code still has bugs. All non-trivial programs have bugs. The user of a non-free program is just as helpless against an accidental bug as she is against an intentional malicious feature. The user of a non-free program is a prisoner of his software.
We, the developers of Free Software, are human too. We also make mistakes, and our programs also have bugs. The difference is that when our programs have bugs or features you don't like, you can fix them because we have respected your freedom to fix them, to change the code. Whatever we've implemented that you don't like, you can change because we respected your freedom to do so.
But freedom number one is not enough. Freedom number one is the freedom to personally study the source code and then change it to do what you want. This is not enough because there are millions of computer users that don't know how to program. They can't directly exercise this freedom. But even for programmers like me, freedom number one is not enough because there's just too much software - there's too much Free Software. No one person can study it all and master it all and personally make all the changes that she might want.
It's beyond the capacity of one human being.
(go to menu) [Section: Freedom three]
So the only way we can fully take control of the software we use is to do it working together, cooperating, and for that we need freedom number three, the freedom to help your community, the freedom to distribute or publish modified versions when you want.
With this freedom, together we can take full control of the software. So Free Software is software that develops democratically under the control of its users. Not in the strict sense of democracy that everyone votes and then people make the program do something according to the vote and everyone gets it. It's better than that. Instead, if you have a free program and a lot of people want it to make progress in this direction, they will do a lot of work and publish their improvements, so the program will make a lot of progress in this direction.
Whereas, if only a few people want progress in this direction, they can still do it, they can still make the program develop in that direction but it will be limited by the amount of effort that people want to put in. And if most people don't like that change, they'll just use their own version. The main version will be one that goes in this direction, but the other people who want something different, they'll be free to have their own version which makes progress in their direction.
If there are a million people who want a certain change in a Free program, then by chance, a few thousand of them will know how to program, and sooner or later, a few of them will make that change and publish their modified version and then all those million people will switch and thus we can see that only programmers can directly exercise freedoms one and three but every user can directly exercise freedoms zero and two - the freedoms to run the program and copy the program - and the non-programmer users indirectly get the benefit of freedoms one and three. They can't use these freedoms directly, because that means programming, but when other people exercise these freedoms, the non-programmers also share in the benefits.
So these four freedoms are essential for all users, including the non-programmers, who are the majority of society.
(go to menu) [Section: Directly funding Free Software development]
Suppose there were just a thousand users who want a certain change in a free program, and suppose nobody in that thousand knows how to program, they can still get the benefit of these freedoms. Here's how:
One of them can make an announcement and get in touch with the others, get them to respond, and then once they're in touch, they can start an organisation.
The purpose of this organisation is to raise money to make the change they want. The organisation says to join you must pay 100 dollar. So, these thousand people, we assume they really want this change, so they all join and the organisation has 100,000 dollars with which it can hire, perhaps, a couple of programmers for a year, and that is a way to make quite a big change.
If they only wanted a small change, maybe they could charge ten dollars to join.
To actually make this change, the organisation has to pay programmers, which means first they have to find people to hire, they ask some programmers "when could you make this change and what would you charge?" and then they could ask other programmers "when could you make this charge and what would you charge?" and then they can hire whoever they wish.
Which shows that Free Software means a free market for all kinds of support and services. By contrast, proprietary software usually means a monopoly for support because only the developer has the source code, so only the developer can make any change. This means that users that want a change, have to beg the developer. "Please make the change that we want". Sometimes the developer says "pay us and we'll listen to your problem", and if the user does that, the developer says "thank you, in six months there will be an upgrade. Buy the upgrade and you'll see if we've fixed your problem and you'll see what new problems we have in store for you".
With Free Software, anyone that has a copy, can study the source code, master it, and begin offering support - in a free market. Thus, those users that really value good support can expect in general to get better support through the free market for support for Free Software than they can get through the monopoly for support for proprietary software.
And this also shows us something paradoxical: usually when there is a choice between products to do a certain job, we say there is no monopoly, but when there is a choice between proprietary software packages to do a certain job, there still is a monopoly, in fact there is more than one monopoly. This is a choice between monopolies because the poor user who chooses this proprietary program will be stuck afterward with this monopoly for support. But if that poor user chooses this proprietary program, he'll be stuck with this monopoly for support. So there's no escaping monopoly.
And this is an illustration of a broader principle. It's a mistake to equate freedom to "the freedom of choice". Freedom is something much bigger than having a choice between a few specific options. Freedom means having control of your own life. When people try to analyse freedom by reducing it to the freedom of choice, they've already thrown away nearly all of it and what's left is such a small fraction of real freedom, that they can easily prove it doesn't really matter very much. So that term is very often the first step in the fallacious argument that freedom is not important.
To be able to choose between proprietary software packages is to be able to choose your master. Freedom means not having a master.
So, now I've explained the reason for freedom number three - the freedom to help your community, the freedom to distribute or publish a modified version when you wish. And thus I've completed explaining the reasons for the four freedoms. If a program carries all four of these essential freedoms, then it is Free Software, and that means it is being distributed in an ethical system. If one of these freedoms is substantially missing, then the program is proprietary software and that means you shouldn't use it and it shouldn't be developed at all, not this way.
(go to menu) [Section: Comparing free and proprietary software]
Developing a proprietary program is developing temptations for people to give up their freedom, and this is not a positive contribution to society. This is the place where people are making a mistake when they try to compare Free Software with proprietary software in terms of how much software could be developed. That's like saying: "is it better to make guns or houses and food? Well, let's see how much we could make of one or the other each. Oh, we can make more guns, then make guns."
It is getting the whole question wrong. When people say: "could we make more proprietary software or could we make more Free Software", they're getting the whole question wrong. The best thing is if you can make some Free Software, the next best thing is if you don't make any software, and the worst thing is if you make some proprietary software.
I'm all in favour of the principle that it's good to reward people who do things that contribute to society and it's good to punish people, one way or another, if they do things that harm society. This means that people who develop Free Software that's useful deserve a reward, and people who develop proprietary software that's attractive deserve a punishment.
Although it is good to reward and punish actions that contribute to or harm society, we can't just say "I'm going to do whatever is rewarded and it's up to society to make sure they only reward good things". Our responsibility as ethical beings is to do right, whether it's being rewarded or not. And that's why I made a decision long ago that I would develop Free Software or no software. I will not develop bait for people to give up their freedom. It's better if I did nothing.
(go to menu) [Section: The situation in 1983]
I reached these ethical ideas in the year 1983. More or less. Of course I had been learning about these issues for many years before that. But in 1983 was when I decided that what I wanted to do was make it possible to use a computer in freedom as part of a community.
How could this be possible? In 1983, it was impossible, and the reason is that the computer won't do anything without an operating system and in 1983, all the operating systems for modern computers were proprietary. In fact, the user had to sign a non-disclosure agreement even to get the executable version. And the source code was not available to ordinary users.
So the second step in becoming a computer user, after buying the computer itself, was to explicitly betray the rest of your community. So what could I do about that?
I was just one man believing in an idea that most people would have thought was ridiculously radical. I had no political skill. Not much fame - outside of the circle of editor developers. So what could I do to change this. I didn't think I could convince governments to change their laws or convince companies to change their practices. But there was one thing I was very good at and that was developing software. Particularly operating system software. And when I put that together, I realised I could solve this problem without convincing anybody in particular by developing another operating system that would be free. And then we could all switch to it and live in freedom. We wouldn't have to convince any other developers to change, we could just turn our backs on them. If someone else wouldn't respect our freedom, we just wouldn't use his software.
I had discovered a way of making a political change in society, through technical work. And when I realised that this path was possible, and that it required exactly the kind of work that was may main skill, I realised that I had been elected by circumstances to do this job.
It's as if you see someone drowning, and you know how to swim, and it's not Bush...
...then you have a moral duty to save that person. I don't know how to swim, but in this case the job that needed doing was not swimming, it was writing a lot of software. And for that, I had a chance. So I decided that I would develop a Free Software operating system, or die trying. Of old age presumably.
Because, at the time, the Free Software movement that I was starting, had no active enemies. There were plenty of people who disagreed, but they just laughed. No one was actively trying to stop us from developing a free operating system. The obstacle was just that it was a lot of work, and nobody knew if we would ever reach that point. But, when you're fighting for freedom, you mustn't wait until you know you're going to win before you start to fight because if that's you're policy, you're always going to miss the opportunities.
(go to menu) [Section: Choosing the Unix design]
So, this decision lead me to other decisions, technical design decisions. What sort of system should it be? Well, back in the 1980s there were many different computer architectures and they kept introducing new ones. I knew it would take years to finish an operating system, and by that time the computers could look different. So that meant the system had to be portable. Otherwise, it would probably be obsolete before it was finished.
But there was just one successful portable operating system I knew of and that was Unix. So I decided to follow the design of Unix, figuring that way I would have a better chance of completing a system that would really be portable and usable. Furthermore, since Unix was popular, it was useful to make the system upward compatible with Unix. And that way, the many users of Unix would be able to switch easily.
So I decided to do that, and that lead to an interesting consequence. You see, Unix consists of hundreds of different separate components that communicate through interfaces that were more or less documented. And the users use those same interfaces to communicate with these pieces.
So to be compatible with Unix, you have to keep the same interfaces, more or less, and replace each piece compatibly. Which meant that all the initial design decisions were already made. These pieces could be replaced by many different people. For each piece, a different group of programmers could work on it, and they could work on each piece separately. Which eliminates one of the biggest problems of a large programming project which is the difficulty of having so many people talking to each other.
By making the decision to be compatible with Unix, which was important to make the system easy to switch to, it had already been chopped up into separate parts for us. Hundreds of parts.
(go to menu) [Section: The name "GNU"]
The only thing we needed in order to start working, was a name. In the community of programmers who shared software in the 1970s, that thought me that Free Software is a good and ethical way of life, we programmed for the joy of it.
Many of us were students, and many of the rest were paid to do this work, but that was secondary. The main reason we were programming was because it was tremendously fascinating fun. Because we were doing this in a spirit of joy and fun, we had lots of other practices that were designed to have fun. For instance, we would often give our programs funny names or even naughty names - mischievous names. And we had a particular custom which was, when you're developing a program that is inspired by another program - perhaps compatible with it - you could give your program a name which was a recursive acronym saying that this program is not the other one. It's a funny way of giving credit to the original program which was an inspiration.
For instance, in 1975, I developed the first Emacs text editor, an extensible programmable text editor. You could actually re-programme the editor while using it. And this was so attractive that it was imitated about thirty times. And some of them were called "something Emacs", but there was also Sine, for Sine Is Not Emacs, and Fine, for Fine Is Not Emacs, and Eine, for Eine Is Not Emacs. And Mince, for Mince Is Not Complete Emacs, and version two of Eine was called Zwei, for Zwei Was Eine Initially.
So you could have lots of fun with recursive acronyms. For lack of any better idea, I looked for a recursive acronym for something- Is Not Unix, but I tried all twenty-six possibilities, but none of them was a word in English, and if it doesn't have another meaning, it's not funny. So what was I going to do? Well, I thought, I could make a contraction, and that way I could have a three letter recursive acronym.
I tried every letter, ANU, BNU, CNU, DNU, ENU, FNU, GNU! Well, gnu was the funniest word in the English language. Given an intelligent, meaningful, specific reason to call something gnu, I could not resist.
Why is the word gnu used for so much wordplay? Because according to the dictionary, it's pronounced "noo". The "g" is silent. And the temptation to say gnu instead of "new" anywhere is almost irresistible to people who like wordplay. There was even a funny song inspired by the word gnu when I was a child. With so much laughter already associated with the word, it was the best possible name for anything.
However, when it's the name of our operating system, please do not follow the dictionary. If you talk about the "new" operating system you'll get people very confused - especially since we've been working on it for twenty-three years now, so it's not new anymore. But it still is and always will be "gnu" [two syllables, like "canoe"], no matter how many people pronounce it "Linux" by mistake.
So, how did that mistake get started?
(go to menu) [Section: GNU and Linux]
During the 1980s, we developed one piece after another of the GNU system. At first it was slow because there was just me and one other person, because of course, the goal was not to have a system written by me, the goal was to have a Free Software operating system as soon as possible. So of course I recruited other people to help as well as I could. Starting in 1983, before I actually began writing anything, I began asking other people to join in. And over the years, each year, more people joined in and started contributing to GNU.
By 1990, we had almost all of the pieces. But one of the large, essential components was still missing, and that was the kernel. So in 1990, the Free Software Foundation - which I had started at the end of 1985 in order to raise money to contribute to progress in Free Software - hired someone to begin developing a kernel. I chose the design of the kernel, and that was all I was involved with. I didn't write it. I chose a design which I hoped would enable us to get the kernel finished as soon as possible. Namely, I found a microkernel, which had been developed by a government funded project at a university and I said, well let's use that as the bottom layer, and on top of that we'll develop a collection of user programs, each one to do a particular kernel service, and they'll communicate by message passing, which is the feature that the microkernel implements for you.
This is the way, also, that people thought was the cleanest possible way to design kernels back in 1990. Well, it took many many many years to get this kernel to run at all, and it still doesn't run well, and it looks like there may be fundamental problems with this design, which nobody knew about back in 1990.
Fortunately though, we didn't have to wait for it because in 1991 a college student in Finland developed another kernel using the monolithic, traditional design, and he got it to barely run in less than a year. This kernel, which was called "Linux", initially was not Free Software, however, in 1992, he changed the licence and adopted a Free Software licence, namely the GNU General Public License which I had written to use as the licence for the pieces of GNU that we were developing.
Thus, although Linux was not developed for the GNU project, it was Free Software at that point in 1992 and thus the combination of the almost-complete GNU system, and the kernel Linux formed a complete system. A system that you could actually install in a bare PC, and for the first time it was possible to run a PC in freedom. The goal that we had set out for in January 1984 had been achieved.
The development of Linux was an important contribution to the Free Software community. That was the step that carried us accross the finish line. Before that, we had many useful programs that people could install on top of a non-free operating system. Once we had the last missing piece, we had something you could install replacing the non-free operating system.
However, the confusion of thinking that the entire system was Linux, that it had all been developed by the college student in 1991 has been extremely harmful to the Free Software movement ever since because it broke the connection from our software to our philosophy.
Before that time, there was no complete free operating system, but there were many important parts of one and people would install them on top of non-free operating systems because they were not only free but also usually better. And when they did so, they realised they were installing these GNU programs, so they thought of themselves as fans or enthusiasts of GNU, and when they saw the articles that were in some of these packages, explaining the philosophy of Free Software, the same philosophy that I've been telling you today, they would think "Oh, this is the philosophy behind GNU, and I like GNU, I should read this." This didn't mean they would all agree with us, but at least they would pay attention to the arguments. They would give it serious consideration. So we had a chance to convince them, and if we did convince them, then they would feel a motivation to contribute to Free Software, to contribute to GNU. So the software spread the philosophy, and the philosophy extended the software.
Once people started using more-or-less the entire GNU system, and thinking it was Linux, then, using the GNU system no longer lead people to our philosophy - that I've told you today, the philosophy of the Free Software movement - instead it lead people to look at the philosophy of the developer of Linux.
He has never agreed with the ideals of the Free Software movement. In fact, he likes to call himself apolitical.
But, as often happens when people say they are apolitical, in fact, they are espousing and promoting a particular political point of view and his political point of view is that the developer should have total power, the developer can simply decide whether you have freedom or not and that it's always wrong to disobey the developer. That is, it's always wrong to violate any software licence. That's the view he has stated in the past.
And when people think that the whole system is his work, they tend to look to him for guidance in these ethical questions as well. So we see the unpleasant situation that a system which is mainly our work is leading people to follow views that are the opposite of ours because the system is incorrectly attributed to somebody else. And this is why I pay attention to the issue so much. This is why I ask you, please call the system GNU+Linux or GNU/Linux. Please don't call it Linux. It's not just unfair to the system's principal developers if you call it by a different name, it also leads people not to think about freedom.
And that's really dangerous because history shows us that freedom is never guaranteed to be secure. And we don't have to look very far back in history. Just look at the history of the United States in recent years to see how people can lose their freedom. Life always keeps handing you opportunities to lose your freedom. Someone says "give me your freedom, and I'll give you this... or that... I'll protect you... or I will take care of you" or whatever. If you don't appreciate your freedom, if you don't appreciate it very strongly, you will lose it. A fool and his freedom are soon parted.
(go to menu) [Section: Software freedom needs to be widely understood]
In order for people to defend their freedom, they have to value their freedom, they have to appreciate it. And in order for people to appreciate and value their freedom, first they have to know what it is. In other areas of life, most people have heard of human rights. That doesn't mean defending them is easy, but at least we don't have to start by teaching people what the concept means. We don't have to start by explaining to people what freedom of the press means because they've never heard of it before. The concept of freedom of the press has had centuries to be developed and spread around the World.
But computing is new. It's only been about ten years that a large number of people in most wealthy countries have been using computers. And it's only been a few decades that there have been computers. So the ideas of what the human rights are that go with the use of software are just being developed. The Free Software movement says that there are four essential human rights for the user of software. This is a new idea. Most people who use software have never thought about the question of what human rights a software user should have. They have simply accepted what they have been told, which is, the human rights which a software user is entitled to are: none at all.
That's what the developers of proprietary software give them. That's what they see almost everybody accepting. That's what they have done. And they have never heard anyone say that there is another idea.
So we actually have to start with step one, which is to tell people what it means to have freedom as a user of software. And then we can hope that people will value these freedoms enough to defend these freedoms so that maybe we can stay free. The future of our community depends on what we value, more than anything else.
And that's why it's so important today to teach people about the ideals of the Free Software movement. It's not enough just to teach people to use Free Software. Of course I hope that they use Free Software, because it's a shame if they're using non-free, user-subjugating software. But just to use Free Software is not enough if we want to have freedom that will last for many years. If we gave everybody that uses computers freedom tomorrow, but they didn't know what that freedom was, five years from now, many of them would have lost it because someone would have said to them "I've got a nice program that will make things easier, would you like it? Of course, you have to promise not to share it, and I won't let you see what's inside, but it's a nice program, don't you want it?"
A person who has not learned to think that there is something wrong there might say yes. And that means her freedom is partly gone. So, it's not enough just to give people freedom. We need to teach people to recognise it as freedom so that they can learn to value it and then defend it and not let it go. That's what we need if we want to have freedom not just tomorrow but permanently.
(go to menu) [Section: We urgently need people to work on "stage 2"]
Many people suggest a two stage solution. They say, first, let's teach people to use Free Software, and then, once they're using it, we'll teach people to appreciate the freedom.
Well, this two stage solution might work well, if it were properly tried, but when people propose this, almost always they go and work on stage one. In fact, I've come to recognise that this two stage solution idea is really an excuse to work on stage one and ignore stage two. Stage two is what I work on. So if you really believe in a two stage solution, come join me and work on stage two because the problem is that so much of our community has focussed on stage one, and so much of our community has talked about practical benefits while ignoring freedom, that in fact, at this point, if you start using the GNU/Linux system, you may not hear anyone talk about freedom for years. In other words, our community has not just begun to forget about the goal of freedom, it has almost completely forgotten. With the result that now it is a struggle to teach people in our own community about the freedom which is the reason why we built this community.
Of all the operating systems in history, all except one were developed for commercial reasons or technical reasons. GNU was developed for the sake of freedom. The users need to know this. And I would like to ask you to join in helping to teach them this. This is why I dedicate myself now to spreading these ideas of freedom. There are more than a million contributors to Free Software now. The community doesn't need me that much as a programmer, and besides, I'm getting older, I probably can't do it as well as I used to. But there are not a million people teaching the users to appreciate the value of freedom and the value of specifically the freedom to cooperate in a community. This is where we urgently need more people.
(go to menu) [Section: Today, we have enemies]
Especially since today, we have something we didn't have before: enemies. Powerful enemies. Rich corporations that think they should rule the World, and almost do.
We face many kinds of obstacles today. For instance, many hardware products do not come with specifications.
In 1984, when I started writing GNU, this idea was almost unheard of. Almost unthinkable. Of course when you buy a computer there's manual that tells you exactly how to use every thing in the computer. How could they possibly sell you a computer and not tell you how to use it?
But nowadays that's what some hardware manufacturers do. And it's hard to write a free driver for some input-output device when you don't know what commands to give to it. Of course, the manufacturers say "oh, this is no problem, we support Linux". They call the system Linux. And they hand you a driver and they say "Just use this driver". The only problem is that it's not Free Software. It's a binary only program. So you can't change it. You can't study what it does. So that's not acceptable.
What we have to do is, on one hand, reverse engineering to figure out how to make free drivers. And on the other hand, pressure these companies to cooperate with us.
So that we can make Free Software that really uses the computer's hardware. This computer has a modem that doesn't work. It's a lose-modem. Well, the term they like to use is "winmodem", but I don't want to refer to Microsoft Windows as a win, because that's term of praise. So I call it a lose modem.
It's a modem that only works with Windows because part of the job has to be done in software and we don't know what that software is supposed to, and I think some aspects of it are patented anyway.
So, I'm told that some of these lose-modems now have Free Software support. I don't know the precise details. Today, all of the major 3D video accelerator chips fail to work with Free Software because the specifications of the chip are secret.
(go to menu) [Section: We need to stop wasting our market power]
This is an area where our community could exert tremendous power. With tens of millions of users, if we were organised, if we could say to one company: "We're going to boycott you until you start cooperating with us, and when you start cooperating, then we're all going to buy from you and we're going to boycott them".
We could make them start treating us decently. But we're not organised and most of the people in our community have never heard the idea that there is an ethical issue of freedom here. So we waste the market power that we have.
And the problems get worse than this. There is an effort going on right now, a conspiracy of major companies, to change the design of computers in the future so that it will be impossible to write Free Software to do many important jobs.
(go to menu) [Section: Treacherous Computing]
This is known by them as "Trusted Computing" and by us as "Treacherous Computing". Their plan is that software developers will be able to trust your computer to obey them instead of you. From their point of view it's trusted, from your point of view it's treacherous. So which name you choose is a matter of what side you're on.
I'm on the side of the users who should be able to control their own computers. So I call it Treacherous Computing. This is a very dangerous plan, and it's not clear how we can stop it. We just have to keep on fighting it out and hope that something will go wrong with there plan, because sometimes something goes wrong.
(go to menu) [Section: The DMCA and EUCD laws]
And there are the laws that are passed that prohibit some Free Software. For instance, in the US there are two such laws already. One of them is called the Digital Millennium Copyright Act, and it essentially gave publishers the power to write their own copyright laws.
The idea is that if publishers publish something in encrypted format or any other way designed to restrict the user, then anything that helps the user escape to freedom, is illegal. Thus, for instance, DVDs were designed to restrict the user. The video on a DVD is stored in an encyrpted format, and initially this encryption was supposed to be secret so that it would be impossible ever to write Free Software to watch a DVD. But people figured it out, and the result it that a few people wrote a free program to watch a DVD. This program is now censored in the US. The United States practices censorship of software. So, if you are in the United States, and I'm sorry for you if you are because you would not have much in the way of basic human rights especially as a foreigner, but one right you nominally still have is if you buy a DVD, you have a right to watch it. But the Free Software that you could use to watch it is illegal to distribute. Even telling people where they could find it from outside the US is illegal.
Really Orwellian censorship.
And I'm sad to say that the European Union has adopted a directive that is pretty similar. It doesn't go quite as far. It only prohibits the commercial distribution of such software. That might let us barely squeak by except that just about every country, maybe every country, when implementing this directive has gone further than necessary, has made it more strict than the directive requires. Taking the side of some mega corporations against their own citizens. So this becomes a sort of picture in the the small of how democracy is endangered by the European Union, and how democracy is sick all around the World. A government of the people by the people for the people wouldn't adopt restrictions like this. Wouldn't criminalise millions of their own citizens on behalf of companies, usually foreign companies. You have to ask: who are these governments really working for? Do they represent their own people, or are they the satraps of someone above?
This law only applies in limited areas of what you can do in software. It applies to having access to published works. Even though this is a narrow subfield of the software field it can still be tremendously important. For instance, if millions of people want to watch DVDs on their computer, and they can't do this with Free Software, in fact they can't legally get a program to do this on a free operating system, many of them might use non-free operating systems and non-Free Software just for that reason alone. So even though it's just one application out of the thousands that software can have, it can be very important in practice.
(go to menu) [Section: Software patents]
The other law that prohibits many kinds of Free Software can actually apply to any kind of software, and that's patent law, which I spoke about yesterday [link to audio file]. Patent law is a threat to all software developers. Patent law means that you can write a program and then you can get sued because of the code that you wrote yourself. Copyright law can't do this. If you write the code, you or your employer have the copyright. Which means nobody else does. So there's no danger someone else can sue you for copyright infringement because of the code that you wrote. But patents are totally different from copyright.
Patents cover ideas, techniques, features, methods - not the code itself. And when you write code, you are implementing lots of different techniques, methods, features, ideas. Any one of them could be patented by somebody. In fact, fifty of them could be patented by fifty different patent holder and then they could all threaten to sue you, separately.
All software developers are threatened by this, but most software developers are only trying to have some successful products. We are trying to serve all of the user's computing needs in freedom. Our goal is that all software should be free, that all users should be able to do whatever they want to do and keep their freedom. Our goal is to provide people with Free Software for every job so that nobody ever faces the choice: either I keep my freedom or I do this job with my computer today.
It's sort of sad. This shows how little people value their freedom. People find themselves, they have some reason to do a certain job, it's attractive, it's appealing, it might make some money. And just for that they give up their freedom. So sad.
Since we can't expect most people to value their freedom enough to say "I'm willing to not do this job because my freedom is more important to me than doing this particular computer use", our goal is to give them a free program that will do that job. And then they have an easy choice. They can reject the non-free program and use the free program instead.
Every time there is some job that Free Software can't do, that's a big problem.
(go to menu) [Section: More legislative battles to come]
But these two laws are not enough. New ones are being considered all the time. For instance, WIPO, the World "Intellectual Property" Organisation, is now working on a treaty that would make it illegal to make any receiver for digital television that's encrypted, that the users can modify.
In other words, for the first time, the idea would be to actually single out the fact that something is Free Software as a reason to prohibit it. This is how much they hate our freedoms.
So today it's not enough just to write software and have fun. Of course we still need people to do that, and we have many people doing that, but we need also to organise politically to keep our freedoms, to organise against the frequent campaigns to take away one freedom or another. And the European Union has been generally very willing to adopt directives taking away its citizens freedom on behalf of the movie companies and the record companies.
We have a big fight on our hands and there's no way of telling whether we can win. And that means we have to fight. I hope that you will help in this fight.
(go to menu) [Section: Free Software and schools]
It's vital for schools to use Free Software exclusively. The reason is: schools have a mission to teach society to be capable, to educate people to be parts of a capable, free society. Teaching students to use proprietary software is teaching dependence. It's training them to be dependent on specific powerful companies. Giving those companies more power over society. Whereas, teaching them to use Free Software, is directing society onto the path towards freedom and strength. So schools must stop teaching proprietary software.
But there's an even stronger reason for this. And even deeper reason. And that is, for moral education. Schools have to teach children the spirit of good will, the spirit of helping other people around them in society. So every class should have a rule: children, if you bring software to class, you can't keep it for yourself, you must share it with the other kids, and if you won't share it, you can't bring it here because the way we do things is we help each other.
The school, in order to teach this properly, has to follow its own rule. It has to set a good example. This means the school must bring only Free Software to class.
(go to menu) [Section: St. IGNUcius and the Church of Emacs]
Sometimes people have accused me of having a holier-than-thou attitude. I don't think that's true. When I encounter somebody who is not doing all that he could do to encourage our freedom, I don't look to attack that person, I look to encourage that person to do more.
However, I do have a holy attitude, because I'm a saint. It's my job to be holy.
[Stallman dons a robe and puts a 16-inch disk on his head]
I am Saint IGNUcius...
...of the Church of Emacs. I bless your computer my child. Emacs started out as a text editor, which became a way of life for many users because they could do all there work on a computer while never exiting from Emacs, and ultimately it became a religion as well. Today, we even have a great schism between two rival versions of Emacs, and we even have saints. But fortunately, no Gods. Instead of Gods, we worship an editor.
To be a member of the Church of Emacs, you must recite the confession of the faith, you must say: there is no system but GNU, and Linux is one of its kernels.
The Church of Emacs has certain advantages compared with other churches I won't name. For instance, to be a saint in the Church of Emacs does not require celibacy. So if you have been searching for a church to be a saint in, you might consider ours. However it does require living a life of moral purity. You must exorcise any evil proprietary operating systems that possess any of the computers under your control, and then install a wholly/holy free operating system, and then only install Free Software on top of that. If you make this vow and live by it then you too will be a saint and you too may have a halo - if you can find one because they don't make them anymore.
Sometimes people ask me whether it is a sin in the Church of Emacs to use the other text editor vi. Well, it's true that vi vi vi is the editor of the beast, but using a free version of vi is not a sin, it's a penance.
And sometimes people ask me if my halo is really an old computer disk. This is no computer disk, this is my halo. But, it was a computer disk in a previous existence.
So, thank you, and now, I will answer questions for a while.
(go to menu)
Q1: I'm interested in hearing your opinion on the relationship between Mono and GNOME.
Richard Stallman: Mono is a free implementation of Microsoft's language C#. Microsoft has declared itself our enemy and we know that Microsoft is getting patents on some features of C#. So I think it's dangerous to use C#, and it may be dangerous to use Mono. There's nothing wrong with Mono. Mono is a free implementation of a language that users use. It's good to provide free implementations. We should have free implementations of every language. But, depending on it is dangerous, and we better not do that.
(go to menu)
Q2: What is your view on other licences, other than the GPL? Such as BSD style licences?
Richard Stallman: Well, there's no such thing as "BSD style licences". There are two different BSD licences, and they're both Free Software licences, but there's an important difference between them. If you use the term "BSD style", you are overlooking the difference. For more information, see www.gnu.org/philosophy/bsd.html. It explains the issue.
However, both of those licences are Free Software licences. Both of them grant the four essential freedoms, which means they're both basically ethical.
One of them has a significant practical drawback, and the other does not. I convinced Berkley to change its licence to get rid of the practical drawback. And by the way, the reason that the BSD developers started making their code free was at least partly due to the visit that I paid to them in 1984 or 1985, because I wanted to be able to use some of their code in GNU. So I asked them, because at that time, BSD existed, it was a version of Unix, and you had to show them an AT&T source licence in order to get a copy of BSD.
So I told them: you are effectively donating your labour, your work, to a company. It's not even a charity, and you're donating to it. Why don't you separate your code from AT&T's code, and that way you could make your code free. I did this because there were parts that I knew were their work, and I figured this way we would get to use them in GNU and we would more quickly have a free operating system.
The website www.gnu.org is the place to look for information about GNU and Free Software. There is also a site fsf.org for information about the Free Software Foundation.
(go to menu)
Q3: As part of a community that develops a piece of software, there is a problem with some of the users of that software, they simply develop it further but they do not release their source code.
Richard Stallman: What does this program do?
Q3b: This program is an emulator for an MORPG
Richard Stallman: In general, there is nothing wrong with a person adapting a program, and using it privately...
Q3c: But they released only binaries.
Richard Stallman: Oh, well then they're violating the licence. The developers need to talk to a lawyer, and you can sue them.
Q3d: The problem is that they are scattered all around the World.
Richard Stallman: Well, that doesn't necessarily matter. Don't take a defeatist attitude. A few of the main developers, instead of talking about how hopeless it is, should talk to a lawyer, for instance, the Software Freedom Law Centre. For instance, when they do this to the Free Software Foundation, we make them comply.
We vigorously enforce the GNU General Public License, and the reason we do it is that when people are violating the GPL, that generally means that some users are losing their freedom. So to protect their freedom, we enforce the licence. We use the same weapons, namely copyright law, that other people use to take away others freedom, except we use this to defend people's freedom, and that's what makes it legitimate.
Q3e: So, we should be able to fight all of these kids all around the World using this weapon?
Richard Stallman: I don't know. Are they all kids?
Q3f: They are mostly kids.
Richard Stallman: Then it will be easy.
(go to menu)
Q4: There is a common confusion about freedom number three, some people think there is an obligation to publish all modifications, maybe it is worth adding a sentence or two to your speeches to clarify this.
Richard Stallman: Well that's why I say: the freedom to distribute modifications when you wish. I put in the "when you wish" to try to correct that confusion. There's just so many things I need to say, and there wasn't time for them all. I left out a lot of things. You're right, it's just that there are many other misunderstandings I didn't correct today. There's too much to be said to fit, I just do the best I can. You're right, but what can I do.
(go to menu)
Q5: Does your halo [a large, old computer disk] contain proprietary software?
Richard Stallman: Not any more. Once there are fingerprints on it, I don't think anything's going to be able to read it.
(go to menu)
Q6: Can you comment on the Creative Commons licence?
Richard Stallman: The thing is, it's meaningless to talk about Creative Commons licence. The bad thing about Creative Commons is that it has produced a broad series of licences that have nothing in common. In fact, if you look at these licences and determine what is the freedom that is common to all these licences, the answer is: nothing.
This is a problem because the reason why I would want to support such a thing is because it recognises the important freedoms, and initially, when Creative Commons got started, all of its licences recognised a certain minimum freedom which is also the freedom that I believe everyone is entitled to for works of art and opinion, namely, the freedom to non-commercial distribute exact copies of the work. That is, at the time I believed, the minimum freedom that everyone should always have for all kinds of works.
Larry Lessig has sort of convinced me that there is another essential freedom, which is, what he calls, remix. Which is the freedom to take parts of various works and change them and put them together into another work that is quite different overall and makes a different point, and so on. But in the US, that's usually going to be fair use, so I didn't see a need to talk about that so much.
But in any case, the initial Creative Commons licences all recognised the freedom to non commercially distribute exact copies of the whole work. But then, they developed some more licences which don't give you that freedom. In fact, there're some licences which give me no freedom at all, because I'm in developed country, and that probably applies to you too.
Because of that, those licences I consider unacceptable. There is no legitimate use of those licences. However, the problem is, Creative Commons functions in a way that encourages people to lump it all together. They don't encourage people to look at these different licences and think about them individually. Instead they promote the brand "Creative Commons". So you'll see lots of people saying "Let's use a Creative Commons licence for this", or "please contribute to our project, we're using a Creative Commons licence". And they think they have told you something substantial, and many people read that and they think that they have been told something substantial, and in fact, they have been told nothing - about what freedoms users will have in using that work.
This is why I can't support Creative Commons at all. Because the way they've set it up, you either support all of it or none of it, and for me that means it has to be none of it.
I've asked them to split it up into two activities with different names and different brands. And then I could support one of them and not the other. I would be glad to do that if they made it possible to do that.
So what this shows is a basic philosophical difference between Creative Commons and the Free Software movement. Creative Commons may have been in some sense inspired by the Free Software movement, but it isn't similar to the Free Software movement. The Free Software movement starts by saying: these are the essential freedoms, everyone should have these freedoms, we're going to work to establish and defend these freedoms. Creative Commons doesn't say anything like that. Creative Commons talks about helping copyright holders exercise their power flexibly. A totally different philosophical orientation.
So it's no surprise that they don't have a list of essential freedoms. At the beginning, I thought they effectively did. It's true they didn't explicitly say "This is the freedom we intend to defend", but from their actions, it looked like they were defending it, and I thought that was good enough. But because it was not really their intention, they changed their practices, and now, even in a purely practical sense, they don't defend this minimum freedom, and that's a terrible thing.
(go to menu)
Q7: Do you know of any organisations that do support this approach - unlike Creative Commons?
Richard Stallman: Not really. There are some "free culture" organisations, which are trying to go even further and they're trying to encourage the making of art that is free in the full sense of the same four freedoms.
(go to menu)
Q8: Shouldn't Free Software be more expensive than proprietary software, since it's more valuable?
Richard Stallman: I don't know what that would mean, sorry. To ask whether software is cheap or expensive, is actually making a number of hidden assumptions. In the proprietary software world, because people are forbidden to copy the program, usually, there's only one place from which copies can be legally obtained. So, you can then ask, how much does that one source of copies charge for a copy. So it's a meaningful question, although the answer might be: this much today over here and that much tomorrow over there. There's not necessarily an answer to that question.
But with Free Software, because people have freedom, everyone is free to make copies. So there are many places you can get a copy, and any one of them could offer to give you a copy or could offer to sell you a copy. So there is no one price.
But Free Software is an issue of freedom, not price. The price question is secondary. People are free to buy and sell copies, but that's just because people should be free. The price issue is not what I care about.
[End of session, applause]
Links for further reading
- "The Dangers of Software Patents"", by Richard Stallman (transcript)
- "Copyright vs. Community in the age of computer networks", by Richard Stallman (transcript)
- "GPLv3 - an overview of the changes", by Richard Stallman (transcript)
- "European perspectives and work of the FSFE", by Georg Greve