Software and Beyond
Two Microphones! WOW, which one shall I speak into? If I do this, does it come out in stereo? These lights here are incredibly bright, it makes me feel as if I'm being interrogated. You have ways to make me speak!
I'm going to talk briefly about what the free software movement is all about, and then go on to how to extend some of those ideas to other things besides software. Well, first I should start by explaining where the free software movement came from. Most people who think about questions such as software copyright and so on are looking at it from the point of view of how they can make more money. They want society to impose the laws that will enable them to make more money. In effect, they believe that social decisions should revolve around them.
I had the good fortune in the 1970s to be a part of a community in which people shared software. We were developing software, and whenever somebody wrote an interesting program it would circulate around. You could run the program, add features, or just read the code and see how problems were solved. If you added features to the program then other people could use the improved version. So one person after another would work to improve the software and develop it further. You could always expect at least the passive cooperation of everybody else in this community. They might not be willing to drop their work and spend hours doing something for you, but whatever they had already done, if you could get some use out of it, you were welcome to do so.
This first free software community died in the early 1980's as a result of a series of calamities of different sorts, and that left me in a moral dilemma. Because I had already seen what it was like to use proprietary software: software for which sharing was prohibited and helping your neighbor is called 'piracy', according to proprietary software owners. (I like to call them 'software privateers' -- if they can call people who cooperate 'pirates', we might as well do something similar back to them.) Anyway, I had seen what it was like, and I had had a little taste of the ugliness of the social system that they provided to their customers, and I didn't want to live my life that way. I didn't want to work on software as part of that social system. I felt that that would be building walls to divide people. And I didn't want, at the end of my career, to look back and say that I had spent twenty or thirty years building walls to divide people. So I said I won't do it. But what alternative was there?
Well, the most simple alternative was to leave the software field, do something else. Now a lot of programmers say to me, 'the employers hiring programmers demand that I do this -- if I don't do this I will starve.' Now, that's silly. Anybody can leave the field of programming. Even in the US, there are millions of people who make a living not by writing software. I have no other special skills, nothing else that I'm particularly good at. But I'm sure I could have become a waiter. (Now, maybe I couldn't be a waiter at one of the fanciest restaurants.) There is nothing unethical about being a waiter. And there is one thing -- you are not going to starve.
That was an ethical alternative, but it was not particularly fun, and it would have been wasting my abilities. It would not be misusing them, but it would be wasting them. So I decided to look for some other alternative, some way that I could use my skill as an operating system developer to improve the situation for other people. I realized that if I developed a free operating system, one that allows the users to have freedom, then I could change the situation for everyone -- I could give everyone a way out of the dilemma that they were in, just as I was in it. So I realized this is something worth doing. I didn't know if I could succeed in doing it, but I was sure it was worth doing. That is what I decided to do: develop a free operating system that would give people the option of using computers and still having the freedom to cooperate with each other.
I should explain precisely what 'free software' means because the word 'free' in English and the comparable word in German are ambiguous -- they could refer to freedom or to zero price. It took me a while to figure this out, too--at the beginning, I didn't have it all clear in my mind. After a while I realized the crucial issue is freedom, not price. When I speak of free software, I do not mean that you do not pay for the copy. What I mean is that when you have a copy you are free to use it in various useful ways. Of course, you should be free to run the program, to do any legitimate job or activity. Another useful thing you can do with a program is study how it works, learn about programming, about how this job is done. You should be free to do that. Another useful thing you can do with a program is change it and adapt it to your needs. You should be free to do that, too. Another thing you should be able to do is make a copy for your friend so that your friend can get the benefit of it too. This is not only useful, this act of cooperation is a fundamental act of friendship among people who use computers. The fundamental act of friendship among beings who can think is to teach each other, to share knowledge. Sharing software is a special case of that, for those of us who use computers. Each act of sharing a copy of a program is not only a useful act, but it helps to reinforce the bonds of good will that are the basis of society and distinguish society from a jungle.
This good will, the willingness to help out your neighbor whenever it's not too hard, is what makes society function and what makes it a decent place to live in. Any kind of policy or any legal system that condemns or prohibits this kind of cooperation is polluting society's most important resource. It is not a material resource, but it is an extremely important resource.
Another useful thing you can do is to make an improved version and publish it so that everybody can get the benefit of your additions to the program. In some cases not everybody will agree whether a change is an improvement, but they will all benefit from having the choice. These are the various useful things you can do with a program.
For proprietary software, typically, you are only allowed to run the program and there can be limits even on that. The other things are completely impossible or illegal. Studying of the program, adapting it to your own needs, and publishing improved versions, are impossible because you don't get the source code: you are helpless to make any changes. Without the source code, even the most trivial of changes, such as using four digits for the year instead of two, can become extremely difficult. And when it comes to simply redistributing verbatim copies, the US government is pushing on the whole world a war on copying, a war on sharing, which will be just as dangerous, just as devastating, as the war on drugs.
In the US there are nearly a million people in jail because of this war on drugs. It causes corruption of officials, distortion of the rights of citizens, it distorts everything. When a war is "on drugs", it literally goes mad and forgets who the enemy is.
The war on copying will have to get even worse. Think how much fear is going to be required to stop people from passing along copies of things on their computers. I hope you don't want to live in a world with that much fear. The Soviet Union tried to stop people from passing around copies of things, and they found a number of very interesting methods of preventing it. Today, the US government is proposing and enacting all of the same methods. It turns out that if you want to stop people from sharing copies of things, there are only certain methods that are applicable. It doesn't matter whether the motive is political censorship or simply enforcing the monopoly power for some business -- they use the same methods, and they make society monstrous in the same way.
Free software is software that gives you the freedom to do all of those useful things. If any of those freedoms is missing, then a program falls short of being free. So to have a strong free software movement we have to be checking the licenses of software and rejecting programs if they don't give us fully and entirely all of those freedoms. We have to draw a line and say if it doesn't come up to this line then we won't accept it. That is, for example, the situation with Apple -- which uses a license which almost comes up to that line, but falls distinctly short.
Of course, it is nice to have some free software, but if you are using a mixture of proprietary and free software, the proprietary software is still putting chains on you. It's like, your hands are not chained anymore, but your legs are still chained. If you really want to be free, you've got to reject proprietary software. You've got to be using only software that respects your freedom and does not limit your freedom. Because of this, it was necessary to develop a complete operating system that is entirely free software. Any piece that is not free means that some part of you is chained. That was the goal of the GNU project.
I chose the name GNU for this operating system because GNU is a recursive acronym for 'GNU's not UNIX'. Which is hacker humor, because I had decided to make it compatible with UNIX, to have the same commands, the same features. We had to write all of the code from scratch because we could not use any of the code of UNIX itself. There is not one piece of UNIX in the GNU system, but it does the same job.
So we started writing the components of this system. The design of this system is that there are many separate programs that communicate with each other; and it was documented, so that you could understand what the interface was between these parts, write each part one by one, and then finally test each part, as a replacement for that part of a UNIX system.
When you have all the parts replaced, then you put the replacements together and have an entire system. And that is how we did it. It was a very decentralized way of doing things which was well suited to a rather amorphous and decentralized community of volunteers around the world communicating mainly by email.
First, I started writing pieces of the system, and then other people joined in. There were dozens, and then hundreds, and by the early 1990s we had finished nearly all of the important components -- there were still a number of other desirable components missing, but only one major essential component that was still missing, and that was what we call the system kernel. This is the part of the system that shares the processor time and the memory and the I/O devices between all the other programs that are running.
Before we finished our kernel, Linus Torvalds wrote a kernel, made it free software, and decided to call it Linux. Now, we didn't know about this, he didn't get in touch with us, but other people who knew about that kernel decided to look around and see what else they could put together with it and make a whole system. They looked around, and low and behold, everything they needed was already available. And they thought 'what good luck, the rest of the job is all done.' But it wasn't luck, what they found was all the pieces of the GNU system, not quite all put together yet because we were still missing one piece.
So what they were doing was fitting Linux into the gap in the GNU system; but they thought they were taking a whole bunch of things and putting them around the Linux kernel. So they ended up calling the result a Linux system, and as a result there are now some ten million people using this version of the GNU system and they don't know it -- or most of them don't know it. They think that they're Linux users, and they form "Linux" user groups and read magazines about "Linux" and form companies that use "Linux" and do things for "Linux".
This is a real disaster for the free software movement. The reason is that the name Linux has been associated with a different philosophical way of looking at the situation.
I've already told you what mine is -- I looked at something that I said was morally unacceptable, and said I'm going to build a morally acceptable alternative. The core of the GNU project is the idea of free software as a social, ethical, political issue: what kind of society do we want to live in?
The approach or the attitude that is associated with Linux is a very different one, a much more technological one, an engineers' attitude: how can we make powerful software, how can we be "successful." These are things that are not bad things, but they are missing the most important point. I think the question of what kind of society we want to live in is the most important point.
When people go to Linux user
groups and read the magazines about Linux and do business with companies
that do things for Linux, they don't find out that there is a social issue,
because none of those institutions talk about it as a social issue.
They talk about things
Nowadays, that outlook, that philosophical approach has a name, since 1998 it is called the open source movement.
That is the real difference between free software and open source. Free software is a political philosophy and open source is a development methodology -- and that's why I'm proud to be part of the free software movement, and I hope you will be too. [applause]
If you call this combined operating system, which has Linux in it, the GNU system, and various other programs written by other people, "GNU/Linux" or "GNU+Linux" (or use whatever punctuation you prefer), you will not only be giving the GNU project the credit it deserves for being the principal developer of the system, but you will also be helping to guide those millions of uninformed users towards the philosophy of free software which is most closely associated with GNU and not the name of Linux. In my experience the spreading of the awareness that this is a social issue is helped by that, more than by anything else.
At this point we have a free operating system; what do we need next? Well, we need free applications, because all the software you put on your computer should be free, not just the operating system. Fortunately people are working on free applications.
We need free documentation, because we need to be able to include the documentation in the system distribution and give you for the documentation the same freedom as for the software. This is why most of the books published by the publishers do not actually contribute to our community. While they may be technically of good quality, socially they are too restricted. They are the literary analog of a proprietary software package which may also be well written and reliable, but it doesn't give you the freedom you should have. The documentation that comes with your system should also give you that freedom. So, we have to urge and push the commercial publishers to publish free books. Once again, free in the sense of freedom -- obviously they will be selling the printed copies and making money. There is nothing wrong with that; people are selling the GNU system and making money with that, and there is nothing wrong with that either, so long as you the user get your freedom. It should be the same with manuals.
Beyond the area of software, there are other kinds of things that you can put on your computer. Some of these issues apply to them as well, not all of them, but some. The reason why they can be similar is because fundamentally, digital information technology is a method of copying and manipulating information. If we are not allowed to copy and transmit the information, we are simply being prohibited from taking full advantage of our computers and our networks. The owners of information want to limit those benefits to their own control; they want to have complete power over how people copy and how people transmit and manipulate information.
But the reason why the issues are not all the same is because different kinds of information are used in different ways. There are different useful things to do with computer programs, sound recordings, novels, paintings, and whatever. (I guess painting might be the wrong word, because I'm talking about a computerized image, but I can't think of a better word.) In any case, we should note that computer programs are functional works, they are made primarily to be run. Now programmers do find it useful and interesting to read the source code, but it is interesting to read the source code of a program because of what it would do if you ran it -- that's what gives it its interest, in most cases. In the Obfuscated C Contest, there are exceptions, there are programs that were made primarily because programmers enjoy reading them. But this is the exception that illustrates the typical case which is the contrary -- the program is mainly interesting because you can execute it.
There are other things like that, for example, recipes -- recipes are the closest thing in everyday pre-computer life to a computer program. It is a set of things to be done in a particular order with certain inputs and rules for how to tell when a step is done, and sometimes you have to go back and repeat a step. It's like an algorithm except that it's carried out by a cook and not by a computer. And of course, if you look at the things that people want to do with a recipe, it is much like software. They want to be free to use a recipe, to pass it along copies to other cooks. They want to be free to modify the recipe--you know, not put in so much salt--depending on how good a cook you are; a better cook can make bigger modifications and get something interesting. A beginner, mediocre cook like me can't make much modification. Well there are great programmers and mediocre programmers as well, it's the same thing. And there are other things, for example, manuals for free software, or manuals for software, for which it is useful; just as the software should be free, so should the manuals.
Then there are things that are somewhat like that, for example textbooks. (Generalize that to hypertext if you want -- that's an orthogonal question. I'm not concerned whether it's a linear text or something more sophisticated. It's a work you get, and you read it and learn a subject from it.) Well, people can improve these things, it is useful to have people working on them, to either make them teach better or to update them, as people learn more about the subject. It is useful for teachers to adapt these works to the class as they want to teach their class. This is one area where that kind of freedom is important.
There are other areas, other kinds of work, for which you don't need quite as much freedom, because the useful things to do are not quite as much. To really illustrate this point, I should go to the opposite end of the spectrum and consider a recording of music. Well, what are the useful things you can do to a recording of music? You can play it, or you can cut out a part of it and sample it into another mostly different piece of music. These are the things that people should be able to do. Of course, copying; anything that is on your computer, you should always be allowed to copy and send it to a friend.
Therefore, to do these useful things with a piece of recorded music, it is not the same situation as with computer programs. There is nothing like a source code for a piece of music. (You might think the score is like that, but not really. It requires human interpretation. If you fed it into a computer you would get results that are not quite so nice, so it is not really the same situation.)
We have to look at these various kinds of work and ask 'what are the really useful things that people in general can do with them?' That will tell us what the freedoms are that it is important that everybody has. With the recording of music, it is sufficient for people to have the freedom to redistribute verbatim copies and also the freedom to use a small sample as part of making some different work. That way, both the listeners and the musicians can make use of it in different ways.
People who want to own information always bring an economic argument, what they say is, reduced to its bare bones, 'if you don't give us additional power to control what you do with these works then we won't produce them and you won't have any, and you can't stand that, can you?' The biggest significance of the free software movement is that in one particular area we have proved, with hard facts, that that is an empty threat. We have delivered to the users a broad spectrum of free software including complete operating systems. It's a much larger amount of free software than they said we could ever produce. While it is not yet the same spectrum of software that users want, it is in the same ballpark. So we have shown that their threat is a bluff, at least in one area. Maybe it is a bluff in other areas too.
For example, one area where it is clearly a bluff is that of scholarly and educational writings. Scholars produce their work for their reputation. There is no need to have any mechanism for collecting fees. There's no need to restrict people in order to collect the fees. All scholarly texts should be available on the World Wide Web and just be freely accessible to everyone. And everyone should be free to make mirror sites, so that the works are available in several cities on all continents, so that no natural, man-made, physical or bureaucratic catastrophe can ever cause any paper to get lost.
Another area is in educational works. It's clear that if high school and college teachers start writing encyclopedia articles about their favorite topics, and if we get just a few thousand teachers, and if they write just one article every year then in twenty years, we will have the encyclopedia: the Free Internet Encyclopedia of All Knowledge. [applause]
That will probably be available in English first, but could be translated into any other language that people want to have it in. This is an idea that we should start to spread. We should spread it among teachers, because they tend to love some subject, and if they just write about these subjects that they have studied and that they have become experts in, without having to struggle they will get the job done in the long term. There have been other initiatives to build on-line encyclopedias, but they all approached the admistrative stuff first, and so they ended up with a great list of what they would do if they got all these articles -- but no articles. So, looking at the free software movement as an example, what we need to do to get this going is to just spread the idea of writing articles; the administration will take care of itself later on. As we build up enough interested people they will have the manpower to take care of the administration and the organization.
How you decide if an article is good enough to include in the encyclopedia, and the difficult questions of how you deal with the neo-nazi who writes that the holocaust never happened -- we will deal with those questions later on. We shouldn't have to deal with those questions now, because we don't have the experience to know how. We learned a lot about how to deal with problems of free software by writing a lot of free software, encountering the problems, and trying various solutions. When we get thousands of teachers each one trickling out articles that makes it into a flood, we'll eventually figure out how to organize this encyclopaedia. For now, all we need to do is to spread the idea -- and the idea that we don't start with the administration, we start by writing articles.
Beyond the encyclopedia there are other kinds of teaching materials, say textbooks. For those things that you read and learn some subject from, the granularity on the Internet will be smaller. Instead of one big book in which you study for six months, you will have smaller chunks of text that deal with the parts of the topic. With that level of granularity, I think it may be sufficient if those who have a different approach to teach a subject just write their own articles about it. Or perhaps you should be allowed to quote with attribution a passage of any length. So if you want to quote the whole of somebody else's article, as long as it's properly indented to look like a quote and it has the person's name and the proper references, you do that. And then you can add your own commentary, something that was very useful in ancient times -- writing a commentary on a work.
And what about the opposite extreme from functional works -- works that are meant purely for appreciation. (You look at it and you say ahhh.) Works that express some individual's taste rather than being intended for any kind of use. Well, perhaps, we shouldn't be allowed to modify those, but we should certainly be allowed to make copies and send them to our friends.
What about the economic argument in those areas? I am convinced that in twenty years, when essentially everyone in the richer countries is conveniently on the Internet, and assuming that we have a convenient system to efficiently send sombody else a payment when you want to, I think that musicians and writers will be able to make their living by adding a little box to novel or the musical recording that shows up on the screen and says, "Click here to give me a dollar, if you wish." [applause]
After all who is going to refuse? Aren't you going to pay a dollar if you really love a song? A dollar is probably all they get in royalties if you buy a CD -- if they're lucky.
You see, there's a swindle in the music industry. (I hate the term 'music industry,' I think it is an insult to music [applause].) The music companies say that all the restrictions they place on us are for the sake of the starving musicians. When they sign a record contract with a bunch of these starving musicians, they say, "We are going to spend a certain amount of money on the publicity for your record, and we are going to call that an 'advance'. And until you have sold a whole pile of records, enough to repay the whole publicity costs, you are not going to get one Mark."
So really, most of these bands don't get any money, all they get is publicity. And they can get even better publicity by saying to all their fans, "Copy the music, and send it to somebody else." And by putting in this box that allows the fans to pay one dollar (or five or whatever they want).
And so, for music, I am very confident, having seen street musician playing and people throwing coins into their hats, that musicians will make a living as easily as they do now, if not more so.
For novelists, it is not quite so clear, but there is one example that sheds some light on this. There is a textbook in some obscure area of computer science -- so obscure that I had never heard of it and I can't remember what it was called. In any case, it was used in some classes. They distributed it not as printed copies but on the Internet. The group that put this textbook together said, "If you like this, please send us five dollars." They got a few thousand dollars from this -- and it wasn't the most popular of textbooks.
They did benefit from the fact that teachers sometimes made a special request to the students to write checks to the authors, and then they collected the checks and send them in, I'm told. But if you didn't have to write a check and mail it, if all you had to do is click, a lot more people would pay the money, because the work of mailing it is more of a deterrent than the money itself. So, that example says that there is a potential, and the more we get used to doing things this way the easier it will become.
So we should aim for a world in which people who produce knowledge work out other kinds of arrangements for their income, a world in which a lot of this work isn't done for money anymore and might be better because of that. That is the end of my speech. [applause]
Oh, boy! I almost forgot to
tell you. I brought six copies of the Free Software Foundation's source
code CD set. If you want to buy them, they cost the equivalent of sixty
dollars. This money will go to the Free Software Foundation to fund development
of more free software and
[Dressing up with old hard-disk platter on head as "halo".]
I bless your computer, my child.
I am Saint IGNUtius of the
Church of Emacs. (Emacs started out as a text editor, but it became a religion
and way of life.) I should explain that the Church of Emacs is better than
some other churches, because in the Church of Emacs sainthood is not a
matter of celibacy. But it does involve a moral commitment, a commitment
to a life of moral purity. You must exorcise all the evil proprietary software
from your computer, install a wholly (holy) free operating system, and
only install free software on top of that. If you do that, make that
commitment and live your life that way, then you, too, are a saint in the
Church of Emacs. And you, too, may eventually have a halo to wear. [applause]
(Transkript Diana McCarty)