28 June 2001, 11:30 - 12:30 Prepared text for remarks by Robert J. Chassell FSF Press Conference, 2001 USENIX Annual Technical Conference Let me thank USENIX for this wonderful award. We deeply appreciate it. Also, let me again thank everyone who has helped with GNU. GNU/Linux comes from the work of thousands of people. Without them, GNU/Linux would not exist. A lot of effort has gone into this software that we all have the freedom to copy, study, modify, and redistribute. David Wheeler estimates that the Red Hat distribution, which is not the largest, represents 8,000 person-years of development time. [http://www.dwheeler.com/sloc/redhat71-v1/redhat71sloc.html] The GNU Project is not finished ------------------------------- The GNU Project is not finished. The early part is done. 17 years ago, the first goal was to create a complete, free system that developers can use to create more and to improve upon existing free software. We reached and passed this goal 7 years ago. GNU/Linux is now far more than a tool to create tools. Now the technical emphasis is on embedding software, on providing the machines in the back room, and, most visibly, on providing user interfaces and applications for people who are not programmers. But GNU is more than a technical project. The goal of GNU is freedom. Our freedom is under attack. Software requires freedom ------------------------- Software requires freedom. Freedom becomes real through relationships among people and companies. Freedom is *made* real through laws and licenses. Software can be licensed in different ways: restrictive and proprietary, or free and open. Free software is software that you have the legal and practical right study, modify, and redistribute. Free software is written by people who choose freedom. Programmers, or their employers or universities, can choose a restrictive license; they can choose to forbid others from looking at or working on the code. Or they can choose freedom. Not everyone thinks directly about whether they want to choose freedom. Many programmers, for example, are interested in a software development method that leads to greater reliability, security, and efficiency. The benefits for which such programmers look are practical. Sometimes you will hear people talk about `open source' as a practical development methodology. But to gain the practical benefits, programmers need the freedom to study, modify, and redistribute their and others' work. If a programmer cannot study and modify code, she cannot make it better. If she cannot distribute it, no one gains. Similarly, you cannot gain security unless other people have the freedom to search for flaws. A programmer will not find all the flaws in his program, nor will his colleagues, nor will company approved reviewers. This is the human condition. Only through outside inspection can you gain confidence. Open source development requires software freedom. Moreover, everyone needs freedom, not just programmers. Freedom is the right to choose. When given a choice, most people, including people who are not programmers, choose reliability, efficiency, and security. It is very simple. That is why the better programs succeed. This is why a practical, open source operation requires freedom for everyone. Benefits of software freedom ---------------------------- In addition to these practical benefits -- the profitable advantages that appeal to investors -- freedom brings the advantages of a free society, of sharing and cooperation. In a civilized world, we want to share, to cooperate, and to help each other. People share when they are not harmed by doing so. People like to help their neighbors. With free software, you are not hurt when you help someone else - you lose nothing, but your neighbor gains. But with proprietary software, you are hurt by helpfulness. You may be hurt directly, or indirectly. Suppose, for example, you need source code to fix a printer; and it is forbidden to you. You are hurt directly. And those who depend on the broken printer are hurt indirectly. Suppose your electricity company hires a `license compliance manager' to make sure its engineers do not take work home with them. A few years ago, my electricity company did this. I am hurt indirectly, since my electricity company is less efficient, and more wasteful of resource, than it ought to be. Moreover, proprietary software hurts more than the present; it hurts the future; it hurts our children. Proprietary software requires that parents and teachers train children to be selfish, or else to violate the law. For example, a few years ago, the daughter of a friend showed off a colorful and dramatic program. However, I could not but notice that the program came from another person. Her use and possession of that program was illegal. With non-public software, sharing is illegal. The programs' distribution is restricted and even the youngest child is supposed to insist that his or her friends, or the school, purchase additional copies. If you are a parent, or a teacher or administrator in a school, you can spend a great deal of time trying to enforce laws against sharing. Or you can teach students to disobey the law. This is a common, but poor way to educate a society. The solution is to adopt free software. A teacher or administrator can encourage students to share software. Parents can come out against selfishness. It becomes legal both to abide by the law and to share with others. And of course, you can encourage students to study the software that they have. Students can learn to program, to maintain systems, and they can learn to learn, which is very important in a changing world. Freedom brings other advantages. Bureaucratic hassle is uncivilized. We want less hassle, not more. Software restrictions force companies and other organizations to organize themselves so as to limit what people can do. You are forbidden simply share a program, which is simple and natural. Instead, you must fill out a proposal, a form, or your friend must, to get another copy. This is what restrictions mean, even though your computer is a machine for making copies. And, of course, your company must police you to make sure you don't secretly help your colleague. Most likely, the company won't refer to its actions as `policing'; it will talk about `license compliance management'. And it will permit some collaboration. License compliance managers are not foolish. They will permit some leeway. They will stop you a little further along. In brief, practical benefits require software freedom. So does sharing and cooperation. So does civilization. Freedom is key. Attacks on software freedom --------------------------- The critical issue now is to prevent our being forbidden, to protect and preserve software freedom. This issue is not technical: everyone now understands that freedom brings software. In the past, many people told me that freedom loses. They were wrong. Freedom wins. If we are not forbidden, we will all enjoy embedded systems that run free software; we will enjoy infrastructure that is efficient and reliable. And just as people are are not auto mechanics drive cars, we will enjoy new free software interfaces and applications. But software freedom is being attacked. There are students of computer science who are forbidden by law from studying the programs they use to write essays. There are professional programmers who are forbidden to use the best technology. There are ordinary people -- people do not care one way or another about software -- who find they cannot choose whom they will hire to support the tools they use, or customize them, or fix them promptly. Every school, college, or university should encourage students to study, not forbid study. Students should write essays using software that budding programmers can study. Professional programmers should use the best technology, not be forbidden. Software patents hinder the industry. And every one should have the freedom to hire whom they choose to fix, modify, and support the tools in a business or household. Let me discuss each of these attacks in more detail. Forbidden to study ------------------ Student programmers ought to have the right to study the sources to the software they use. This is one way to learn how to construct large and long-lasting programs. But restricted software forbids this. Teachers must forbid their students from studying. Clearly, most students do not want to become programmers, just as most do not want to become lawyers. But those who want to learn should not be forbidden. Textbooks provide pathways into knowledge, and are so used. But textbooks do not substitute for reality. Programmers learn not only from books, but from the great programs of our time. Ask yourself, do you know anyone who uses software that he or she is forbidden to study? If so, you know someone who lacks freedom, someone who lacks opportunity. When a school forbids study, it betrays its mission. Forbidden to succeed -------------------- Professional programmers ought to have the right to use the best technology needed to solve a problem. But a software patent either prevents a programmer from using a technology, or forbids him from redistributing the program. The programmer is forbidden to succeed. That is what a patent does: it gives the patent holder the legal right to take away a citizen's natural rights and to restrict them. The usual argument for a patent is that it provides for a government enforced monopoly that will enable an investor to make monopoly profits. The investor will then use those profits to pay for innovation that makes the patent itself irrelevant. Unfortunately, we have found from experience that software patents do not work. Software patents do not ... promote the progress of science and the useful arts ... which is their purpose, as defined by the U.S. Constitution, Article I, Section 8 [To promote the progress of science and the useful arts, by securing for limited times to authors and inventors the exclusive right to their respective writings and discoveries.] Indeed, patents hinder computer science and the useful art of programming. For example, the RSA patent of 1980 prevented other Americans from developing secure software. It slowed down progress. Forbidden to choose ------------------- Every one ought to have the right to hire whomever they choose to fix, modify, and support the tools in a business or household. But we are forbidden to choose. It was the lack of this right that brought me to understand the importance of freedom. Many years ago, before I got involved in GNU, I was using a program that cost my company $50,000 for a license to run a single copy. The program was good. It did almost everything we wanted. Except for one thing. We wanted another feature. So we told the company that created this program what we wanted. And they agreed with us: yes, we had a good proposal and they would add the new feature ... in 18 months to 3 years! We were too small a customer to get any quicker service. 3 years! My company wanted the feature in 3 weeks. Then I discovered GNU Emacs. It was not as glitzy as this other program, but in conjunction with other free software, it did everything we needed. So we adopted it. Then, of course, we discovered other features we wanted. And we could implement them ourselves. Every week or two, one of our programmers would put in a day or two of work to add a new feature. We were very pleased. And I came to realize that this kind of freedom is valuable. Take a politician out to lunch... --------------------------------- Freedom depends on civilized customs and habits. Ultimately, freedom is defended by law. And laws are passed by politicians. I would like to ask each of you to take a politician out to lunch. Take a school committee member or college trustee out to lunch. Ask whether any student uses a program for school work that another, interested student might want to study. Ask whether the school will forbid study, or encourage study. Take a congressman or senator out to lunch, or a staff member. Ask whether the politician supports the Constitution, and favors progress; or whether he or she favors retardation. Take yourself out to dinner. You, in a bigger or smaller way, are a politician. You think about issues. You talk to others about policies. You talk about politicians. Ask yourself what kind of society you want to live in? Ask yourself whether you want to live in a society in which children are taught either to be selfish, or to break the law? Or do you prefer to live in a country where others' children are, on the whole, cooperative and law abiding? Ask yourself whether you want to choose whom you hire to fix, modify, or support the tools you use, or whether you prefer to be restricted? After dinner, ask yourself whether you favor a restricted technology like MP3, or whether you favor a free technology, like Ogg/Vorbis? To enforce restrictions on technology, a government must restrict your choices; it must encourage selfishness; it must discourage cooperation. That is the nature of what is involved. Closing ------- In closing, let me again thank USENIX. Let me thank everyone who has helped with GNU. And let me say again, the GNU Project is not finished. GNU/Linux, a complete free software system, exists. Open source works. But the freedoms that open source requires are under attack. If we fail to defend ourselves, we will lose the benefits of software freedom. We will be forbidden from studying. We will be forbidden from using the best technology. We will be forbidden from choice. For a free society, we need to support the GNU Project, we need to support software freedom. Programming must continue. We need to support new hardware, so people can run their machines with free software. We need more programs, so that people can do all their computer-related work with free software. And we need to preserve and protect software freedom, and all that those freedoms entail. We must fight bans on study; we must fight patents. We must fight those who would take our work from us. We must defend everyone's freedom to study, modify, and redistribute software. We must defend free software.