Stallman Condensed ------------------ What follows is a summary of Richard M. Stallman's 29 May 2001 speech at NYU entitled "Free Software: Freedom and Cooperation". As the length of the original speech is intimidating, my hope is that this distilled version will be more approachable to the casual reader. The original text can be found here: http://www.gnu.org/philosophy/rms-nyu-2001-transcript.txt Not everyone is a programmer ---------------------------- RMS starts out his presentation with an analogy one might use to explain free software to a person who is not technically savvy: sharing recipes. "Some of you may not ever write computer programs, but perhaps you cook," the analogy goes, "and, if you use recipes, you've probably had the experience of getting a copy of a recipe from a friend who's sharing it." This quality of sharing is very close to the principle upon which the free software movement is based: that useful information, specifically the code from which publicly distributed programs are built, should be available to everyone. Continuing the comparison, once you own a copy of a recipe, you are free to change it to suit your individual tastes, to "add some mushrooms, 'cause you like mushrooms", for example. This is another principle of free software: that one should be able to make changes to the code of a program as desired. If you cook for friends from this modified recipe, they may like your creation and then ask for the new recipe. As with distributing modified free software, you share it with them because "that's the way to be a decent person". Now the punch line: if recipes were like proprietary, non-free software, then this story would be far different. Suppose the recipe were given to you as a black box, the insides of which you could not change, but which would produce the same dish exactly as your friend had made it. Then you might not be able to change the dish to your liking and thus could never share with your friends a modified (hopefully better) version of that dish. Non-free software is based on a value system "in which common decency towards other people is prohibited or prevented", one which opposes the system of sharing that people commonly use and understand with recipes. Laser printer debacle --------------------- With a bit of his own story, RMS explains how he came to see the dangers of proprietary software during the 1970s when he worked at the MIT Artificial Intelligence Lab. His group had been given a brand new Xerox laser printer for use with their PDP-10 computer, but it jammed frequently. This caused much aggravation as there was no way of knowing, without physically examining the printer itself, that it had jammed. So they got the idea of changing the printer software to notify the users on the system that a jam had occurred. This seemed natural enough to this particular group of researchers since the lab internally shared code and information freely. After all, they had created their own operating system in assembly language and this was merely software for a printer. Unfortunately, that software had been provided in binary form only and they had no source with which they could make changes. Even worse, Xerox refused to let them have the source. And so they "just had to suffer with waiting"; "frustration up the whazzoo," he explains. NDAs have victims ----------------- The story of the printer driver continues: someone at Carnegie Mellon University did have the source code, yet refused to give a copy to the MIT group because "he had promised to refuse to cooperate with us ... he had signed a non-disclosure agreement". By the terms of this agreement, the person with the source "had promised to refuse to cooperate with just about the entire population of the Planet Earth". This led RMS to draw the conclusion that, despite rationalizations and quid pro quo temptations, NDAs have victims since they bind a person to potentially refusing to share generally useful information, and thereby making life more difficult for fellow humans. As a consequence, RMS has "never knowingly signed a non-disclosure agreement for generally useful technical information, such as software". Birth of GNU ------------ After the collapse of his group at MIT and contemplation upon the lessons learned there, RMS decided he "would develop a free operating system -- or die trying...of old age". He decided to model his system after the UNIX system, for the sake of compatibility and portability. The modularity of the system allowed the pieces to be developed one at a time, thus building the whole system gradually, replacing the proprietary bits that comprised most UNIX systems. In the spirit of the hacker culture, he used a recursive acronym to describe the software: GNU, which stands for "GNU's Not UNIX" and is pronounced "guh-NEW". Slowly bits of the system started getting written, and they were "equally good replacements, with fewer bugs ... but they weren't tremendously exciting". Then in early 1985, as RMS "had no intention of learning to use VI, the UNIX editor" for text files, he completed GNU Emacs, a versatile text editor. Quickly other users wanted a copy and RMS realized he had to work out the rules of distribution. Anyone with network access and an FTP client could get the software for free, and those without could get it on a tape for $150. $150 for free software - two meanings of "free" ----------------------------------------------- This is a point of widespread confusion: how can free software cost $150? The answer is that the English word "free" has two distinct meanings. The "free" in the free software movement is about sharing and promoting freedoms. However, many people think that it means "free" and in "free of cost" and while most free software can be had without paying for it, no one is prevented for charging people for a copy. RMS makes this point by asking us to "think of free speech, not free beer". In effect, this is what almost every GNU/Linux distribution does: package free software to suit the needs of a group of users. On the subject of the price of software, RMS says, "I'm not against some other programmer getting money either. I don't want prices to be low. That's not the issue at all. The issue is freedom." The Four Freedoms of free software ---------------------------------- Having alluded to the qualities of free software earlier, RMS now takes time spell out the four freedoms of free software. (Note that they are zero- indexed.) First is Freedom Zero, the freedom to use software however you wish. RMS notes that "most programs will at least give you Freedom Zero", and that any software that doesn't "is a pretty damn restrictive program". Freedom One is the freedom to change software to suit your needs. Remember the example with the Xerox laser printer at the MIT AI lab, and how this freedom would have allowed them to rewrite the software to make their lives easier. In general when this freedom is not granted "it makes you a prisoner of your software" and "causes practical, material harm to society", just as the researchers at the lab were prisoners to their printer software and suffered under it. Freedom Two is the freedom to distribute the software to anyone else, and in doing so "to help your neighbor". Remember the analogy with recipes and how sharing is "society's most important resource". RMS makes the point that the laws that are used to prevent sharing of software are based on the logic one normally applies to physical goods, when in fact there are vast differences between physical goods and software. For example, it takes greater resources to produce a copy of a car than it does to produce a copy of software. Freedom Three is the freedom to distribute altered versions of the software, and in doing so cultivate a community centered around the evolution of the software. When you share a modified version of a recipe you obtained from a friend, you are exercising an analogue of this freedom. Open source and free software: two different goals -------------------------------------------------- One source of confusion about the free software movement is the insistence that they and the open source software movement are inherently different. RMS claims that they differ in their goals: free software has a philosophical goal to promote the four freedoms listed above while open source software has the practical goal to promote the release of software for which the source is available under a license fitting a certain definition. In general, this means the freedoms granted by various types of open source licenses are a subset of the greater freedoms granted by free software licenses. RMS says that members of the OSS movement "only cite the practical benefits" of free software and while they have "contributed substantially to our community", he says that "philosophically, there's a tremendous disagreement". Where to measure freedom? ------------------------- The measurement of whether a piece of software is free software can depend on where the measurement takes place. In the example of X Windows, the license allows for different freedoms for different groups. The developers of the X Windows system have all four freedoms and thus, it is free software to them. The users do not, in general, have any of the four freedoms except Freedom Zero, and so it is not free software to them. Similarly, some companies take the source, change it, release binary-only versions, and then their users have only Freedom Zero. RMS worried that "if that same thing had happened to GNU software, it would have been a failure". So he sought a way to prevent it from happening, a way to grant freedoms to all users of the software, regardless of the modifications. Copyleft -------- The method RMS came up with is called "copyleft", so called since "it's sort of like taking copyright and flipping it over". Free software grants all four freedoms and, via copyleft, uses copyright law to enforce on all derived works those same four freedoms. Under these conditions, the paradox of X Windows, free software that isn't always free software, cannot occur. The license that accomplishes this, and which is used on much free software, is the GNU General Public License (or GPL), "a controversial license -- because it actually has the strength to say no to people who would be parasites on our community." Why GNU/Linux? -------------- First came GNU in 1984 and subsequently in 1985 the Free Software Foundation was created. Work continued on the GNU system and in 1991 only one crucial piece was missing: the kernel. It was then that Linus Torvalds combined the GNU system with his monolithic Linux kernel to create the first GNU/Linux system. And this is a point that RMS feels strongly upon: "if I'm talking about the kernel, I call it Linux" and otherwise the complete system should be called GNU/Linux since both the GNU system and the kernel must be combined to create a complete whole. Free software and business -------------------------- Having already discussed how free software puts power in the hands of users, RMS then takes time to clarify why, despite the recent invective from Microsoft, free software is a good for business. That users are granted the four freedoms is the first advantage that business can receive from free software, as businesses are themselves users of software, often on a large scale. Thus a business has the opportunity to control the software they use, instead of being at the mercy of the bugs and feature decisions of the proprietary software vendor. Further, business can benefit from inspecting the code of the software to ensure privacy for its own sake (effectively preventing the use of spyware) and take action to fix any security flaws that might exist (instead of waiting for the proprietary software vendor to test and release a fix). For businesses that develop their own in-house applications, free software promotes code reuse, thus eliminating waste while saving time and potentially money. Since a free software license like the GPL requires that source be provided only when modified software is made available to the public, applications developed for internal use which potentially incorporate proprietary technology need not run afoul of the GPL. This point seems specifically targeted at Microsoft's contention that businesses cannot use free software without putting at risk their own proprietary technology, a position that RMS believes to be untrue. RMS also claims that the use of free software promotes standardization and compatibility. Businesses might find this attractive since it could prevent the seemingly planned obsolescence of products and their data formats that can occur with proprietary software. An obvious example here might be Microsoft Office's Word, for which new incarnations often introduce non-backward compatible document formats. These don't address the question of free software companies and what business models are available to them. However, several models already exist and RMS takes the time to point them out. Primary among these is the support model, which almost every GNU/Linux distribution offers. Distributions also attempt to make money off of the retail sales of their packaged versions of GNU/Linux; however, one can still download those systems for free. Cygnus Support also offers services to support GNU software, and has since 1989. One method of making money from free software is to to charge a client to add desired features to an existing application. RMS also points to Tony Stanco's recent FreeDevelopers movement as a potentially successful model to pay programmers to develop free software. In Closing ---------- Before taking questions from the audience, RMS expresses his stance that a free software movement should focus on long term gain, and that "people who don't support free software generally adopt a value system in which the only thing that matters is short-term practical benefits". Drawing a parallel with the US holiday Memorial Day, during which American heroes of war are honored, Stallman urges free software supporters to make "various sacrifices" for the cause. Unlike those made by war heroes, however, these sacrifices can be small like "learning a command-line interface" or "paying some money to a company that's going to develop a certain free software package, so that you can have it in a few years". As one that has devoted the past 17 years of his life to this cause, he is exceptionally qualified to speak to such a commitment. In this speech, RMS has outlined many of the salient and oft misunderstood qualities of free software: that it promotes the four freedoms that we all know from our social tradition of sharing; that the "free" in "free software" refers to freedom for the user, not cost; that software that denies any of the four freedoms can lead to waste and suffering; that open source software and free software are fundamentally philosophically different yet have together led many people to release much useful software as free software; that the GPL protects the freedoms of users from exploitation by parasitic commercial interests; and finally, perhaps most importantly, that business and free software can coexist, despite recent claims that free software destroys so-called intellectual property. -- Reference information: GNU Project and Free Software Foundation: http://www.gnu.org Original speech: http://www.gnu.org/philosophy/rms-nyu-2001-transcript.txt Open Source Initiative: http://www.opensource.org/ Copyright (C) 2001 Matt Matthews (jvm@linuxgames.com, jvmatthe@math.duke.edu) Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved.