History and Philosophy of the GNU Project
Translation of a speech that was given in German at the CLOWN (Cluster of Working Nodes— a 512-node cluster project of Debian GNU/Linux machines) in the University of Paderborn, Germany, on December 5th, 1998.
The German original is also available. Reading the original is recommended.
Author's note: In translating this speech, I have tried to stay as close as possible to the original speech that I have given in German. Breaking up the German structures and turning them into reasonable English has been quite some work, and I would like to thank my roommate Doug Chapin, a good friend and native American, who helped me with some phrases and words. The translation will never hold the same emotions and implications, but I think we got very close…
During the preparation of this speech, I have read several documents and spoken to a lot of people. In doing so, I realized that even people whose jobs have been created more or less directly by the GNU Project did not know its true meaning. In the overall rush we are experiencing at the moment, it seems that a basic awareness of the roots has been lost. Tonight I hope I'll be able to uncover some of those roots again.
The origin lies somewhere in the transition from the 70's to the 80's, when the software industry became what we accept so willingly today. In the initial competition, some firms took to hording code as a survival strategy. While attempting to support this behavior's legality, they created phrases like “software piracy” because they suggest that something is lost when software is copied. People were forced to yield to licenses that bound them, to make sure that no one else had access to these programs.
When a friend asked you whether he could copy a program from you, you immediately faced a dilemma. There are no disadvantages for you in copying the program, and it doesn't deteriorate during the copying process. It would be more restrictive if he asked you to pass the salt, since you can't both use it at the same time. The politics of the companies forced you to choose between legality and friendship.
A lot of people were upset about this, and most of them copied the program anyway—very often using lame excuses that were mostly aimed at calming their own troubled consciousness (induced by the firms' choice of words). The absolute hit was probably “If I would use it more often I would pay it,” a phrase that probably everyone caught himself using if he ever had to rely on proprietary software.
One man found this situation unbearable. Used to the early days, the (as he says himself) “paradise,” where freedom and responsible use of the possibilities determined the situation, Richard Stallman envisioned the concept of a completely free system. Very quickly it became clear that this system would be Unix-compatible and it was baptized—recursive acronyms were very popular back then—GNU, which means “GNU's Not Unix.” Stallman gathered some people who shared his fascination with a free system, and founded the GNU Free Software Foundation, of which he is still the president today.
Since first of all a Unix system requires a large set of components, it became clear that these were the the first step towards a completely free system. The GNU FSF worked on implementing them, and by the beginning of the 90's the GNU system was complete (with the exception of the kernel). The GNU kernel—project name “Hurd”—has an extremely ambitious layout that proved to be very slow and clumsy in development. Fortunately, at this point Linus Torvalds' first Linux kernel was in the test phase, and when he saw the work already done by the GNU FSF, he put his kernel under the GNU GPL and made it the kernel of the GNU system.
There is no need to tell the rest of the story since most of us have experienced it themselves.
A little earlier I said that Richard Stallman envisioned the concept of free software. What I didn't tell you about was the philosophy that stands behind it.
The word “free” in “free software” does not refer to price, but to freedom. This is no unproblematic topic, and recently some of the visionaries of the movement (like Eric Raymond) have begun to talk about “open source” because “freedom” has an uneasy sound to it for most people. Freedom rings of “making world a better place,” and insecurity. It rings of change, and change frightens many people. To numb this fear, other licenses for free software have been invented in order to make the concept digestible for more people and to avoid scaring the industry.
That is the reason why the GNU Project dislikes the term “open source.” We think it makes more sense to take away people's fears of the idea instead of blurring the concept. Only if users and firms are aware of the importance of freedom can we avoid falling back into old patterns.
The philosophy of the GNU Project says that everyone shall have the granted right to use a program, to copy it, and to change it to make it fit his or her needs. The only restriction the GNU General Public License makes, is that NO ONE has the right to take away this freedom from anyone else.
When an author puts his code under the GNU GPL, the freedom is an inseparable part of his program. Of course, this is a thorn in the side of a lot of business'es eyes because it stops them from taking the code, modifying it, and then selling it as a proprietary program. As long as there are people who try to live the dream of instant wealth, it is this freedom that stops firms like Microsoft from corrupting the future development of our system.
The most used argument against the GNU philosophy is probably that software is the “intellectual property” of the programmer, and it is only right if he can decide the price for which the program is distributed. This argument is easy to understand for everyone, since it is exactly what we have been told to believe during the last 20 years.
Reality is a little different, though. Private programmers who can live off selling self-written software are the exception. Usually they give their rights to the firm they work at, and this firm earns the money by restricting access to that program. Effectively, the firm has the rights for that program and decides it's price, not the programmer.
A lawyer who invents an especially brilliant strategy has no right to claim it as his “intellectual property.” The method is freely available to anyone. Why do we so willingly accept the concept that every line of code—no matter how poorly written or uninspired it may be—is so unique and incredibly personal? The zeal for control has taken over in a way that even human genes are subject to patents… although usually not by the people who “use” them. Should really everything be allowed to be patented and licensed?
This is the question that is one of the core thoughts of the GNU Project. Let us just imagine there would be no such concept as patented software, or patenting software would be unusual because everyone published his programs under the GNU GPL.
Solutions for standard problems that had to be solved over and over again can be accessed easily. No one has to waste his time ever again to work on the same problem dozens of times—programmers could search for new ways and approach new problems. If a group of users needs a certain feature in a program, they just hire a programmer and let him implement it. Freed of the limitations of licenses and money, only two criteria would determine the development of programs: demand and quality.
Speaking of quality—nowadays more and more firms realize that allowing the users to access the source code gives them a huge advantage. To say it in a simple way: more eyes can see more. Solutions that are unimaginable for one person are painfully obvious for someone else. Due to this advantage, free software is very often so much better than its proprietary counterpart. The train of thought that now appears to be establishing itself within some firms is to give users access to the source code but not grant any other rights. Improvements are obediently being sent back to the firm, which advances its product with them. Basically a gigantic gratis development division. If we do not pay attention to these things now, it might happen that in 5 years we will have to pay for a version that has been produced by applying our own patch.
The concept of software as “intellectual property” carries the seed of doom inside itself (please forgive me for the pathos here). As long as we accept this concept, we accept the danger that another firm will attempt to take control. Microsoft is not evil incarnated, as some people seem to perceive. Microsoft is the natural consequence of the widely accepted system.
The fear of sawing the branch you're sitting on is also commonly spread, but completely irrational. Better programs lead to more users that have other needs and new ideas, creating more demand. The structure will change to fit the new situation but work will increase rather than decrease, and it will become less routine, hence more interesting.
The last common fear that remains is the fear over lack of recognition. Well, the respect held for the frontmen of the different philosophies speaks for itself. I on my part would prefer to be as respected as Linus Torvalds or Richard Stallman than to have the reputation of Bill Gates.
Admittedly, this does sound like bettering the world and idealism, but a lot of the really great ideas were driven by the wish to make the world a little better.
And to settle one point very clearly: no, the GNU Project is not against capitalism or firms in general, and it is not against software firms in particular. We do not want to diminish the potential for profit, quite the contrary. Every firm is being told to make as much money as they can off the sale of software, documentation and service—as long as they stick to the basic principles of Free Software. The more these firms earn, the more they can invest into the development of new software. We do not want to destroy the market, we just want to fit it to the times.
One short note about the basic principles: of course free software also requires free documentation. It doesn't make any sense to free the successor of the book—software—while accepting control of the direct digital equivalent. Free documentation is as important as free software itself.
Maybe someone discarded my statement about seeking to “fit the market to the times” as a rhetorical statement, but it is an important point in the GNU Philosophy: the time when software was only relevant for a few freaks and some firms is long gone. Nowadays, software is the pathway to information. A system that blocks the pathways to information, and in doing so the access to information itself, must be reconsidered.
When Eric Raymond published the so called “Halloween Document,” it triggered emotions from euphoria to paranoia. For those of you who did not read it: it is a Microsoft internal study in which the strengths and weaknesses of free software in general, and Linux in particular, are analyzed. The author basically concluded that Microsoft has two possibilities to counter the threat.
The first is the creation of new or modification of old protocols, documenting them only poorly or not at all, so that only Windows-based machines will have a working implementation.
One example of this tactic is the protocol used by HP “Cxi” printers, which have entered the market as extremely cheap “Windows-Printers.” The specifications have only been given to Microsoft, so these printers are not usable by any other system.
I have been told by a “professionally trained” computer salesperson that the “for Windows” sticker means the printer needs a very special kind of RAM, which only Windows machines have; this is why it cannot be used under Linux. Something like this confuses the typical user, which brings me directly to the second described tactic.
These tactics are usually gathered under the acronym “FUD” (Fear Uncertainty Doubt), and were used by IBM long before Microsoft uncovered them. The idea is clear: if you make someone uncertain enough, he or she will not dare make any decision, effectively remaining in his or her current position. That is the thought.
For all times, education has been the arch-enemy of superstition. We must not allow education to be hindered by allowing ourselves to become split.
The most recognizable split in the recent history has been the already noted distinction between “open source” and “free software.” Telling both concepts apart is not an easy task, even for most insiders, and it is only understandable if viewed in a historical context. Since this is a central point, I'd like to say a few words about it.
With the completion of the GNU system with the Linux kernel, there was suddenly a complete, powerful, free system available. This inevitably had to raise the public's attention sooner or later.
When this attention came, a lot of firms were disconcerted by the word “free.” The first association was “no money,” which immediately meant “no profit” for them. When people then tried to tell them that “free” truly stands for “freedom,” they were completely shaken.
Infected by this insecurity and doubt, the idea arose to avoid words like “free” and “freedom” at all costs. The term “open source” was born.
Admittedly it is easier to sell the idea if you use the term “open source” instead of “free software.” But the consequence is that the “newbies” have no knowledge or understanding of the original idea. This splits the movement, and leads to incredibly unproductive trench wars, which waste a huge amount of creative energy.
A larger interested audience does not mean we should talk less about the underlying philosophy. Quite the contrary: the more people and firms do not understand that this freedom is also in their interest, the more we need to talk about it. The freedom of software offers a huge potential for all of us—firms and users.
The plan is not to remove capitalism or destroy firms. We want to change the understanding of software for the benefit of all participants, to fit the needs of the 21th century. This is the core of the GNU Project.
Each of us can do his share—be it in form of a program or documentation, or just by spreading the word that there is another way of handling things.
It is crucial to explain to the firms that free software is not a threat, but an opportunity. Of course this doesn't happen overnight, but when all participants realize the possibilities and perspectives, all of us will win. So, if you are working in the software business, make yourself at home with the topic, talk about it with friends and colleagues. And please refrain from trying to “missionize” them—I know most of us have this tendency—the arguments speak for themselves. Give them the time and peace to think it over, and to befriend themselves with the concept. Show them that the concept of freedom is nothing to be feared.
I hope I was able to convey the philosophy or at least stimulate consideration of some new ideas. If you have questions or would like to discuss some things, I'll be here all night and all questions are welcome. I wish everyone a very interesting night. Thank you.