Manchester rms talk transcript
From ADFA: Audenshaw Digital Freedom Association
This page is not licensed under the wiki license, but I'm not sure what it is licensed, ask me if you're not sure.
This is a transcript of the talk (but not the questions) given by Richard Stallman in Manchester on the 1st of May 2008. A video of the talk is available here (and on Google Video).
[00:00:25] 'Introduction And so, without further ado, may I introduce tonight's speaker. [laughter] Richard Stallman [applause]
Welcome, please raise your hand if you can not hear me. [laughter] (Puts on glasses) Now lets try that again, now that I can see your hands if they go up. [laughter]
[edit] What is free software?
[00:01:30] Our society encourages people to judge programs in a shallow way, based only on practical convenience: how powerful is it? how reliable is it? what does it cost? And to ignore the most important questions: what does this program do to my freedom? what does this program do to the social solidarity of my community. These questions are what the free software movement are all about.
Free software means software that respects the users freedom. Software which is not free is proprietary software, user subjugating software. It keeps the users divided and helpless. Divided because on is forbidden to share it with anyone else, and helpless because the users don't have the source code, so they can't change it. They can't even check independently what its doing to them.
But, its not enough just to say we're in favour in freedom, because that's not specific enough. Even Gordon Clown says hes in favour of freedom; even Bush says he's in favour of freedom. And Bush does not recognise freedom even after he's crushed it. [laughter] So we really need to say something more specific. Which freedom is it that we are defending. A program is free software if it gives the user four essential freedoms.
[edit] The four freedoms
[00:03:20]
- Freedom0 is the freedom to run the program as you wish.
- Freedom1 is the freedom to study the source code and change it, so the program does what you wish.
- Freedom2 is the freedom to help your neighbour. That's the freedom to distribute copies when you wish.
- Freedom3 is the freedom to contribute to your community. That's the freedom to make and distribute copies of your modified versions, when you wish.
If you have all four freedoms, then the program is free software, because the social system of the program's distribution and use is an ethical system, respecting the user's freedom and respecting social solidarity.
But if one of these freedoms is missing or insufficient then the program is proprietary software, non-free software, user subjugating software. Because, the social system of its distribution and use is unethical. To release a non-free program is not a contribution to society is not a contribution to society, its an attack. Its an attempt to subjugate people. And we should hope it fails, and even better, it shouldn't be done at all.
So, if you have a choice between developing a proprietary program and developing no program: its better to develop no program. At leas then your not hurting society.
And thus, the goal of the free software movement is that all software be free, so that all users are also free.
[edit] Freedom2
[00:05:10] But why are these four freedoms essential, why define free software this way? Each freedom has its reason. Freedom2, the freedom to help your neighbour, the freedom to make and distribute exact copies of the program is essential on basic moral grounds. So you can live an upright life as a good member of your community. If you use a program without freedom2 then you are in danger of falling into a moral dilemma. At any moment, whenever your friend says, "that program is nice, could I have a copy". At that moment you will face a choice between two evils. One evil is to give your friend a copy and violate the license of the program. The other evil is to deny your friend a copy and comply with the license of the program. Being in the dilemma you should choose the lesser evil, give your friend a copy and violate the license of the program. [laughter]
What makes this the lesser evil? If you can't help doing wrong to somebody or other, better to do it to somebody who has acted in a way that deserves it. [laughter] Now, we can suppose that your friend is a good friend, a good member of your community, and normally deserves you co-operation. Its not the only possibility, but it is a possibility. One that raises the dilemma in its clearest form. By contrast, the developer of this proprietary program has deliberately the social solidarity of your community. So if you have to do wrong to one or the other, do it to the developer.
However, being the lesser evil does not make it good. Its never a good thing to make an agreement and then break it. Now, some kinds of agreement are inherently evil, and keeping them is even worse than breaking them. But still, breaking them is not good. And if you give your friend a copy, what will he have? An unauthorized copy of a proprietary program. And that's something pretty bad, almost as bad as an authorized copy.
So, once you have fully thought this through, what you should really do is make sure that you're never in this dilemma. There are two ways to do that. One is don't have any friends. [laughter] That's the method that implicitly suggest by the developers of proprietary software. [laughter] The other method is reject proprietary software. That's my method. If someone offers me a program on the condition that I promise not to share it with you, no matter how convenient or attractive it may be, I will reject it because my conscience require me to reject it. Because, to accept it would be betrayal of my community, and I will not do that. So I will tell that person that hes doing something rotten, and he should get out of my office.
We should reject the software that forbids us to co-operate in our communities. And we should also reject the propaganda terms that they use to demonize co-operation. Terms like piracy. What are they saying when they call sharing piracy? They are trying to equate helping your neighbour with attacking a ship. [laughter] And nothing could be more ethically wrong than that; because, attacking a ship is very bad. But helping your neighbour is the right thing to do. So, if our adversaries try to ask you about piracy, don't fall into their trap. When people ask me what I think of software piracy, I say "I don't think pirates use software, they use guns." I'm on my toes about this, I've trained myself not to fall into the trap of repeating and legitimizing the propaganda that tries to call sharing wrong.
[edit] Freedom0
[00:10:30] So that the reason for freedom2, the freedom to help your neighbour. Freedom0 is essential so you can control your computing. Freedom0 is the freedom to run the program as you wish. There are proprietary programs that do not even give you that freedom. They may restrict who can run the authorized copy, or on which computer, or how much, or when, or for what purpose. And this is obviously not having control of your computing. And so, freedom0 is essential. And it almost goes without saying - for many years I thought I didn't have to mention it. That's why when I started to talk about it, its so basic, it has to go at the beginning of the list; that's why its number 0.
[edit] Freedom1
[00:11:30] But freedom0 is not enough. Because a developer goes on controlling your computing not through a license, but rather through the code. The developer decides what the code can do and decides what it can't do. And in this way, still has power over you. So you need freedom1, the freedom to study the source code and change it, so the program does what you wish. This way you decide, instead of the developers deciding for you.
If you use a program without freedom1, you can't even tell what its doing to you. And many of these programs do nasty things. They have malicious features that were designed to spy on the users and restrict the user and even attack the user. Many non-free programs spy on the users, its called spy-ware and its quite common. One proprietary program you may have heard of that spies on the users is called Microsoft Windows. [laughter] When the user of Windows, and I won't say you, because I'm sure you wouldn't use a nasty program like this. When the user of Windows invoke the menu command and to search her own files for a word, Windows sends a message to Microsoft saying what word was searched for. That is one spy feature. But there's another: when Windows XP asks for an upgrade over the net it sends Microsoft the list of all the programs installed on the machine. Another spy feature. But Microsoft never announced these spy features; people discovered them by investigation. So, its quite possible there are other spy features in Windows that people haven't found yet. Who knows how many there may be.
But spying on the user is not limited to Windows, Windows media player also spies on the user. In fact it does total surveillance. It reports everything the user looks at. But please don't think that Microsoft is uniquely evil, and only Microsoft would treat the users so badly. In fact, real-player spies the same way. And we are pretty sure, we're almost sure, that real-player did it first. The facts we know are not quite conclusive, the dates we know. But it looks like real-player probably did it first. After all, Microsoft is more known for its imitation than its invention. [laughter]
Spying is pretty nasty, but it gets worse. There is also the "functionality" of refusing to function. [laughter] Where the program says "I don't want to show you the contents of this file, even though its in your computer. I don't want to let you copy part of this file, even though its in your computer. I don't want to print this file for you, because I don't like you." [laughter] Now those programs really don't like you. Its not there job to serve you, it's their job to control you. They're not working for you, they're working for somebody else. They are you prison guards.
[edit] DRM
[00:15:05] This kind of malicious feature is also known as DRM, Digital Restrictions Management. The intentional malicious feature of refusing to function for you. Many companies do this: Microsoft do this, Apple does this, Adobe does this, Google does this, Sony does this, Amazon does this. Its extremely nasty and widespread. So we have set up a campaign of protests against Digital Restrictions Management: you can find it in the site http://defectivebydesign.org/. Which is a good description of any product that has DRM. Its designed not to work. Go to the site and sign up, and participate in our protest, because we need to make them very big. We need your help. Don't assume we will win this battle without you. We have had protests in the street against Microsoft, against Apple, against Movie Theaters, against public libraries who distribute stuff with DRM; and we're going to have more.
Windows Vista is a tremendous advance in the technology of restricting users. [laughter] That appears to be its primary purpose. In fact, Windows Vista requires the users to junk and replace perfectly working hardware, because it wasn't designed to restrict the users completely. So they decided to require people to replace it with other hardware that was designed specifically to tie the users up.
Now, you can't live in freedom using any version of Windows, because they're all proprietary, non-free software. And so, every Windows user ought to escape to freedom. They ought to defenestrate there computers. Either throw windows out of their computer, or throw there computer out of the window. [laughter] But, those who are not yet ready to do this and move to freedom, ought to at least avoid downgrading to Vista. So, we have set up another campaign in the site http://badvista.org/. Which shows you, the Vista that would await you as a user of Windows Vista, and why you shouldn't be one.
[edit] Evil on two levels at once
[00:18:05] Now, these malicious features are very nasty, and they always attack your freedom at two levels at once. First of all, the purpose of these features is to attack your freedom. To restrict your use of your copies of works, that you have bought. And, to stop you from doing things that would otherwise be your legal right. But, in addition, they also make it impossible to access these works, even in the permitted ways, except using proprietary software. And the proprietary software itself is an attack on your freedom. So, there are two evils combined, every time there is DRM. And the DRM is almost always imposed by a conspiracy of companies working together. For instance, a computer company and various big media companies: publishers, record companies, movie companies, whatever; are all conspiring. So these are conspiracies of businesses to restrict the technology available to the public.
They, design a secret format. And then they say, anyone that wants to make a player has to sign a contract with us and promise to restrict the users, just like all the other players that we have authorized. Which essentially eliminates competition as a force for making things any better. There may be 20 bands of DVD players, but they all restrict you the same way; they all have the same limitations required and imposed by the DVD conspiracy.
Now you might wonder how we found out about these conspiracies, how do we prove that they exist. Its easy, you just look at the websites where they proudly announce what they are doing. They are so confident that our governments are on their side, against their own citizens, that they don't even feel a need to hide what they are doing to the public.
When's the last time that Clown ever tried to do something that was good for citizens of the UK; instead of good for business. Maybe he did it sometime or other. So, this is why we know about these conspiracies, because they're not even secret. That shows how undemocratic our governments are. Democratic governments would make these conspiracies a crime; they would say that businesses aer not allow to conspire to restrict the technology available to the public. Once in a while there may be a reason to restrict what kinds of technical devices we can have. It makes sense for cars to be roadworthy for instance. Okay, that should be established as a governmental policy and voted on; but a conspiracy of companies should not be allowed to impose such decisions on the public. And the executives of all those companies I mention should be in prison. [applause]
[edit] Back-doors
[00:22:00] But there's even worse. There are the malicious features that are designed to attack the user - back doors. One proprietary program that has a back door that you may have heard of is Microsoft Windows. [laughter] You see, starting with Windows XP, Microsoft arranged to more or less determine the users identity. Which means that whenever Windows XP gets an upgrade, Microsoft can deliver to that user an upgrade designed specifically for him. Meaning, it can take control of his computer, and wipe the floor with him, and the user essentially has no recourse. This is the backdoor whose existence we can deduce from the known facts. Are there others? A few years ago in India, I was told they had arrested some of the developers of Windows, and accused them of working not just for Microsoft, but also for Al-Qaeda, installing another backdoor that Microsoft wasn't supposed to know about. That attempt apparently failed. Was there another that succeeded? We can't check. But we do know that Microsoft itself installed a backdoor in a piece of server software, on behalf of another terrorist organisation - even more violent - namely the United States government. [laughter] Specifically for the use of the NSA. This was discovered in 1999.
And it shows that we can't trust non-free software. Every piece of non-free software is just "trust-me" software. Just trust me because that's the only way you could possibly use it. There's no basis to do anything but place blind faith in the developer. because the developer keeps you unable to do anything else. Now, with Windows XP, the user at least has the option of turning off upgrades. Microsoft has been caught doing upgrades without asking, but I believe that the upgrade facility has to be enabled for that to happen. Now, turning off upgrades completely might be dangerous in other ways, but at least it keeps you safe from Microsoft. [laughter]
So of course, Windows Vista eliminates that option. With Windows Vista Microsoft can always forcibly change the software, whenever the machine is on the net. But please do not thing that Microsoft is uniquely evil. Microsoft is doing just what a proprietary software developer is tempted to do, namely use the power that proprietary software gives him over the users. In fact, I'm told that Mac OS X does the same thing - Apple can forcibly change the software without getting the users permission.
So, its an understatement to say that Microsoft and Apple can take control of the users computer. They always have it. They have total control always, starting from the first moment that the machine goes on the net. That is what proprietary software means. It means unjust power in the hands of organisations that don't work for you, do not represent you, and don't care about you, except for what they can get from you.
[edit] Finding malicious features (and bugs)
[00:26:15] So, we can never trust a program without freedom1, and we can never ascertain that such a program has no malicious features. Sometimes we find a malicious feature; but we can never prove that a program doesn't have them. So, we can divide these programs into two classes; there are the ones in which we know of malicious features, and the ones in which we don't know of any. Now, some of them have malicious features and some don't; but we can't tell which is which. The only case in which we can tell is if we find a malicious feature; and that puts the program in this class. So we have these programs, some of which - we don't know which ones - have no malicious features. We can't identify them, but we can say something about them. There developers are human, so they make mistakes - the code of those programs has bugs. And the user of a program without freedom1 is just as helpless facing an accidental bug as facing an intentional malicious feature. If you use a program without freedom1, you're a prisoner of your software.
We, the developers of free software are also human; we also make mistakes, and the code of our programs also has bugs. But, if you find a bug in our code, or anything in our code that you don't like, you are free to fix it. We can't be perfect; we can respect your freedom. And that is what makes the difference.
[edit] Freedom3
[00:28:05] But freedom1 is not enough; freedom1 is the freedom to personally study and change the source code. That's not enough, because there are millions of computer users that don't know how to program, so they're not able to exercises freedom1 personally, directly. But even for programmers like me, freedom1 is not enough. Because there is too much software in the world; in fact there's too much free software in the world [laughter] for any one person to study and master all the software she uses and then personally make all the changes she might want. That's more than one person can do.
So, before we take control of our computing, we need to do it working together. And for that we need freedom3, the freedom to contribute to your community. The freedom to make and distribute copies of your modified versions. That permits us to co-operate. So if the users of a certain free program want progress in this direction, someone will make a change and publish his modified version. And somebody else will take that and make another change going further in this direction, and publish her modified version. And somebody will start with that, and make another change, and publish his modified version. And the result will be progress, which they will have co-operated to make. Whether or not they started with the intention of working together, that will be the thing that it turned out that they did. And the result is that all of the users get the benefit of the four freedoms, of the fact that we all have the four freedoms.
[edit] Freedom for non-programmers
[00:30:00] Every user can exercise freedom0 and 2; the freedom to run the program as you wish and the freedom to make and distribute exact copies. Because those don't require programming. Anyone that can use a program can do those things. Freedoms1 and 3 entail programming - those are the freedoms to study and change the source code and then optionally to distribute copies of your modified version.
And so, any given users can exercise these freedoms, more or less, depending on how much he knows how to program. And there are various levels of knowing how to program: its quite useful to learn how to make easy changes. Even if you don't learn enough programming that you could become a professional programmer. Just, as its quite useful to learn how to do easy kinds of maintenance in your car, even if you don't learn enough to become a professional mechanic. But there are lots of people who don't want to learn any programming, and they can't directly exercise these freedoms; but when other people, the programmers, do exercise them, and release their modified versions, anyone else can then install them. So we all get the benefits of living in a society where the users have these freedoms.
[edit] Democracy
[00:31:25] And the combined result of these four freedoms is democracy, a free program develops democratically, under the control of its users. All the users are free to participate, as much as the wish, in society's decision about the future of this program. Which is simply the sum total of all the individual decisions that people make about what they're going to do with it.
This is why we don't generally find malicious features in free software. Because, when everyone has freedom, that means that nobody has power. With free software, no-one has the power to put in a malicious feature and make it stick. Yes, theoretically, someone could put in a malicious feature; and someone else can take it out. And the result will be that the one who put it in, who thought he was going to impose his power over the users, will fail, and will have a very bad reputation.
With proprietary we see lots of malicious features, because proprietary software develops under the dictatorship of its developer. And gives that developer power over all the users. Its the instrument of a power grab. Because the developers have power they can put in malicious features, and nobody else can take them out. So, the only way to escape from the malicious features is to escape from the non-free software. And that, is what the free software movement is all about.
[edit] Business Point of View
[00:33:25] So, that's free software from a human rights point of view. A secondary point of view, which many people are none-the less interested in, is the business point of view. How does free software affect business? Well, only a small fraction of businesses do software development. But, lots of them use software, because they use computers. And, the four freedoms are vital to any user of software, whatever the purpose is, including all the businesses that use computers. And businesses take advantage of the four freedoms to get what they want in their software. Even if those businesses don't know know how to do any programming.
Here's how. Suppose there are a thousand users of a free program, that want a certain change. And suppose that none of them know how to program. They might be businesses, or they might be individuals doing other things. Either way, they can take advantage of the four freedoms, to get the change they want. Here's how. They can make announcements saying, "I'd like this change, does anyone else want this change." Then they get in touch with each other, and they can start an organisation to make the change. The idea is that they all become members and pay dues. And this way the organisation raises some money to pay a programmer to do the job. Now, if it is a medium sized job, it might take a month of work for a particular skilled programmer, and it might cost £5000, so the organisation can say, everybody join and pay £5. If its a bigger job and it might take a year, it may cost £50,000; so they can say everybody please join and pay £50. But if a thousand businesses think this change is going to help them, and its a big change, then its probably because its going to help them a lot. And £50 would be nothing to get the benefit of that change. So, they will join.
Of course the organisation has to decide who to pay; so it will talk with one group of programmers, and say, could you do this? When could it be done? What will you charge? Please show us your portfolio so we can judge your skills. And then it will talk with another group and another group and another group; and eventually decide. And this show something very interesting. Free software brings with it a free market for all kinds of support and services.
By contrast, proprietary software support is typically a monopoly. Only the developer has the source code, so only the developer can make any change. If the user wants a change the user has to pray to the developer, "Oh mighty developer, please make this change for me." [laughter] Some developers say, "Pay us and we'll listen to your problem." If the user pays, the developer says, "Thank-you so much, in six months there will be an upgrade, buy the upgrade and you'll see if we fixed your problem, and you'll see what new problems we have delivered to you."
But with free software, anyone that has a copy can study the source code, master it, if he has the ability, and then offer support. So its a free market, easy to enter by anyone who has the capabilities. Thus, all those organisations and businesses and agencies that say that good support is essential for them, and say that a free software generally better good and services to the buyer, rationally ought to insist on running only free software, so that they can get their support through the free market. They should put an end to these support monopolies.
Now, this leads to an interesting paradox, you see normally when there's a choice between products to do a job, we say there's no monopoly. But when there's a choice between proprietary software products, yes there is a monopolies. Because if the user chooses this proprietary product she falls into this monopoly for support; but if she chooses this proprietary product, she falls into this monopoly for support. So yes, there is monopoly, its a choice between monopolies. [laughter] And the only way to escape from monopoly is to escape from proprietary software; to escape to the free world.
[edit] The Free World
[00:38:45] The free world is the new continent in cyberspace, that we have built, so that we can live here in freedom. It was impossible to live in freedom in the old world of cyberspace, where every program had its lord who commanded and mistreated the users, so we had to build a place we could escape to. Because its a virtual continent, there is room for everyone, everyone is welcome, and there are no immigration restrictions. And because, there were never any indigenous people in cyberspace, there never was the issue of kicking them off their land. So, everyone should come to the free world, every one of you should live in freedom. And the goal of the free software movement is the liberation of cyberspace and all of its inhabitants, all of you.
[edit] GNU
[00:40:05] I reached these conclusions, although not in their present form, I reached these view in 1983, and I wanted to be able to live in freedom whilst using computers. But how could that ever be possible, in 1983 it was impossible. Because, the computer won't do anything without an operating system, and all the operating systems for the modern computers of the day were proprietary, user subjugating software. You had to sign a non-disclosure agreement just to get a binary. And how could I ever change that, I was one man, not particularly famous, except inside the community of editor developers, and I had no political skill or experience. So I didn't suppose that I could just organise people to demand that governments change there laws or that companies change their practices. It didn't look like I could succeed that way.
But, I recognised that there was another way that I could achieve this goal. The problem was that all the operating systems were proprietary, and I was an operating system developer. All I had to do was write another operating system, and I being the author could make it free, and this way everyone would be able to use computers in freedom. In other words, I had come up with a technical means to correct and eliminate this social problem.
So, I was aware of an important and growing social problem that most people didn't recognise as a problem, I had the skills necessary to try to do something about this problem. And it looked as if nobody else would do it if I did not. That meant I had elected by circumstances [laughter] to do this work, it was my duty. Its as if you saw someone drowning and you knew how to swim and there was no-one else around, and its not Bush or Bliar [sic] or... [laughter] or anyone else that supports torture and wars of conquest and imprisonment without trial; or total surveillance. Then you have a moral duty to save that person.
Well, I don't know how to swim, but in this case the job to be done was not swimming, if was developing lots of code; and that I knew how to do. So, I decided to develop a free software operating system, or die trying [laughter] - of old age presumably, because at the time the Free Software movement that I was starting had no active enemies. Lots of people disagreed with it, but they just said that's silly and paid no more attention. So, the obstacle was no opposition, it was a pile of software we would have to develop in order to have a complete free Operating System. And, at the time nobody knew if this product would ever be completed. But, if its a matter of fighting for freedom, you can't afford to wait until victory is at hand before you start the struggle - because that means you will have missed most of the opportunities where you might have won. So, you have to start when you're not sure if you are going to win, and that means you have a chance to win.
[edit] Technical Decisions
[00:44:30] Once I decided to develop this system, my next decision was to ask other people to join in and help - that way we might get it done sooner. It was a big job. Then, I had to make technical decisions. I decided to make it a Unix like system, because Unix was a portable system. I knew it would take many years to complete another operating system, and during that time computer architectures could change. So, if a system wasn't portable, it could be obsolete before it was finished. By making it Unix like, I figured it would be portable, and able to run on whatever system computers people would be using then. And, I decided to make it upward compatible with Unix, so that the many Unix users would find it easy to switch. This made almost all the initial design decisions, because the design of Unix is that it consisted of hundreds of components that communicate through interfaces, more or less documented. And the users used the same interfaces to talk to these programs. To be compatible you had to keep the same interfaces, and replace each component compatibly one by one. Which meant the project had already been subdivided into little, or in some cases big, pieces.
[edit] Naming
[00:46:00] So the only thing I needed to start work on was a name. Of course, I looked for a funny name. Because, in the community of free software, in which I participated in the 1970s, we were programming for the fascination of programming. We called ourselves "hackers", which basically meant that we enjoyed playful cleverness; in programming and in other areas of life too. And therefore, when we wrote programs that were useful, that most of the time we were doing (it wasn't just for fun, it was also to be useful), we would often give our programs funny or mischievous names. Like, there was the guy who didn't believe in acronyms, so he called his program "String Handling Interpretive Translator" [laughter], which people usually just shorten to string. Now, back in the '70s system programing was not portable. All across the computer field it was quite common that you would see a really neat system utility, which was written for some other kind of computer, and you'd want to be able to do that, so you'd have to write another such program. In our community, we had a special tradition for such cases. You could give your program a name that is a recursive acronym saying that your program is not the other one. It's a funny way of giving credit. So, for instance, in 1976 I developed the first Emacs text editor. This was an extensible reprogrammable text editor. You could reprogram it in the middle of your editing session; and afterwards there were about 30 imitations of Emacs. And some of them were called this or that Emacs, which is straight forward and not funny. One was called:
- FINE, for FINE Is Not Emacs; and there was
- SINE, for SINE 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
You could have lots of fun with recursive acronyms. So, I looked for a recursive acronym for Something Is Not Unix. But nothing of that form is a word, and if it doesn't have another meaning its not funny, so I thought, what could I do? I could make a contraction and get rid of the word is, and that way I would have <blank>NU. So I started trying every initial ANU, BNU, CNU, DNU, ENU, FNU, GNU. Well, gnu is the funniest word in the English language, [laughter] used in countless plays on words. So, given a specific meaningful reason to use this for the name of my system, I couldn't resist.
Now, the reason why the word gnu is used in so much wordplay is, according to the dictionary, the G is silence and its pronounced nu. So anytime you want to write the word nu (new), you can write GNU and you have a joke. Perhaps not a very good one, but there a lots of them. Such as in the song "I'm a GNU", which I heard as a child. So, I couldn't resist it. But, you've got to be careful, because when its the name of our system, you must not follow the dictionary. If you call it the nu system, you'll get people confused, because we've been working on it for 24 years now, and we've been using it for 15 years, so its not new (nu) any more. But it is GNU, and it always will be GNU, no matter how many people erroneously call it Linux. [laughter and applause]
[edit] Don't call the OS Linux!
[00:50:30] But, how would such a strange error happen? Well, during the '80s our work was to develop these components, which we did in any which order. There's no need to develop them in any particular order, we just need to have them all. I just kept looking for who would develop this one? and sometimes you would, and sometimes you wouldn't, and then I'd go for someone else and I would look, for the big components, for something we could start with, to make it less work. And it turned out by 1990 there was only one of the major components that we didn't have. That component is the kernel; which is the program that allocates the machines resources to the programs that you run. And, I had been looking for something to start with, and I finally found it. I had found a so-called micro-kernel MACH, which basically did the bottom half of the kernels job, and it was just about to be released as Free Software. So, we could use that as the base, and we would only have to write the top half. And that running in user space. And that meant if something crashed, it wouldn't crash the whole system. And you could debug it with a source level debugger. And we thought that for all these reasons we would get it developed quickly. [laughter] We decided that we would build a collection of modular server programs, each one of each would do one of the kernel services, and they would communicate with messages.
Now, the FSF hired a person to write this. I never directly worked on it. So, I didn't see why it was going so slowly, but its took years to get this kernel to run at all. And it still doesn't run well, in fact fundamental problems have been discovered in the design; which nobody anticipated - in 1990 this design of a micro-kernel and servers was the elegant idea that everyone thought would be the coming thing. Now, we'd started so many software projects, nobody's going to be successful all the time. Fortunately, we didn't have to wait for it - so the fact that we haven't made a success of this kernel is sad, but its not a disaster.
[edit] Creation of Linux
[00:53:00] Because, in 1991, a college student, Mr Torvalds, developed his own kernel, using the usually monolithic design; and he got it to barely work in less than a year. This kernel was called Linux, and initially it was NOT free software. In the first release, the license was too restrictive as it did not allow commercial redistribution. And since these four freedoms are meant to cover all users and all users, that kind of restriction is not acceptable. However, in 1992, he changed the license, and he adopted the GNU General Public License; which is a license I had written to use for the GNU packages, the packages we were developing for the GNU system.
The GNU GPL is one of many free software licenses; there is a common misconception that equates free software to software released under the GNU GPL. This is erroneous - there are other free software licenses too. In fact, any software that grants the user the four freedoms is a free software license, because it makes the program free software, however, the GNU GPL is the most widely used free software license, used in something like 70% of all free software packages; and this probably has something to do with the fact that it is a copyleft license. Now, what does copyleft mean? Every free software license has to give you freedoms 2 and 3, the freedoms to distribute copies and modified copies. But, there's more than one way to give you those freedoms. Some people would like to take the free software and then redistribute it without freedom, to somebody else that will not have freedom. So, the question is, is that allowed. Some free software licenses permit that, and some say, when you redistribute this program, whether its an exact copy or with changes, you must pass on to the next person the same freedoms that you got from us. And the way that we do this is that we say you must make the source code available, you must do it under the same license. And basically, we put on whatever conditions are needed to ensure that every user gets the four freedoms. So, we do this by telling the middleman that they are not allowed to strip off the four freedoms. We make these four freedoms unalienable rights, so that all users will have them. That technique is called copyleft, and is implemented in the GNU GPL, that I wrote.
[edit] Free Operating System is achieved
[00:56:05] So, when Torvalds accepted the GNU GPL as the license for Linux it became Free Software. Thus, the combination of the almost complete GNU system, plus the kernel Linux made a complete free operating system, and the goal that I had announced in 1983 was reached in 1992. And for the first time it was possible to get a PC, and run it in freedom.
The development of Linux the kernel was a major contribution to the free software community. It gave us one of the essential components for the first free operating system. In effect, it was the step that carried us across the finish line. It was able to do that because of all the steps we had taken to get their. But many people noticed only the last step, and failed to focus on all the other steps that had got us to that point. And the people who started making all these common distributions and distributing them made the error of calling them Linux systems, even though they were mostly GNU. And that's how this error got started, that's how millions of people use this variant of the GNU system, and they don't know its the GNU system! They think its Linux and it was started in 1991 by Linus Torvalds. And if they hear about GNU at all, they think that the GNU projects developed some tools which turned out to be useful in Linux. Which is a completely backward pictures, and in any case only parts of what we developed was tools anyway. We did lots of things, but the tools that many people think about and they forget all the rest.
[edit] Credit
[00:58:10] Now, this is obviously unfair to us; we started this project, we did the biggest part of the work, and usually we get none of the credit. So please, don't call it the Linux system, call it the GNU/Linux operating system - if we did the biggest part of the work we ought to get at least equal mention.
[00:58:38] END OF TAPE 1
[edit] Firmware Question
(During the changing of tapes, a member of audience asks a questions about computers in other devices)
the equivalent of a circuit, this is something that I had to deal with in the '80s, because I had a microwave oven (I think I had one.... - either I had one or thought I might). Anyway, the question is did the Micro-soft [laughter and applause]; did the microwave oven have software in it, and if so was that a problem. And the point is, I didn't know if it had software in, I couldn't tell. Now if I took it apart I could tell, but without that I couldn't tell; and what that shows is it isn't a computer for the user. It might be implemented using a computer, but the job it does for the user is not the job of being programmable. And, the fact that you can't really tell as a user whether it has a computer in it or not, shows that it doesn't matter whether it has a computer in it or not. And thus I concluded that you didn't need to check whether your microwave oven has a computer in it, you could ignore that. On the other hand, in a PC, where people install software, that is doing the job of being programmable, you can't ignore whether the software there is free.
[edit] Credit (cont.)
[01:00:15] Anyway, getting back to whatever point it was I was making before that questions.... that's why I'd rather the questions wait until the end. Well, I've got to admit that credit is not the most important ethical issue in life. So, if it was just a matter of credit, it wouldn't be worth bringing it up. It wouldn't be wroth making the fuss I make about it. But there's something more important at stake in your choice of the name to call this system. Your freedom is at stake, indirectly of course. Because a name doesn't directly change anything. But, different names can give different messages, and those convey different ideas to different people, and that has an effect on what they do, and over a period of years the message that people are giving to others have an effect on our future. In fact, nothing has a bigger effect on our future. Our future depends above all on what we value.
Freedom is frequently threatened, and if people don't defend their freedom, they're likely to loose it. I usually cite the US as an example, but the UK is just as good an example of that danger. In both of these countries our freedom has been taken away - fundamental human rights have been attacked by leaders, who turn out to be our countries' worst enemies. And they do this saying they are protecting us against other secondary dangers. Which they exaggerate and dwell on, to distract us from how dangerous they are.
Now, in other areas of life, people have been debating issues of human rights for centuries - plenty of time to reach a conclusions about what human rights everyone is entitled to, and spread these ideas around the world. This doesn't mean that we will succeed in defending them, but at least it gives us a base to try. But, in order for people to try to defend their freedom, they need to appreciate and value their freedom, and to do that, they need to understand what it means. Computing is a new area of life, its only about 15 years now, that in a few most advanced countries, most people use computers. That's not a long time to debate what human rights should belong to a user of software.
[edit] Encouraging debate about users rights
[01:03:30] And, in fact there has been very little debate. Most users start with proprietary software, and everyone else that they know is using proprietary software, they've never heard of any other possibility. And, so they just allow the proprietary software developers instead of having any debate. We in the free software movement have been trying to start this debate. We have identified four human frights that the user of software should always have. But, our attempts to bring these rights to the attention of the public are hampered by the fact that the tens of millions of people using the free system that we developed to give them those freedom, don't know its ours. The name GNU has always been associated, since the beginning of the GNU Project, with ideas of freedom. Then name Linux is associated with very different ideas. The ideas of its developer Mr. Torvalds. And what are they? He says he values powerful, reliable software. He has the values of an engineer. He prefers not to think about issues of freedom. And he has managed to get the name of his kernel associated with his ideas. He has a right to put froward his views. But it isn't right that our larger and much earlier work should be credited to him, and server as a platform for his views against ours. And, it not only isn't right, but its dangerous for you. Because, when people think the system is Linux, they tend to look to Mr Torvalds for guidance in these ethical issues. And where is he going to lead them? He's not going to lead them to defend their freedom. And if they don't defend their freedom, we will be fewer as we try to defend ours. That is dangerous. The future of our community depends, above all, on what we value. And, if we do not value freedom; if we do not talk about the value of freedom we are much more likely to loose it.
[edit] How we lost our freedom
[01:06:20] And, this is not just a future possibility. Instead, its happening; in fact, its already happening. In 1992, when Linux became free, the combination of GNU and Linux made a free operating system, and it was possible to use a PC in freedom. But, just because its that way at one time doesn't mean its guaranteed to stay that way. In 1994 or 1995 there were a number of distributions of GNU/Linux, effectively competing with each other. And, some distribution developers started putting in some addons that were not free software. And they presented this as a bonus. "With our distribution look what you get! All these useful programs.... and the only bad thing is that they take away your freedom." - they didn't say that part, they just said "Look what you get, these wonderful freedoms". So, the users that don't care about freedom get attracted to those distributions. The developers of the other distributions, that are competing with them, and they said, "Uh Oh. They're attracting all the users with that neat program.. which isn't free. So, we'd better put in that program too." And so, over a number of years, all the distributions started putting in non-free programs, so there was no free distribution of GNU/Linux. So, when people asked me after my speeches: "Where do you recommend I get the system?" I had to say, "I don't know of any place I can recommend." Because, every distribution I know of offers to install non-free software, and if I recommended it, I'd be sending you to non-free software. And that is against my conscience, so I won't do it.
Now, that is an awfully sad situation. We reached a freedom and we fell back from it, for failure to care about it. And that's what happens to people who don't value their freedom; they loose it through failure to take any trouble to protect it. That's what happened in the US, that's whats happened here, and that's what happened in the free software community.
Well, I'm happy to say that there are some free software distributions:
- Utotu
- BLAG, which stands for BLAG Linux and GNU
- Gnewsense
All of which have the policy of excluding non-free software. But, those are not the well known distributions. The well known distributions continue putting in non-free software. Linux, in its usual version contains non-free software too. Because, Linus has never been committed to any principle. For some years he was publicly using a non-free program in the development of Linux. Now, if he'd been using it privately, I wouldn't have made a fuss about it, but he used it very publicly, inviting all the people working with him to use it to. So, I had to publicly criticise that, it would have been setting a very bad example for our community. And then, we discovered that there were non-free parts in Linux. Now, they don't run on the CPU. They're so called "firmware", which means that they're installed into other computers in various devices in the machine. But, you can't ignore them if they're inside of Linux. You can't say that Linux is free software if it contains these things. Now, what is it that makes them non-free? Well, the supposed source code is actually a vector of thousands of numbers, its actually a binary program masquerading as C source code. Now, that's not source code, its self delusion. So, the free distros have a free version of Linux, which doesn't have have that firmware; which means that certain I/O devices won't work. Well, if you want freedom, you have to be prepared, sometimes, to accept inconveniences to defend it. People who won't ever accept an inconvenience to defend their freedom, they will loose it. Fortunately, these are small inconveniences. Not like what some people have sometimes suffered to defend their freedom. You know, a hero will give his life for freedom. To accept these small inconveniences, you don't have to be a hero. In fact, you have to be a horrible coward if you don't.
[edit] It is a struggle
[01:11:55] So, we're still fighting for freedom, and you know sometimes we convince a company to start releasing the specs. Let us write free software to do those jobs. The point is, its a struggle, and we're more likely to win if we're struggling. If we're joining in the campaign, if we're joining in the campaign, if we're demanding freedom. And this is precisely what the ideas associated with the name Linux fail to suggest. And nowadays, those people don't talk about free software either. In 1998 they coined a different term they could use instead, so as to get away from all the ideas associated with the idea free software. Including the idea that this is an ethical imperative for the users freedom. They prefer the term open source, and if you look at the things that are typically associated with the term open source, and if you compare them with the ideas of the free software movement, you'll see a contrast like night and day. They're talking about basically the same set of software, but what they say about it in terms of philosophical values is totally different. They only say the practical values, like having reliable, practical software, they don't say about ideas of freedom and the social solidarity of you community. And if you don't talk about it, you won't lead other people to think about it.
[edit] Powerful Enemies
[01:13:45] This is particularly important, because today we have something we didn't have 20 years ago, powerful enemies. Companies that don't want us to be able to distribute free software to be able to do certain jobs. For instance, the conspiracies that inflict Digital Restrictions Management on the world. They don't want us to be able to make free software that will enable the users to use those works. So, first what do they do? They keep those formats secret, so we won't see how to write any free software. And then, when they see people figure out these formats, and will be able to write the free software, then they purchase laws to forbid the distribution of this free software. Of course, the first place they did this was in the United states. In 1998 the US adopted the Digital Millennium Copyright Act, which we could call the Domination Millennium Cruelty Act. Which, forbade the distribution of free software capable of breaking the digital handcuffs of DRM. Thus, free software exists to play the movie on a DVD, and the distribution of that software is illegal in the US, so the US practises censorship of software; and does so on behalf of mega corporations who wish to restrict the citizens. I'm sad to say that the European Union adopted a similar directive. And, I believe, that all the countries of Europe adopted that directive, and implemented it worse than was required. So, the distribution of that software is prohibited in all the countries of the EU except Finland. Now, Finland has the same rule, but a court ruled that this software is so widespread that this system no longer functions effectively to stop people from doing anything, which means that the law no longer applies to it. And, in Finland, this software is not censored. I have to wonder how long it will be before Disney and Sony and so on purchase another law there that overrules that decision. I'm sure they're going to try. And this is what you get when you have government for the people by the corrupted, on behalf of the mega-corporations. Its not, its democracy, its corpitocracy. And the laws are designed to keep us under the power of the empire. In effect our governments are of occupation. They're not there to work for us, they're there to give us as little as they possibly can, and they're there to give the mega-corporations as much as they possibly can.
[edit] How to defend Freedom
[01:17:16] So, freedom is not easy to defend. But, at least in the free software movement we sometimes have victories. But we're going to have to pay attention if we want to keep having them. And therefore, please support the free software movement. And this does not just mean developing code for free programs. Of course there's a lot of that to be done. But, its not just that any more. We need to organise politically. We need to insist that our governments talk to us with formats that are publicly documented and that everyone is free to implement in free software. Governments should never send people word files, or ask people to send them word files. Governments should refuse to use OOXML, which is partially patented by Microsoft, and perhaps at the same time by lots of others, who knows? And which has a specification 6000 pages long, so that its unlikely that anyone could succeed in implementing it. We have to insist that our governments stop teaching children to use proprietary software. We have a lot of struggle ahead of us, but the amount we have achieved suggests that we have a chance of winning.
[edit] Secondary topics
[edit] Free Software and Employment
[01:19:15] I'd like to cover a couple of secondary topics. One is Free Software and Employment. Some people like to spread fear that if the world moves to free software, all the jobs in the IT sector will disappear. Well, to a first approximation the jobs in the IT sector have disappeared anyway [laughter], in the wealthier countries. They all moved somewhere. But not quite all, and there still are some. So, lets look at the IT sector of jobs; well, programming is a small fraction of that, most of it is other jobs. Now, development of proprietary software is a small fraction of that, most of it is development of custom software, with one client. Now, if they world migrates to free software, the work developing proprietary software will go away, and good riddance. But the custom software jobs will still be there. They won't be in here any more than they are now, but they will still exist. And the reason is, if somebody wants a certain program developed for her particular needs, this year, shes going to have to pay someone - especially if shes running a business. Now, there might be a volunteer that could do that, but if she asks a volunteer, "Please, please write this program because it will be useful to me to make money", that person might say, "I volunteer a lot of my time to free software, but if you want me to do that for you, you'll have to pay me". An the fact is, these businesses, these clients are going have to pay anyway, to get somebody to do this work. So basically free software doesn't change the custom software development business in any way. So the worst thing that can happen is that we loose a small fraction of a small fraction of the IT sector of employment. But that doesn't mean we will necessarily loose jobs, we might gain them. You see, free software generates jobs too. It generates jobs adapting and extending free software - that's not an option with proprietary software, because only the developer has the source code, so you can't adapt it - but with free software you can, and sometimes organisations want to pay you to do so. So, there is a small fraction of jobs that will go away; and there are some jobs that we will gain. Is the net result an increase or a decrease? I don't know, I'm not an economist, and I don't know how to calculate that. But, what we can see is even the worst possible outcome is no disaster, there's nothing to be afraid of.
[edit] Free Software and Education
[01:22:15] The second specific topic is Free Software and Education. Schools must use exclusively free software, for their educational activities, and there are four reasons for this:
[edit] Save money
The most superficial is to save money; even in the wealthiest countries schools are limited by their budgets, they don't have enough money. So, they can't excuse wasting any of it paying for permission to run proprietary software. This is rather superficial, and pretty obvious, even the people have no idea what free software means understand this. But some proprietary software companies alleviate this reasons by offering gratis or nearly gratis copies of their software to the schools.
[edit] Prevent addiction
Now when we ask why we do this, it brings us onto our next reason why the schools must insist upon free software. Do they do this because they are idealistic and want to promote education; I don't think so. They, I believe, are trying to use the schools as an instrument to make society dependent on their proprietary software. Here's how the scheme works: they provide nearly gratis copies to the schools; the schools teach the students to use them; the students become dependent on them; and the graduate with this dependency. And, after they leave school you can be sure the same companies are not going to offer them gratis copies any more. And they certainly won't offer gratis copies to the companies they go to work for after they graduate. So, the idea is, the school pushes the students down the path of ever increasing dependency, and the students then drag society along with them.
Schools should refuse to participate in such a nasty scheme. Just as schools would refuse to accept gratis samples of addictive drugs to give to their students to give them dependency, they should reject the proprietary software, because the schools have a social mission. Their mission is to educate the next generation to be good citizens of a strong, capable, independent, co-operating and free society, and this means teaching them to use free software and not proprietary software.
[edit] Natural born programmers
But there's a deeper reason, which is for the education of the best programmers. Some people are natural born programmers. At the age of 13 or so they are fascinated with computers and they want to learn all about how the computer and its system work. So, if he is using a program, he wants to know how it does its job. But, when he asks the teacher how it works, if the program is proprietary, the teacher can only respond, "I'm sorry, its a secret". And thus education is not permitted. But if its free software, the teacher can explain what he knows, and then can say "Here's the source code, read it and you will understand everything." [laughter] And that kid will read it, because he's fascinated and yearns to understand everything. And, the teacher can say, "if you come across any code you don't understand, show it to me, and together we can figure it out", and this way, the kid gets to learn something very important - that's the wrong way to write code! [laughter] Because, if even he, who's a natural born programmer can't understand it, it must be really hard to understand.
Now, you don't have to teach these people to program, they read a manual and they say "Oh that's what programming is, of course!". But, learning to program well is something else. The way you learn to write good clean code is by reading lots of code and writing lots of code, and only free software gives you the chance. The way you learn to program is by starting small, but that doesn't mean working on small programs, because that doesn't even introduce you to the challenges of writing a big program. So you have to start of small, writing small pieces of code to go in big programs. And only free software gives you the chance to learn that. That's how I learnt: I got a job at a lab at MIT, I was hired to be one of these system hackers, which meant that my job was to make the Operating System better. And we had a free software operating system which had been developed by the hackers - those were the ones that had written it - and my job was to carry on improving these programs. And after I had written lots of added features, and fixed lots of bugs, in these large programs, eventually I got to be good at it. Now, any school can offer a similar opportunity to its students, but only if its a free software school.
[edit] Ethical education
But, there's an even deeper reason, that applies to every level, starting from kindergarten. And it is for ethical education, education in citizenship. Because schools are supposed to teach not just facts, not just methods and skills, but above all the spirit of good will, and the habit of helping your neighbour. So, every class must have this rule, students, if you bring a program to your class, you can't keep it to yourself, you must share it with the rest of the class. Or we'll confiscate it. [laughter] But, the school has to practise its own rule, it has to set a good example of ethical conduct; so the school must bring only free software to class. Every school must do this.
If you are student in a school or a teacher, or a staff, or in any way connected with a school, you must organise and pressure for that school to move to free software. And above all, you have to stand up to the awareness that the use of proprietary software is wrong. If you are a student and you go to a class where they are going to use proprietary software, its very important to stand up, in the very first class and ask the teacher, can we please work out a way I can do the work of this class using exclusively free software, because my conscience does not permit the use of proprietary software. I understand that this may be more work, but I'm willing to do it, because I believe this is the right way. This willingness to accept convenience for the sake of treating others ethically will influence others, it will show that you're serious about caring about freedom, yours and other people's.
[edit] St. Ignucius
[01:30:20] So, to conclude, I will introduce to you my other identity. People have occasionally accused me of having a holier than thou attitude - but I don't think that's true, because when I meet someone who doesn't use free software like I do, my desire is not to use him as a contrast to show how good I am, but rather to convince him to promote free software as much as I do. But, I do have a holy attitude because I'm a saint, I'm supposed to be holy. Hey, don't give away my jokes before I say them - at least whisper.
(Puts on St. Ignucius outfit) [laughter and applause]
(Waves)
I am Saint Ignucius, of the Church of Emacs.
I bless your computer my child.
Emacs started out as a text editor, that became a way of life for many users, because they could do all their work without ever exciting from Emacs. And, ultimately it became a church, with the launch of the newsgroup alt.religion.Emacs. Today, in the church of Emacs we have a great schism between several rival version of Emacs. And, we also have saints, but fortunately no gods. Instead of gods, we adore 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" [laughter and applause]
We have a religious ceremony in the Church of Emacs, called the foo-barmitsva, were a hacker, typically a youth of 13, that's the common age, stands in front of the other assembled hackers and recites part of the system source code
The Church of Emacs has certain advantages over certain churches I won't mention; for instance, to be a saint in the Church of Emacs does not require celibacy. So, if you've been searching for years for a church to be saintly in, you might want to consider ours. But, it does require living a life of moral purity - you must exorcise whatever evil proprietary operating systems have possessed computers under you control. And then install a (w)holy free operating system, and then only install free software in the system. If you make this vow and live to it, you too will have the right to be a saint, and you too will be allowed to wear a halo, if you can find one, because they don't make them any more.
Sometimes people ask me whether it is a sin in the Church of Emacs to use the other text editor vi. Its true that vi vi vi is the editor of the beast. [laughter and applause] But, using a free implementation of vi is not a sin, it is a penance, because its got so much less convenient.
And sometimes people ask me whether 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, thankyou. (Wafts halo) [Applause]







