100% found this document useful (12 votes)
76 views100 pages

Free Software Free Society Selected Essays of Richard Stallman 2nd Edition Edition Richard Stallman Available All Format

Academic material: Free Software Free Society Selected Essays of Richard Stallman 2nd Edition Edition Richard StallmanAvailable for instant access. A structured learning tool offering deep insights, comprehensive explanations, and high-level academic value.

Uploaded by

czbqknlds3530
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
100% found this document useful (12 votes)
76 views100 pages

Free Software Free Society Selected Essays of Richard Stallman 2nd Edition Edition Richard Stallman Available All Format

Academic material: Free Software Free Society Selected Essays of Richard Stallman 2nd Edition Edition Richard StallmanAvailable for instant access. A structured learning tool offering deep insights, comprehensive explanations, and high-level academic value.

Uploaded by

czbqknlds3530
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 100

Free Software Free Society Selected Essays of

Richard Stallman 2nd Edition Edition Richard


Stallman pdf download
https://ebookgate.com/product/free-software-free-society-selected-essays-of-richard-stallman-2nd-
edition-edition-richard-stallman/

★★★★★ 4.9/5.0 (24 reviews) ✓ 217 downloads ■ TOP RATED


"Perfect download, no issues at all. Highly recommend!" - Mike D.

DOWNLOAD EBOOK
Free Software Free Society Selected Essays of Richard
Stallman 2nd Edition Edition Richard Stallman pdf download

TEXTBOOK EBOOK EBOOK GATE

Available Formats

■ PDF eBook Study Guide TextBook

EXCLUSIVE 2025 EDUCATIONAL COLLECTION - LIMITED TIME

INSTANT DOWNLOAD VIEW LIBRARY


Instant digital products (PDF, ePub, MOBI) available
Download now and explore formats that suit you...

Free software free society selected essays of Richard M


Stallman First Printing, Edition Richard M. Stallman

https://ebookgate.com/product/free-software-free-society-selected-
essays-of-richard-m-stallman-first-printing-edition-richard-m-
stallman/
ebookgate.com

Free as in freedom 2 0 Richard Stallman and the free


software revolution 2nd Edition Sam Williams

https://ebookgate.com/product/free-as-in-freedom-2-0-richard-stallman-
and-the-free-software-revolution-2nd-edition-sam-williams/

ebookgate.com

GNU Emacs manual 14th Edition Richard M. Stallman

https://ebookgate.com/product/gnu-emacs-manual-14th-edition-richard-m-
stallman/

ebookgate.com

Debugging with GDB The GNU Source Level Debugger 9th


Edition Richard M. Stallman

https://ebookgate.com/product/debugging-with-gdb-the-gnu-source-level-
debugger-9th-edition-richard-m-stallman/

ebookgate.com
Philosophical Essays on Free Stuff 1st Edition Robyn
Ferrell

https://ebookgate.com/product/philosophical-essays-on-free-stuff-1st-
edition-robyn-ferrell/

ebookgate.com

Understanding Open Source and Free Software Licensing


Andrew M. St. Laurent

https://ebookgate.com/product/understanding-open-source-and-free-
software-licensing-andrew-m-st-laurent/

ebookgate.com

Emerging Free and Open Source Software Practices 1st


Edition Sulayman K. Sowe

https://ebookgate.com/product/emerging-free-and-open-source-software-
practices-1st-edition-sulayman-k-sowe/

ebookgate.com

Culture society and sexuality a reader 2nd Edition Richard


Parker

https://ebookgate.com/product/culture-society-and-sexuality-a-
reader-2nd-edition-richard-parker/

ebookgate.com

Our Fate Essays on God and Free Will 1st Edition John
Martin Fischer

https://ebookgate.com/product/our-fate-essays-on-god-and-free-
will-1st-edition-john-martin-fischer/

ebookgate.com
Richard Stallman is the prophet of the free software movement. He understood
the dangers of software patents years ago. Now that this has become a crucial
issue in the world, buy this book and read what he said.
—Tim Berners-Lee, inventor of the World Wide Web

Richard Stallman is the philosopher king of software. He single-handedly ignited


what has become a world-wide movement to create software that is Free, with a
capital F. He has toiled for years at a project that many once considered a fool’s
errand, and now that is widely seen as “inevitable.”
—Simon L. Garfinkel, computer science author and columnist

By his hugely successful efforts to establish the idea of “Free Software,” Stallman
has made a massive contribution to the human condition. His contribution com-
bines elements that have technical, social, political, and economic consequences.
—Gerald Jay Sussman, Matsushita Professor of Electrical Engineering, MIT

RMS is the leading philosopher of software. You may dislike some of his atti-
tudes, but you cannot avoid his ideas. This slim volume will make those ideas
readily accessible to those who are confused by the buzzwords of rampant com-
mercialism. This book needs to be widely circulated and widely read.
—Peter Salus, computer science writer, book reviewer, and UNIX historian

Richard is the leading force of the free software movement. This book is very
important to spread the key concepts of free software world-wide, so everyone
can understand it. Free software gives people freedom to use their creativity.
—Masayuki Ida, professor, Graduate School of International Management,
Aoyama Gakuin University
Free Software, Free Society
Selected Essays of Richard M. Stallman
Second Edition

Richard M. Stallman
This is the second edition of Free Software, Free Society: Selected Essays of
Richard M. Stallman.

Free Software Foundation


51 Franklin Street, Fifth Floor
Boston, MA 02110-1335

Copyright c 2002, 2010 Free Software Foundation, Inc.


Verbatim copying and distribution of this entire book are permitted
worldwide, without royalty, in any medium, provided this notice is
preserved. Permission is granted to copy and distribute translations
of this book from the original English into another language provided
the translation has been approved by the Free Software Foundation
and the copyright notice and this permission notice are preserved on
all copies.
ISBN 978-0-9831592-0-9

Cover design by Rob Myers.


Cover photograph by Peter Hinely.
iii
Contents

Foreword . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . v
Preface to the Second Edition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ix

Part I: The GNU Project and Free Software


1 The Free Software Definition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
2 The GNU Project . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
3 The Initial Announcement of the GNU Operating System . . 25
4 The GNU Manifesto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
5 Why Software Should Not Have Owners . . . . . . . . . . . . . . . . . . . 37
6 Why Software Should Be Free. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
7 Why Schools Should Exclusively Use Free Software . . . . . . . . 57
8 Releasing Free Software If You Work at a University . . . . . . . 59
9 Why Free Software Needs Free Documentation . . . . . . . . . . . . 61
10 Selling Free Software. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
11 The Free Software Song . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69

Part II: What’s in a Name?


12 What’s in a Name? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
13 Categories of Free and Nonfree Software . . . . . . . . . . . . . . . . . . . 77
14 Why Open Source Misses the Point of Free Software . . . . . . . 83
15 Did You Say “Intellectual Property”?
It’s a Seductive Mirage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
16 Words to Avoid (or Use with Care)
Because They Are Loaded or Confusing . . . . . . . . . . . . . . . . . . . 93

Part III: Copyright, Copyleft


17 The Right to Read: A Dystopian Short Story . . . . . . . . . . . . 105
18 Misinterpreting Copyright—A Series of Errors . . . . . . . . . . . . 111
19 Science Must Push Copyright Aside . . . . . . . . . . . . . . . . . . . . . . 121
20 Freedom—or Copyright . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123
21 What Is Copyleft? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127
22 Copyleft: Pragmatic Idealism . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129
iv Free Software, Free Society, 2nd ed.
Part IV: Software Patents: Danger to Programmers
23 Anatomy of a Trivial Patent . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135
24 Software Patents and Literary Patents . . . . . . . . . . . . . . . . . . . 139
25 The Danger of Software Patents . . . . . . . . . . . . . . . . . . . . . . . . . 143
26 Microsoft’s New Monopoly . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159

Part V: The Licenses


27 Introduction to the Licenses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165
28 The GNU General Public License . . . . . . . . . . . . . . . . . . . . . . . . 171
29 Why Upgrade to GPLv3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185
30 The GNU Lesser General Public License . . . . . . . . . . . . . . . . . 189
31 GNU Free Documentation License . . . . . . . . . . . . . . . . . . . . . . . 193

Part VI: Traps and Challenges


32 Can You Trust Your Computer? . . . . . . . . . . . . . . . . . . . . . . . . . 205
33 Who Does That Server Really Serve? . . . . . . . . . . . . . . . . . . . . 209
34 Free but Shackled: The Java Trap . . . . . . . . . . . . . . . . . . . . . . . 215
35 The JavaScript Trap . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 219
36 The X Window System Trap . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223
37 The Problem Is Software Controlled by Its Developer . . . . . 227
38 We Can Put an End to Word Attachments . . . . . . . . . . . . . . . 231
39 Thank You, Larry McVoy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 235

Part VII: An Assessment and a Look Ahead


40 Computing “Progress”: Good and Bad . . . . . . . . . . . . . . . . . . . 239
41 Avoiding Ruinous Compromises . . . . . . . . . . . . . . . . . . . . . . . . . . 241
42 Overcoming Social Inertia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 245
43 Freedom or Power? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 247

Appendix A: A Note on Software . . . . . . . . . . . . . . . . . . . . . . . . . . . . 249


Appendix B: Translations of the Term “Free Software” . . . . . . 253
Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 255
Foreword v

Foreword
Every generation has its philosopher—a writer or an artist who captures the
imagination of a time. Sometimes these philosophers are recognized as such;
often it takes generations before the connection is made real. But recognized
or not, a time gets marked by the people who speak its ideals, whether in the
whisper of a poem, or the blast of a political movement.
Our generation has a philosopher. He is not an artist, or a professional writer.
He is a programmer. Richard Stallman began his work in the labs of MIT, as
a programmer and architect building operating system software. He has built
his career on a stage of public life, as a programmer and an architect founding
a movement for freedom in a world increasingly defined by “code.”
“Code” is the technology that makes computers run. Whether inscribed in
software or burned in hardware, it is the collection of instructions, first written in
words, that directs the functionality of machines. These machines—computers—
increasingly define and control our life. They determine how phones connect,
and what runs on TV. They decide whether video can be streamed across a
broadband link to a computer. They control what a computer reports back to
its manufacturer. These machines run us. Code runs these machines.
What control should we have over this code? What understanding? What
freedom should there be to match the control it enables? What power?
These questions have been the challenge of Stallman’s life. Through his works
and his words, he has pushed us to see the importance of keeping code “free.”
Not free in the sense that code writers don’t get paid, but free in the sense that
the control coders build be transparent to all, and that anyone have the right
to take that control, and modify it as he or she sees fit. This is “free software”;
“free software” is one answer to a world built in code.
“Free.” Stallman laments the ambiguity in his own term. There’s nothing to
lament. Puzzles force people to think, and this term “free” does this puzzling
work quite well. To modern American ears, “free software” sounds utopian,
impossible. Nothing, not even lunch, is free. How could the most important
words running the most critical machines running the world be “free.” How
could a sane society aspire to such an ideal?
Yet the odd clink of the word “free” is a function of us, not of the term. “Free”
has different senses, only one of which refers to “price.” A much more funda-
mental sense of “free” is the “free,” Stallman says, in the term “free speech,” or
perhaps better in the term “free labor.” Not free as in costless, but free as in
limited in its control by others. Free software is control that is transparent, and
open to change, just as free laws, or the laws of a “free society,” are free when

Copyright c 2002 Free Software Foundation, Inc.


This foreword was originally published, in 2002, as the introduction to the first
edition. This version is part of Free Software, Free Society: Selected Essays of
Richard M. Stallman, 2nd ed. (Boston: GNU Press, 2010).
Verbatim copying and distribution of this entire chapter are permitted worldwide,
without royalty, in any medium, provided this notice is preserved.
vi Free Software, Free Society, 2nd ed.

they make their control knowable, and open to change. The aim of Stallman’s
“free software movement” is to make as much code as it can transparent, and
subject to change, by rendering it “free.”
The mechanism of this rendering is an extraordinarily clever device called
“copyleft” implemented through a license called GPL. Using the power of copy-
right law, “free software” not only assures that it remains open, and subject to
change, but that other software that takes and uses “free software” (and that
technically counts as a “derivative”) must also itself be free. If you use and adapt
a free software program, and then release that adapted version to the public,
the released version must be as free as the version it was adapted from. It must,
or the law of copyright will be violated.
“Free software,” like free societies, has its enemies. Microsoft has waged a
war against the GPL, warning whoever will listen that the GPL is a “dangerous”
license. The dangers it names, however, are largely illusory. Others object to
the “coercion” in GPL’s insistence that modified versions are also free. But a
condition is not coercion. If it is not coercion for Microsoft to refuse to permit
users to distribute modified versions of its product Office without paying it
(presumably) millions, then it is not coercion when the GPL insists that modified
versions of free software be free too.
And then there are those who call Stallman’s message too extreme. But
extreme it is not. Indeed, in an obvious sense, Stallman’s work is a simple
translation of the freedoms that our tradition crafted in the world before code.
“Free software” would assure that the world governed by code is as “free” as our
tradition that built the world before code.
For example: A “free society” is regulated by law. But there are limits that
any free society places on this regulation through law: No society that kept its
laws secret could ever be called free. No government that hid its regulations
from the regulated could ever stand in our tradition. Law controls. But it does
so justly only when visibly. And law is visible only when its terms are knowable
and controllable by those it regulates, or by the agents of those it regulates
(lawyers, legislatures).
This condition on law extends beyond the work of a legislature. Think about
the practice of law in American courts. Lawyers are hired by their clients to
advance their clients’ interests. Sometimes that interest is advanced through lit-
igation. In the course of this litigation, lawyers write briefs. These briefs in turn
affect opinions written by judges. These opinions decide who wins a particular
case, or whether a certain law can stand consistently with a constitution.
All the material in this process is free in the sense that Stallman means.
Legal briefs are open and free for others to use. The arguments are transparent
(which is different from saying they are good) and the reasoning can be taken
without the permission of the original lawyers. The opinions they produce can
be quoted in later briefs. They can be copied and integrated into another brief
or opinion. The “source code” for American law is by design, and by principle,
open and free for anyone to take. And take lawyers do—for it is a measure of
Foreword vii

a great brief that it achieves its creativity through the reuse of what happened
before. The source is free; creativity and an economy is built upon it.
This economy of free code (and here I mean free legal code) doesn’t starve
lawyers. Law firms have enough incentive to produce great briefs even though
the stuff they build can be taken and copied by anyone else. The lawyer is a
craftsman; his or her product is public. Yet the crafting is not charity. Lawyers
get paid; the public doesn’t demand such work without price. Instead this
economy flourishes, with later work added to the earlier.
We could imagine a legal practice that was different—briefs and arguments
that were kept secret; rulings that announced a result but not the reasoning.
Laws that were kept by the police but published to no one else. Regulation that
operated without explaining its rule.
We could imagine this society, but we could not imagine calling it “free.”
Whether or not the incentives in such a society would be better or more efficiently
allocated, such a society could not be known as free. The ideals of freedom, of life
within a free society, demand more than efficient application. Instead, openness
and transparency are the constraints within which a legal system gets built, not
options to be added if convenient to the leaders. Life governed by software code
should be no less.
Code writing is not litigation. It is better, richer, more productive. But the
law is an obvious instance of how creativity and incentives do not depend upon
perfect control over the products created. Like jazz, or novels, or architecture,
the law gets built upon the work that went before. This adding and changing
is what creativity always is. And a free society is one that assures that its most
important resources remain free in just this sense.
This book collects the writing of Richard Stallman in a manner that will make
its subtlety and power clear. The essays span a wide range, from copyright to
the history of the free software movement. They include many arguments not
well known, and among these, an especially insightful account of the changed
circumstances that render copyright in the digital world suspect. They will serve
as a resource for those who seek to understand the thought of this most powerful
man—powerful in his ideas, his passion, and his integrity, even if powerless in
every other way. They will inspire others who would take these ideas, and build
upon them.
I don’t know Stallman well. I know him well enough to know he is a hard
man to like. He is driven, often impatient. His anger can flare at friend as easily
as foe. He is uncompromising and persistent; patient in both.
Yet when our world finally comes to understand the power and danger of
code—when it finally sees that code, like laws, or like government, must be
transparent to be free—then we will look back at this uncompromising and
persistent programmer and recognize the vision he has fought to make real: the
vision of a world where freedom and knowledge survives the compiler. And we
will come to see that no man, through his deeds or words, has done as much to
make possible the freedom that this next society could have.
viii Free Software, Free Society, 2nd ed.

We have not earned that freedom yet. We may well fail in securing it. But
whether we succeed or fail, in these essays is a picture of what that freedom could
be. And in the life that produced these words and works, there is inspiration
for anyone who would, like Stallman, fight to create this freedom.
Lawrence Lessig

Lawrence Lessig is a Professor of Law at Harvard Law School, the director of the
Edmond J. Safra Foundation Center for Ethics, and the founder of Stanford Law
School’s Center for Internet and Society. For much of his career, he focused his
work on law and technology, especially as it affects copyright. He is the author of
numerous books and has served as a board member of many organizations,
including the Free Software Foundation.
Preface to the Second Edition ix

Preface to the Second Edition


The second edition of Free Software, Free Society holds updated versions of most
of the essays from the first edition, as well as many new essays published since
the first edition.
The essays about software patents are now in one section and those about
copyright in another, to set an example of not grouping together these two laws,
whose workings and effects on software are totally different.
Another section presents the GNU licenses, with a new introduction written
with Brett Smith giving their history and the motives for each of them. One
of the essays explains why software projects should upgrade to version 3 of the
GNU General Public License.
There is now a section on issues of terminology, since the way we describe
an issue affects how people think about it.
The last two sections describe some of the traps free software developers and
users face—new ways to lose your freedom, and how to avoid them.
We have also added an index, to complement the appendix on software.
We would like to thank Jeanne Rasata for managing the project, editing the
book, formatting the text, and creating the index. Thanks also to Karl Berry
for technical assistance with Texinfo, Brett Smith for all other technical help
and for valuable feedback, and Rob Myers for formatting the cover.
Part I:
The GNU Project
and Free Software
Chapter 1: The Free Software Definition 3

1 The Free Software Definition


We maintain this free software definition to show clearly what must be true
about a particular software program for it to be considered free software. From
time to time we revise this definition to clarify it. If you would like to review
the changes we’ve made, please see the History section, following the definition,
at http://gnu.org/philosophy/free-sw.html.
“Free software” is a matter of liberty, not price. To understand the concept,
you should think of “free” as in “free speech,” not as in “free beer.”
Free software is a matter of the users’ freedom to run, copy, distribute, study,
change and improve the software. More precisely, it means that the program’s
users have the four essential freedoms:
• The freedom to run the program, for any purpose (freedom 0).
• The freedom to study how the program works, and change it to make it do
what you wish (freedom 1). Access to the source code is a precondition for
this.
• The freedom to redistribute copies so you can help your neighbor (free-
dom 2).
• The freedom to distribute copies of your modified versions to others (free-
dom 3). By doing this you can give the whole community a chance to
benefit from your changes. Access to the source code is a precondition for
this.

A program is free software if users have all of these freedoms. Thus, you
should be free to redistribute copies, either with or without modifications, either
gratis or charging a fee for distribution, to anyone anywhere. Being free to do
these things means (among other things) that you do not have to ask or pay for
permission to do so.
You should also have the freedom to make modifications and use them pri-
vately in your own work or play, without even mentioning that they exist. If
you do publish your changes, you should not be required to notify anyone in
particular, or in any particular way.
The freedom to run the program means the freedom for any kind of person or
organization to use it on any kind of computer system, for any kind of overall job
and purpose, without being required to communicate about it with the developer
or any other specific entity. In this freedom, it is the user’s purpose that matters,
not the developer’s purpose; you as a user are free to run the program for your

Copyright c 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2004, 2005, 2006, 2007, 2009,
2010 Free Software Foundation, Inc.
The free software definition was first published in 1996, on http://gnu.org.
This version is part of Free Software, Free Society: Selected Essays of Richard M.
Stallman, 2nd ed. (Boston: GNU Press, 2010).
Verbatim copying and distribution of this entire chapter are permitted worldwide,
without royalty, in any medium, provided this notice is preserved.
4 Free Software, Free Society, 2nd ed.

purposes, and if you distribute it to someone else, she is then free to run it for
her purposes, but you are not entitled to impose your purposes on her.
The freedom to redistribute copies must include binary or executable forms of
the program, as well as source code, for both modified and unmodified versions.
(Distributing programs in runnable form is necessary for conveniently installable
free operating systems.) It is OK if there is no way to produce a binary or
executable form for a certain program (since some languages don’t support that
feature), but you must have the freedom to redistribute such forms should you
find or develop a way to make them.
In order for freedoms 1 and 3 (the freedom to make changes and the freedom
to publish improved versions) to be meaningful, you must have access to the
source code of the program. Therefore, accessibility of source code is a necessary
condition for free software. Obfuscated “source code” is not real source code and
does not count as source code.
Freedom 1 includes the freedom to use your changed version in place of the
original. If the program is delivered in a product designed to run someone else’s
modified versions but refuse to run yours—a practice known as “tivoization” or
(in its practitioners’ perverse terminology) as “secure boot”—freedom 1 becomes
a theoretical fiction rather than a practical freedom. This is not sufficient. In
other words, these binaries are not free software even if the source code they are
compiled from is free.
One important way to modify a program is by merging in available free
subroutines and modules. If the program’s license says that you cannot merge
in a suitably licensed existing module—for instance, if it requires you to be
the copyright holder of any code you add—then the license is too restrictive to
qualify as free.
Freedom 3 includes the freedom to release your modified versions as free
software. A free license may also permit other ways of releasing them; in other
words, it does not have to be a copyleft license. However, a license that requires
modified versions to be nonfree does not qualify as a free license.
In order for these freedoms to be real, they must be permanent and irre-
vocable as long as you do nothing wrong; if the developer of the software has
the power to revoke the license, or retroactively change its terms, without your
doing anything wrong to give cause, the software is not free.
However, certain kinds of rules about the manner of distributing free software
are acceptable, when they don’t conflict with the central freedoms. For example,
copyleft (very simply stated) is the rule that when redistributing the program,
you cannot add restrictions to deny other people the central freedoms. This rule
does not conflict with the central freedoms; rather it protects them.
“Free software” does not mean “noncommercial.” A free program must be
available for commercial use, commercial development, and commercial distri-
bution. Commercial development of free software is no longer unusual; such free
commercial software is very important. You may have paid money to get copies
of free software, or you may have obtained copies at no charge. But regardless
Chapter 1: The Free Software Definition 5

of how you got your copies, you always have the freedom to copy and change
the software, even to sell copies.
Whether a change constitutes an improvement is a subjective matter. If your
modifications are limited, in substance, to changes that someone else considers
an improvement, that is not freedom.
However, rules about how to package a modified version are acceptable, if
they don’t substantively limit your freedom to release modified versions, or your
freedom to make and use modified versions privately. Thus, it is acceptable for
the license to require that you change the name of the modified version, remove
a logo, or identify your modifications as yours. As long as these requirements are
not so burdensome that they effectively hamper you from releasing your changes,
they are acceptable; you’re already making other changes to the program, so you
won’t have trouble making a few more.
Rules that “if you make your version available in this way, you must make
it available in that way also” can be acceptable too, on the same condition. An
example of such an acceptable rule is one saying that if you have distributed a
modified version and a previous developer asks for a copy of it, you must send
one. (Note that such a rule still leaves you the choice of whether to distribute
your version at all.) Rules that require release of source code to the users for
versions that you put into public use are also acceptable.
In the GNU Project, we use copyleft to protect these freedoms legally for
everyone. But noncopylefted free software also exists. We believe there are
important reasons why it is better to use copyleft, but if your program is non-
copylefted free software, it is still basically ethical. (See “Categories of Free and
Nonfree Software” (p. 77) for a description of how “free software,” “copylefted
software” and other categories of software relate to each other.)
Sometimes government export control regulations and trade sanctions can
constrain your freedom to distribute copies of programs internationally. Software
developers do not have the power to eliminate or override these restrictions, but
what they can and must do is refuse to impose them as conditions of use of
the program. In this way, the restrictions will not affect activities and people
outside the jurisdictions of these governments. Thus, free software licenses must
not require obedience to any export regulations as a condition of any of the
essential freedoms.
Most free software licenses are based on copyright, and there are limits on
what kinds of requirements can be imposed through copyright. If a copyright-
based license respects freedom in the ways described above, it is unlikely to have
some other sort of problem that we never anticipated (though this does happen
occasionally). However, some free software licenses are based on contracts, and
contracts can impose a much larger range of possible restrictions. That means
there are many possible ways such a license could be unacceptably restrictive
and nonfree.
We can’t possibly list all the ways that might happen. If a contract-based
license restricts the user in an unusual way that copyright-based licenses cannot,
6 Free Software, Free Society, 2nd ed.

and which isn’t mentioned here as legitimate, we will have to think about it, and
we will probably conclude it is nonfree.
When talking about free software, it is best to avoid using terms like “give
away” or “for free,” because those terms imply that the issue is about price, not
freedom. Some common terms such as “piracy” embody opinions we hope you
won’t endorse. See “Words to Avoid (or Use with Care)” (p. 93) for a discussion
of these terms. We also have a list of proper translations of “free software” into
various languages (p. 253).
Finally, note that criteria such as those stated in this free software definition
require careful thought for their interpretation. To decide whether a specific
software license qualifies as a free software license, we judge it based on these
criteria to determine whether it fits their spirit as well as the precise words. If
a license includes unconscionable restrictions, we reject it, even if we did not
anticipate the issue in these criteria. Sometimes a license requirement raises an
issue that calls for extensive thought, including discussions with a lawyer, before
we can decide if the requirement is acceptable. When we reach a conclusion
about a new issue, we often update these criteria to make it easier to see why
certain licenses do or don’t qualify.
If you are interested in whether a specific license qualifies as a free software
license, see our list of licenses, at http://gnu.org/licenses/license-list.
html. If the license you are concerned with is not listed there, you can ask us
about it by sending us email at [email protected].
If you are contemplating writing a new license, please contact the Free Soft-
ware Foundation first by writing to that address. The proliferation of different
free software licenses means increased work for users in understanding the li-
censes; we may be able to help you find an existing free software license that
meets your needs.
If that isn’t possible, if you really need a new license, with our help you can
ensure that the license really is a free software license and avoid various practical
problems.

Beyond Software
Software manuals must be free, for the same reasons that software must be free,
and because the manuals are in effect part of the software.
The same arguments also make sense for other kinds of works of practical
use—that is to say, works that embody useful knowledge, such as educational
works and reference works. Wikipedia is the best-known example.
Any kind of work can be free, and the definition of free software has been
extended to a definition of free cultural works1 applicable to any kind of works.

1
See http://freedomdefined.org.
Chapter 2: The GNU Project 7

2 The GNU Project

The First Software-Sharing Community


When I started working at the MIT Artificial Intelligence Lab in 1971, I became
part of a software-sharing community that had existed for many years. Sharing
of software was not limited to our particular community; it is as old as computers,
just as sharing of recipes is as old as cooking. But we did it more than most.
The AI Lab used a timesharing operating system called ITS (the Incompati-
ble Timesharing System) that the lab’s staff hackers1 had designed and written
in assembler language for the Digital PDP-10, one of the large computers of the
era. As a member of this community, an AI Lab staff system hacker, my job
was to improve this system.
We did not call our software “free software,” because that term did not yet
exist; but that is what it was. Whenever people from another university or a
company wanted to port and use a program, we gladly let them. If you saw
someone using an unfamiliar and interesting program, you could always ask to
see the source code, so that you could read it, change it, or cannibalize parts of
it to make a new program.

The Collapse of the Community


The situation changed drastically in the early 1980s when Digital discontinued
the PDP-10 series. Its architecture, elegant and powerful in the 60s, could not
extend naturally to the larger address spaces that were becoming feasible in the
80s. This meant that nearly all of the programs composing ITS were obsolete.
The AI Lab hacker community had already collapsed, not long before. In
1981, the spin-off company Symbolics had hired away nearly all of the hackers
from the AI Lab, and the depopulated community was unable to maintain itself.
(The book Hackers, by Steve Levy, describes these events, as well as giving a
clear picture of this community in its prime.) When the AI Lab bought a new
1
The use of “hacker” to mean “security breaker” is a confusion on the part of the
mass media. We hackers refuse to recognize that meaning, and continue using
the word to mean someone who loves to program, someone who enjoys play-
ful cleverness, or the combination of the two. See my article, “On Hacking,” at
http://stallman.org/articles/on-hacking.html.

Copyright c 1998, 2001, 2002, 2005, 2006, 2007, 2008, 2010 Richard Stallman
The original version of this essay was published in Open Sources: Voices from
the Open Source Revolution, by Chris DiBona and others (Sebastopol: O’Reilly
Media, 1999), under the title “The GNU Operating System and the Free Software
Movement.” This version is part of Free Software, Free Society: Selected Essays of
Richard M. Stallman, 2nd ed. (Boston: GNU Press, 2010).
Verbatim copying and distribution of this entire chapter are permitted worldwide,
without royalty, in any medium, provided this notice is preserved.
8 Free Software, Free Society, 2nd ed.

PDP-10 in 1982, its administrators decided to use Digital’s nonfree timesharing


system instead of ITS.
The modern computers of the era, such as the VAX or the 68020, had their
own operating systems, but none of them were free software: you had to sign a
nondisclosure agreement even to get an executable copy.
This meant that the first step in using a computer was to promise not to help
your neighbor. A cooperating community was forbidden. The rule made by the
owners of proprietary software was, “If you share with your neighbor, you are a
pirate. If you want any changes, beg us to make them.”
The idea that the proprietary software social system—the system that says
you are not allowed to share or change software—is antisocial, that it is unethi-
cal, that it is simply wrong, may come as a surprise to some readers. But what
else could we say about a system based on dividing the public and keeping users
helpless? Readers who find the idea surprising may have taken the proprietary
software social system as a given, or judged it on the terms suggested by pro-
prietary software businesses. Software publishers have worked long and hard to
convince people that there is only one way to look at the issue.
When software publishers talk about “enforcing” their “rights” or “stopping
piracy,” what they actually say is secondary. The real message of these state-
ments is in the unstated assumptions they take for granted, which the public is
asked to accept without examination. Let’s therefore examine them.
One assumption is that software companies have an unquestionable natural
right to own software and thus have power over all its users. (If this were a
natural right, then no matter how much harm it does to the public, we could
not object.) Interestingly, the US Constitution and legal tradition reject this
view; copyright is not a natural right, but an artificial government-imposed
monopoly that limits the users’ natural right to copy.
Another unstated assumption is that the only important thing about software
is what jobs it allows you to do—that we computer users should not care what
kind of society we are allowed to have.
A third assumption is that we would have no usable software (or would
never have a program to do this or that particular job) if we did not offer
a company power over the users of the program. This assumption may have
seemed plausible, before the free software movement demonstrated that we can
make plenty of useful software without putting chains on it.
If we decline to accept these assumptions, and judge these issues based on
ordinary commonsense morality while placing the users first, we arrive at very
different conclusions. Computer users should be free to modify programs to fit
their needs, and free to share software, because helping other people is the basis
of society.
There is no room here for an extensive statement of the reasoning behind
this conclusion, so I refer the reader to the article “Why Software Should Not
Have Owners” (p. 37).
Chapter 2: The GNU Project 9

A Stark Moral Choice


With my community gone, to continue as before was impossible. Instead, I faced
a stark moral choice.
The easy choice was to join the proprietary software world, signing nondisclo-
sure agreements and promising not to help my fellow hacker. Most likely I would
also be developing software that was released under nondisclosure agreements,
thus adding to the pressure on other people to betray their fellows too.
I could have made money this way, and perhaps amused myself writing code.
But I knew that at the end of my career, I would look back on years of building
walls to divide people, and feel I had spent my life making the world a worse
place.
I had already experienced being on the receiving end of a nondisclosure agree-
ment, when someone refused to give me and the MIT AI Lab the source code for
the control program for our printer. (The lack of certain features in this program
made use of the printer extremely frustrating.) So I could not tell myself that
nondisclosure agreements were innocent. I was very angry when he refused to
share with us; I could not turn around and do the same thing to everyone else.
Another choice, straightforward but unpleasant, was to leave the computer
field. That way my skills would not be misused, but they would still be wasted.
I would not be culpable for dividing and restricting computer users, but it would
happen nonetheless.
So I looked for a way that a programmer could do something for the good. I
asked myself, was there a program or programs that I could write, so as to make
a community possible once again?
The answer was clear: what was needed first was an operating system. That
is the crucial software for starting to use a computer. With an operating system,
you can do many things; without one, you cannot run the computer at all.
With a free operating system, we could again have a community of cooperating
hackers—and invite anyone to join. And anyone would be able to use a computer
without starting out by conspiring to deprive his or her friends.
As an operating system developer, I had the right skills for this job. So even
though I could not take success for granted, I realized that I was elected to do
the job. I chose to make the system compatible with Unix so that it would be
portable, and so that Unix users could easily switch to it. The name GNU was
chosen, following a hacker tradition, as a recursive acronym for “GNU’s Not
Unix.”
An operating system does not mean just a kernel, barely enough to run other
programs. In the 1970s, every operating system worthy of the name included
command processors, assemblers, compilers, interpreters, debuggers, text edi-
tors, mailers, and much more. ITS had them, Multics had them, VMS had
them, and Unix had them. The GNU operating system would include them too.
Later I heard these words, attributed to Hillel:2
2
As an Atheist, I don’t follow any religious leaders, but I sometimes find I admire
something one of them has said.
10 Free Software, Free Society, 2nd ed.

If I am not for myself, who will be for me?


If I am only for myself, what am I?
If not now, when?

The decision to start the GNU Project was based on a similar spirit.

Free as in Freedom
The term “free software” is sometimes misunderstood—it has nothing to do with
price. It is about freedom. Here, therefore, is the definition of free software.
A program is free software, for you, a particular user, if:
• You have the freedom to run the program as you wish, for any purpose.
• You have the freedom to modify the program to suit your needs. (To
make this freedom effective in practice, you must have access to the source
code, since making changes in a program without having the source code
is exceedingly difficult.)
• You have the freedom to redistribute copies, either gratis or for a fee.
• You have the freedom to distribute modified versions of the program, so
that the community can benefit from your improvements.

Since “free” refers to freedom, not to price, there is no contradiction between


selling copies and free software. In fact, the freedom to sell copies is crucial:
collections of free software sold on CD-ROMs are important for the community,
and selling them is an important way to raise funds for free software development.
Therefore, a program which people are not free to include on these collections
is not free software.
Because of the ambiguity of “free,” people have long looked for alternatives,
but no one has found a better term. The English language has more words
and nuances than any other, but it lacks a simple, unambiguous, word that
means “free,” as in freedom—“unfettered” being the word that comes closest in
meaning. Such alternatives as “liberated,” “freedom,” and “open” have either
the wrong meaning or some other disadvantage.

GNU Software and the GNU System


Developing a whole system is a very large project. To bring it into reach, I
decided to adapt and use existing pieces of free software wherever that was
possible. For example, I decided at the very beginning to use TEX as the principal
text formatter; a few years later, I decided to use the X Window System rather
than writing another window system for GNU.
Because of this decision, the GNU system is not the same as the collection
of all GNU software. The GNU system includes programs that are not GNU
software, programs that were developed by other people and projects for their
own purposes, but which we can use because they are free software.
Chapter 2: The GNU Project 11

Commencing the Project


In January 1984 I quit my job at MIT and began writing GNU software. Leaving
MIT was necessary so that MIT would not be able to interfere with distributing
GNU as free software. If I had remained on the staff, MIT could have claimed
to own the work, and could have imposed their own distribution terms, or even
turned the work into a proprietary software package. I had no intention of doing
a large amount of work only to see it become useless for its intended purpose:
creating a new software-sharing community.
However, Professor Winston, then the head of the MIT AI Lab, kindly invited
me to keep using the lab’s facilities.

The First Steps


Shortly before beginning the GNU Project, I heard about the Free University
Compiler Kit, also known as VUCK. (The Dutch word for “free” is written
with a v.) This was a compiler designed to handle multiple languages, including
C and Pascal, and to support multiple target machines. I wrote to its author
asking if GNU could use it.
He responded derisively, stating that the university was free but the compiler
was not. I therefore decided that my first program for the GNU Project would
be a multilanguage, multiplatform compiler.
Hoping to avoid the need to write the whole compiler myself, I obtained
the source code for the Pastel compiler, which was a multiplatform compiler
developed at Lawrence Livermore Lab. It supported, and was written in, an
extended version of Pascal, designed to be a system-programming language. I
added a C front end, and began porting it to the Motorola 68000 computer.
But I had to give that up when I discovered that the compiler needed many
megabytes of stack space, while the available 68000 Unix system would only
allow 64k.
I then realized that the Pastel compiler functioned by parsing the entire
input file into a syntax tree, converting the whole syntax tree into a chain of
“instructions,” and then generating the whole output file, without ever freeing
any storage. At this point, I concluded I would have to write a new compiler
from scratch. That new compiler is now known as GCC; none of the Pastel
compiler is used in it, but I managed to adapt and use the C front end that I
had written. But that was some years later; first, I worked on GNU Emacs.

GNU Emacs
I began work on GNU Emacs in September 1984, and in early 1985 it was
beginning to be usable. This enabled me to begin using Unix systems to do
editing; having no interest in learning to use vi or ed, I had done my editing on
other kinds of machines until then.
At this point, people began wanting to use GNU Emacs, which raised the
question of how to distribute it. Of course, I put it on the anonymous ftp server
on the MIT computer that I used. (This computer, prep.ai.mit.edu, thus
12 Free Software, Free Society, 2nd ed.

became the principal GNU ftp distribution site; when it was decommissioned a
few years later, we transferred the name to our new ftp server.) But at that
time, many of the interested people were not on the Internet and could not get
a copy by ftp. So the question was, what would I say to them?
I could have said, “Find a friend who is on the net and who will make a copy
for you.” Or I could have done what I did with the original PDP-10 Emacs: tell
them, “Mail me a tape and a SASE (self-addressed stamped envelope), and I
will mail it back with Emacs on it.” But I had no job, and I was looking for ways
to make money from free software. So I announced that I would mail a tape
to whoever wanted one, for a fee of $150. In this way, I started a free software
distribution business, the precursor of the companies that today distribute entire
Linux-based GNU systems.

Is a Program Free for Every User?


If a program is free software when it leaves the hands of its author, this does
not necessarily mean it will be free software for everyone who has a copy of it.
For example, public domain software (software that is not copyrighted) is free
software; but anyone can make a proprietary modified version of it. Likewise,
many free programs are copyrighted but distributed under simple permissive
licenses which allow proprietary modified versions.
The paradigmatic example of this problem is the X Window System. De-
veloped at MIT, and released as free software with a permissive license, it was
soon adopted by various computer companies. They added X to their propri-
etary Unix systems, in binary form only, and covered by the same nondisclosure
agreement. These copies of X were no more free software than Unix was.
The developers of the X Window System did not consider this a problem—
they expected and intended this to happen. Their goal was not freedom, just
“success,” defined as “having many users.” They did not care whether these
users had freedom, only about having many of them.
This led to a paradoxical situation where two different ways of counting
the amount of freedom gave different answers to the question, “Is this program
free?” If you judged based on the freedom provided by the distribution terms of
the MIT release, you would say that X was free software. But if you measured
the freedom of the average user of X, you would have to say it was proprietary
software. Most X users were running the proprietary versions that came with
Unix systems, not the free version.

Copyleft and the GNU GPL


The goal of GNU was to give users freedom, not just to be popular. So we
needed to use distribution terms that would prevent GNU software from being
turned into proprietary software. The method we use is called “copyleft.”3
3
In 1984 or 1985, Don Hopkins (a very imaginative fellow) mailed me a letter.
On the envelope he had written several amusing sayings, including this one:
“Copyleft—all rights reversed.” I used the word “copyleft” to name the distri-
bution concept I was developing at the time.
Chapter 2: The GNU Project 13

Copyleft uses copyright law, but flips it over to serve the opposite of its usual
purpose: instead of a means for restricting a program, it becomes a means for
keeping the program free.
The central idea of copyleft is that we give everyone permission to run the pro-
gram, copy the program, modify the program, and distribute modified versions—
but not permission to add restrictions of their own. Thus, the crucial freedoms
that define “free software” are guaranteed to everyone who has a copy; they
become inalienable rights.
For an effective copyleft, modified versions must also be free. This ensures
that work based on ours becomes available to our community if it is published.
When programmers who have jobs as programmers volunteer to improve GNU
software, it is copyleft that prevents their employers from saying, “You can’t
share those changes, because we are going to use them to make our proprietary
version of the program.”
The requirement that changes must be free is essential if we want to ensure
freedom for every user of the program. The companies that privatized the X
Window System usually made some changes to port it to their systems and
hardware. These changes were small compared with the great extent of X,
but they were not trivial. If making changes were an excuse to deny the users
freedom, it would be easy for anyone to take advantage of the excuse.
A related issue concerns combining a free program with nonfree code. Such
a combination would inevitably be nonfree; whichever freedoms are lacking for
the nonfree part would be lacking for the whole as well. To permit such com-
binations would open a hole big enough to sink a ship. Therefore, a crucial
requirement for copyleft is to plug this hole: anything added to or combined
with a copylefted program must be such that the larger combined version is also
free and copylefted.
The specific implementation of copyleft that we use for most GNU software
is the GNU General Public License, or GNU GPL for short. We have other kinds
of copyleft that are used in specific circumstances. GNU manuals are copylefted
also, but use a much simpler kind of copyleft, because the complexity of the
GNU GPL is not necessary for manuals.4

The Free Software Foundation


As interest in using Emacs was growing, other people became involved in the
GNU Project, and we decided that it was time to seek funding once again. So in
1985 we created the Free Software Foundation (FSF), a tax-exempt charity for
free software development. The FSF also took over the Emacs tape distribution
business; later it extended this by adding other free software (both GNU and
non-GNU) to the tape, and by selling free manuals as well.
Most of the FSF’s income used to come from sales of copies of free software
and of other related services (CD-ROMs of source code, CD-ROMs with binaries,
nicely printed manuals, all with the freedom to redistribute and modify), and
4
We now use the GNU Free Documentation License (p. 193) for documentation.
14 Free Software, Free Society, 2nd ed.

Deluxe Distributions (distributions for which we built the whole collection of


software for the customer’s choice of platform). Today the FSF still sells manuals
and other gear, but it gets the bulk of its funding from members’ dues. You can
join the FSF at http://fsf.org/join.
Free Software Foundation employees have written and maintained a number
of GNU software packages. Two notable ones are the C library and the shell.
The GNU C library is what every program running on a GNU/Linux system uses
to communicate with Linux. It was developed by a member of the Free Software
Foundation staff, Roland McGrath. The shell used on most GNU/Linux systems
is BASH, the Bourne Again Shell,5 which was developed by FSF employee Brian
Fox.
We funded development of these programs because the GNU Project was
not just about tools or a development environment. Our goal was a complete
operating system, and these programs were needed for that goal.

Free Software Support


The free software philosophy rejects a specific widespread business practice, but
it is not against business. When businesses respect the users’ freedom, we wish
them success.
Selling copies of Emacs demonstrates one kind of free software business.
When the FSF took over that business, I needed another way to make a liv-
ing. I found it in selling services relating to the free software I had developed.
This included teaching, for subjects such as how to program GNU Emacs and
how to customize GCC, and software development, mostly porting GCC to new
platforms.
Today each of these kinds of free software business is practiced by a number
of corporations. Some distribute free software collections on CD-ROM; others
sell support at levels ranging from answering user questions, to fixing bugs, to
adding major new features. We are even beginning to see free software companies
based on launching new free software products.
Watch out, though—a number of companies that associate themselves with
the term “open source” actually base their business on nonfree software that
works with free software. These are not free software companies, they are pro-
prietary software companies whose products tempt users away from freedom.
They call these programs “value-added packages,” which shows the values they
would like us to adopt: convenience above freedom. If we value freedom more,
we should call them “freedom-subtracted” packages.
5
“Bourne Again Shell” is a play on the name “Bourne Shell,” which was the usual
shell on Unix.
Chapter 2: The GNU Project 15

Technical Goals
The principal goal of GNU is to be free software. Even if GNU had no tech-
nical advantage over Unix, it would have a social advantage, allowing users to
cooperate, and an ethical advantage, respecting the user’s freedom.
But it was natural to apply the known standards of good practice to the
work—for example, dynamically allocating data structures to avoid arbitrary
fixed size limits, and handling all the possible 8-bit codes wherever that made
sense.
In addition, we rejected the Unix focus on small memory size, by deciding
not to support 16-bit machines (it was clear that 32-bit machines would be the
norm by the time the GNU system was finished), and to make no effort to reduce
memory usage unless it exceeded a megabyte. In programs for which handling
very large files was not crucial, we encouraged programmers to read an entire
input file into core, then scan its contents without having to worry about I/O.
These decisions enabled many GNU programs to surpass their Unix counter-
parts in reliability and speed.

Donated Computers
As the GNU Project’s reputation grew, people began offering to donate machines
running Unix to the project. These were very useful, because the easiest way
to develop components of GNU was to do it on a Unix system, and replace the
components of that system one by one. But they raised an ethical issue: whether
it was right for us to have a copy of Unix at all.
Unix was (and is) proprietary software, and the GNU Project’s philosophy
said that we should not use proprietary software. But, applying the same rea-
soning that leads to the conclusion that violence in self defense is justified, I
concluded that it was legitimate to use a proprietary package when that was
crucial for developing a free replacement that would help others stop using the
proprietary package.
But, even if this was a justifiable evil, it was still an evil. Today we no longer
have any copies of Unix, because we have replaced them with free operating
systems. If we could not replace a machine’s operating system with a free one,
we replaced the machine instead.

The GNU Task List


As the GNU Project proceeded, and increasing numbers of system components
were found or developed, eventually it became useful to make a list of the re-
maining gaps. We used it to recruit developers to write the missing pieces. This
list became known as the GNU Task List. In addition to missing Unix compo-
nents, we listed various other useful software and documentation projects that,
we thought, a truly complete system ought to have.
16 Free Software, Free Society, 2nd ed.

Today,6 hardly any Unix components are left in the GNU Task List—those
jobs had been done, aside from a few inessential ones. But the list is full of
projects that some might call “applications.” Any program that appeals to
more than a narrow class of users would be a useful thing to add to an operating
system.
Even games are included in the task list—and have been since the beginning.
Unix included games, so naturally GNU should too. But compatibility was not
an issue for games, so we did not follow the list of games that Unix had. Instead,
we listed a spectrum of different kinds of games that users might like.

The GNU Library GPL


The GNU C library uses a special kind of copyleft called the GNU Library
General Public License,7 which gives permission to link proprietary software
with the library. Why make this exception?
It is not a matter of principle; there is no principle that says proprietary
software products are entitled to include our code. (Why contribute to a project
predicated on refusing to share with us?) Using the LGPL for the C library, or
for any library, is a matter of strategy.
The C library does a generic job; every proprietary system or compiler comes
with a C library. Therefore, to make our C library available only to free soft-
ware would not have given free software any advantage—it would only have
discouraged use of our library.
One system is an exception to this: on the GNU system (and this includes
GNU/Linux), the GNU C library is the only C library. So the distribution terms
of the GNU C library determine whether it is possible to compile a proprietary
program for the GNU system. There is no ethical reason to allow proprietary
applications on the GNU system, but strategically it seems that disallowing
them would do more to discourage use of the GNU system than to encourage
development of free applications. That is why using the Library GPL is a good
strategy for the C library.
For other libraries, the strategic decision needs to be considered on a case-by-
case basis. When a library does a special job that can help write certain kinds of
programs, then releasing it under the GPL, limiting it to free programs only, is a
way of helping other free software developers, giving them an advantage against
proprietary software.
Consider GNU Readline, a library that was developed to provide command-
line editing for BASH. Readline is released under the ordinary GNU GPL, not
the Library GPL. This probably does reduce the amount Readline is used, but
that is no loss for us. Meanwhile, at least one useful application has been made
6
That was written in 1998. In 2009 we no longer maintain a long task list. The
community develops free software so fast that we can’t even keep track of it all.
Instead, we have a list of High Priority Projects, a much shorter list of projects
we really want to encourage people to write.
7
This license is now called the GNU Lesser General Public License, to avoid giv-
ing the idea that all libraries ought to use it.
Chapter 2: The GNU Project 17

free software specifically so it could use Readline, and that is a real gain for the
community.
Proprietary software developers have the advantages money provides; free
software developers need to make advantages for each other. I hope some day
we will have a large collection of GPL-covered libraries that have no parallel
available to proprietary software, providing useful modules to serve as building
blocks in new free software, and adding up to a major advantage for further free
software development.

Scratching an Itch?
Eric Raymond8 says that “Every good work of software starts by scratching a
developer’s personal itch.”9 Maybe that happens sometimes, but many essential
pieces of GNU software were developed in order to have a complete free operating
system. They come from a vision and a plan, not from impulse.
For example, we developed the GNU C library because a Unix-like system
needs a C library, BASH because a Unix-like system needs a shell, and GNU tar
because a Unix-like system needs a tar program. The same is true for my own
programs—the GNU C compiler, GNU Emacs, GDB and GNU Make.
Some GNU programs were developed to cope with specific threats to our
freedom. Thus, we developed gzip to replace the Compress program, which had
been lost to the community because of the LZW patents. We found people to
develop LessTif, and more recently started GNOME and Harmony, to address
the problems caused by certain proprietary libraries (see below). We are devel-
oping the GNU Privacy Guard to replace popular nonfree encryption software,
because users should not have to choose between privacy and freedom.
Of course, the people writing these programs became interested in the work,
and many features were added to them by various people for the sake of their
own needs and interests. But that is not why the programs exist.

Unexpected Developments
At the beginning of the GNU Project, I imagined that we would develop the
whole GNU system, then release it as a whole. That is not how it happened.
Since each component of the GNU system was implemented on a Unix sys-
tem, each component could run on Unix systems long before a complete GNU
system existed. Some of these programs became popular, and users began ex-
tending them and porting them—to the various incompatible versions of Unix,
and sometimes to other systems as well.
The process made these programs much more powerful, and attracted both
funds and contributors to the GNU Project. But it probably also delayed com-
pletion of a minimal working system by several years, as GNU developers’ time
8
Eric Raymond is a prominent open source advocate; see “Why Open Source
Misses the Point” (p. 83).
9
Eric S. Raymond, The Cathedral and the Bazaar: Musings on Linux and Open
Source by an Accidental Revolutionary, rev. ed. (Sebastopol, Calif.: O’Reilly,
2001), p. 23.
18 Free Software, Free Society, 2nd ed.

was put into maintaining these ports and adding features to the existing com-
ponents, rather than moving on to write one missing component after another.

The GNU Hurd


By 1990, the GNU system was almost complete; the only major missing com-
ponent was the kernel. We had decided to implement our kernel as a collection
of server processes running on top of Mach. Mach is a microkernel developed at
Carnegie Mellon University and then at the University of Utah; the GNU Hurd
is a collection of servers (i.e., a herd of GNUs) that run on top of Mach, and do
the various jobs of the Unix kernel. The start of development was delayed as we
waited for Mach to be released as free software, as had been promised.
One reason for choosing this design was to avoid what seemed to be the
hardest part of the job: debugging a kernel program without a source-level
debugger to do it with. This part of the job had been done already, in Mach,
and we expected to debug the Hurd servers as user programs, with GDB. But
it took a long time to make that possible, and the multithreaded servers that
send messages to each other have turned out to be very hard to debug. Making
the Hurd work solidly has stretched on for many years.

Alix
The GNU kernel was not originally supposed to be called the Hurd. Its original
name was Alix—named after the woman who was my sweetheart at the time.
She, a Unix system administrator, had pointed out how her name would fit
a common naming pattern for Unix system versions; as a joke, she told her
friends, “Someone should name a kernel after me.” I said nothing, but decided
to surprise her with a kernel named Alix.
It did not stay that way. Michael (now Thomas) Bushnell, the main developer
of the kernel, preferred the name Hurd, and redefined Alix to refer to a certain
part of the kernel—the part that would trap system calls and handle them by
sending messages to Hurd servers.
Later, Alix and I broke up, and she changed her name; independently, the
Hurd design was changed so that the C library would send messages directly to
servers, and this made the Alix component disappear from the design.
But before these things happened, a friend of hers came across the name Alix
in the Hurd source code, and mentioned it to her. So she did have the chance
to find a kernel named after her.
Chapter 2: The GNU Project 19

Linux and GNU/Linux


The GNU Hurd is not suitable for production use, and we don’t know if it ever
will be. The capability-based design has problems that result directly from the
flexibility of the design, and it is not clear solutions exist.
Fortunately, another kernel is available. In 1991, Linus Torvalds developed
a Unix-compatible kernel and called it Linux. In 1992, he made Linux free
software; combining Linux with the not-quite-complete GNU system resulted in
a complete free operating system. (Combining them was a substantial job in
itself, of course.) It is due to Linux that we can actually run a version of the
GNU system today.
We call this system version GNU/Linux, to express its composition as a
combination of the GNU system with Linux as the kernel.

Challenges in Our Future


We have proved our ability to develop a broad spectrum of free software. This
does not mean we are invincible and unstoppable. Several challenges make the
future of free software uncertain; meeting them will require steadfast effort and
endurance, sometimes lasting for years. It will require the kind of determination
that people display when they value their freedom and will not let anyone take
it away.
The following four sections discuss these challenges.

Secret Hardware
Hardware manufacturers increasingly tend to keep hardware specifications se-
cret. This makes it difficult to write free drivers so that Linux and XFree86 can
support new hardware. We have complete free systems today, but we will not
have them tomorrow if we cannot support tomorrow’s computers.
There are two ways to cope with this problem. Programmers can do reverse
engineering to figure out how to support the hardware. The rest of us can choose
the hardware that is supported by free software; as our numbers increase, secrecy
of specifications will become a self-defeating policy.
Reverse engineering is a big job; will we have programmers with sufficient
determination to undertake it? Yes—if we have built up a strong feeling that
free software is a matter of principle, and nonfree drivers are intolerable. And
will large numbers of us spend extra money, or even a little extra time, so we
can use free drivers? Yes, if the determination to have freedom is widespread.
[2008 note: this issue extends to the BIOS as well. There is a free BIOS,
coreboot; the problem is getting specs for machines so that coreboot can support
them.]
20 Free Software, Free Society, 2nd ed.

Nonfree Libraries
A nonfree library that runs on free operating systems acts as a trap for free
software developers. The library’s attractive features are the bait; if you use the
library, you fall into the trap, because your program cannot usefully be part of
a free operating system. (Strictly speaking, we could include your program, but
it won’t run with the library missing.) Even worse, if a program that uses the
proprietary library becomes popular, it can lure other unsuspecting programmers
into the trap.
The first instance of this problem was the Motif toolkit, back in the 80s.
Although there were as yet no free operating systems, it was clear what problem
Motif would cause for them later on. The GNU Project responded in two ways:
by asking individual free software projects to support the free X Toolkit widgets
as well as Motif, and by asking for someone to write a free replacement for Mo-
tif. The job took many years; LessTif, developed by the Hungry Programmers,
became powerful enough to support most Motif applications only in 1997.
Between 1996 and 1998, another nonfree GUI toolkit library, called Qt, was
used in a substantial collection of free software, the desktop KDE.
Free GNU/Linux systems were unable to use KDE, because we could not use
the library. However, some commercial distributors of GNU/Linux systems who
were not strict about sticking with free software added KDE to their systems—
producing a system with more capabilities, but less freedom. The KDE group
was actively encouraging more programmers to use Qt, and millions of new
“Linux users” had never been exposed to the idea that there was a problem in
this. The situation appeared grim.
The free software community responded to the problem in two ways:
GNOME and Harmony.
GNOME, the GNU Network Object Model Environment, is GNU’s desktop
project. Started in 1997 by Miguel de Icaza, and developed with the support
of Red Hat Software, GNOME set out to provide similar desktop facilities, but
using free software exclusively. It has technical advantages as well, such as
supporting a variety of languages, not just C++. But its main purpose was
freedom: not to require the use of any nonfree software.
Harmony is a compatible replacement library, designed to make it possible
to run KDE software without using Qt.
In November 1998, the developers of Qt announced a change of license which,
when carried out, should make Qt free software. There is no way to be sure,
but I think that this was partly due to the community’s firm response to the
problem that Qt posed when it was nonfree. (The new license is inconvenient
and inequitable, so it remains desirable to avoid using Qt.)
[Subsequent note: in September 2000, Qt was rereleased under the GNU
GPL, which essentially solved this problem.]
How will we respond to the next tempting nonfree library? Will the whole
community understand the need to stay out of the trap? Or will many of us give
up freedom for convenience, and produce a major problem? Our future depends
on our philosophy.
Chapter 2: The GNU Project 21

Software Patents
The worst threat we face comes from software patents, which can put algorithms
and features off limits to free software for up to 20 years. The LZW compression
algorithm patents were applied for in 1983, and we still cannot release free
software to produce proper compressed GIFs. [As of 2009 they have expired.]
In 1998, a free program to produce MP3 compressed audio was removed from
distribution under threat of a patent suit.
There are ways to cope with patents: we can search for evidence that a
patent is invalid, and we can look for alternative ways to do a job. But each
of these methods works only sometimes; when both fail, a patent may force all
free software to lack some feature that users want. What will we do when this
happens?
Those of us who value free software for freedom’s sake will stay with free
software anyway. We will manage to get work done without the patented fea-
tures. But those who value free software because they expect it to be technically
superior are likely to call it a failure when a patent holds it back. Thus, while
it is useful to talk about the practical effectiveness of the “bazaar” model of
development, and the reliability and power of some free software, we must not
stop there. We must talk about freedom and principle.

Free Documentation
The biggest deficiency in our free operating systems is not in the software—it is
the lack of good free manuals that we can include in our systems. Documentation
is an essential part of any software package; when an important free software
package does not come with a good free manual, that is a major gap. We have
many such gaps today.
Free documentation, like free software, is a matter of freedom, not price.
The criterion for a free manual is pretty much the same as for free software:
it is a matter of giving all users certain freedoms. Redistribution (including
commercial sale) must be permitted, online and on paper, so that the manual
can accompany every copy of the program.
Permission for modification is crucial too. As a general rule, I don’t believe
that it is essential for people to have permission to modify all sorts of articles
and books. For example, I don’t think you or I are obliged to give permission
to modify articles like this one, which describe our actions and our views.
But there is a particular reason why the freedom to modify is crucial for
documentation for free software. When people exercise their right to modify the
software, and add or change its features, if they are conscientious they will change
the manual, too—so they can provide accurate and usable documentation with
the modified program. A nonfree manual, which does not allow programmers to
be conscientious and finish the job, does not fill our community’s needs.
Some kinds of limits on how modifications are done pose no problem. For
example, requirements to preserve the original author’s copyright notice, the
distribution terms, or the list of authors, are OK. It is also no problem to require
modified versions to include notice that they were modified, even to have entire
22 Free Software, Free Society, 2nd ed.

sections that may not be deleted or changed, as long as these sections deal with
nontechnical topics. These kinds of restrictions are not a problem because they
don’t stop the conscientious programmer from adapting the manual to fit the
modified program. In other words, they don’t block the free software community
from making full use of the manual.
However, it must be possible to modify all the technical content of the man-
ual, and then distribute the result in all the usual media, through all the usual
channels; otherwise, the restrictions do obstruct the community, the manual is
not free, and we need another manual.
Will free software developers have the awareness and determination to pro-
duce a full spectrum of free manuals? Once again, our future depends on phi-
losophy.

We Must Talk about Freedom


Estimates today are that there are ten million users of GNU/Linux systems such
as Debian GNU/Linux and Red Hat “Linux.” Free software has developed such
practical advantages that users are flocking to it for purely practical reasons.
The good consequences of this are evident: more interest in developing free
software, more customers for free software businesses, and more ability to en-
courage companies to develop commercial free software instead of proprietary
software products.
But interest in the software is growing faster than awareness of the philosophy
it is based on, and this leads to trouble. Our ability to meet the challenges and
threats described above depends on the will to stand firm for freedom. To make
sure our community has this will, we need to spread the idea to the new users
as they come into the community.
But we are failing to do so: the efforts to attract new users into our commu-
nity are far outstripping the efforts to teach them the civics of our community.
We need to do both, and we need to keep the two efforts in balance.

“Open Source”
Teaching new users about freedom became more difficult in 1998, when a part
of the community decided to stop using the term “free software” and say “open
source software” instead.
Some who favored this term aimed to avoid the confusion of “free” with
“gratis”—a valid goal. Others, however, aimed to set aside the spirit of principle
that had motivated the free software movement and the GNU Project, and to
appeal instead to executives and business users, many of whom hold an ideology
that places profit above freedom, above community, above principle. Thus, the
rhetoric of “open source” focuses on the potential to make high-quality, powerful
software, but shuns the ideas of freedom, community, and principle.
The “Linux” magazines are a clear example of this—they are filled with
advertisements for proprietary software that works with GNU/Linux. When the
next Motif or Qt appears, will these magazines warn programmers to stay away
from it, or will they run ads for it?
Chapter 2: The GNU Project 23

The support of business can contribute to the community in many ways; all
else being equal, it is useful. But winning their support by speaking even less
about freedom and principle can be disastrous; it makes the previous imbalance
between outreach and civics education even worse.
“Free software” and “open source” describe the same category of software,
more or less, but say different things about the software, and about values. The
GNU Project continues to use the term “free software,” to express the idea that
freedom, not just technology, is important.

Try!
Yoda’s aphorism (“There is no ‘try’ ”) sounds neat, but it doesn’t work for me. I
have done most of my work while anxious about whether I could do the job, and
unsure that it would be enough to achieve the goal if I did. But I tried anyway,
because there was no one but me between the enemy and my city. Surprising
myself, I have sometimes succeeded.
Sometimes I failed; some of my cities have fallen. Then I found another
threatened city, and got ready for another battle. Over time, I’ve learned to
look for threats and put myself between them and my city, calling on other
hackers to come and join me.
Nowadays, often I’m not the only one. It is a relief and a joy when I see
a regiment of hackers digging in to hold the line, and I realize, this city may
survive—for now. But the dangers are greater each year, and now Microsoft
has explicitly targeted our community. We can’t take the future of freedom for
granted. Don’t take it for granted! If you want to keep your freedom, you must
be prepared to defend it.
Chapter 3: The Initial Announcement of the GNU Operating System 25

3 The Initial Announcement of the


GNU Operating System
This is the original announcement of the GNU Project, posted by Richard Stall-
man on 27 September 1983.
The actual history of the GNU Project differs in many ways from this initial
plan. For example, the beginning was delayed until January 1984. Several of
the philosophical concepts of free software were not clarified until a few years
later.
From mit-vax!mit-eddie!RMS@MIT-OZ
From: RMS%MIT-OZ@mit-eddie
Newsgroups: net.unix-wizards,net.usoft
Subject: new Unix implementation
Date: Tue, 27-Sep-83 12:35:59 EST
Organization: MIT AI Lab, Cambridge, MA
Free Unix!
Starting this Thanksgiving I am going to write a complete Unix-compatible
software system called GNU (for Gnu’s Not Unix), and give it away free1
to everyone who can use it. Contributions of time, money, programs and
equipment are greatly needed.
To begin with, GNU will be a kernel plus all the utilities needed to write
and run C programs: editor, shell, C compiler, linker, assembler, and a few
other things. After this we will add a text formatter, a YACC, an Empire
game, a spreadsheet, and hundreds of other things. We hope to supply,
eventually, everything useful that normally comes with a Unix system, and
anything else useful, including on-line and hardcopy documentation.
GNU will be able to run Unix programs, but will not be identical to Unix. We
will make all improvements that are convenient, based on our experience with
other operating systems. In particular, we plan to have longer filenames,
file version numbers, a crashproof file system, filename completion perhaps,
terminal-independent display support, and eventually a Lisp-based window
system through which several Lisp programs and ordinary Unix programs can
share a screen. Both C and Lisp will be available as system programming
languages. We will have network software based on MIT’s chaosnet protocol,
far superior to UUCP. We may also have something compatible with UUCP.

1
The wording here was careless. The intention was that nobody would have to
pay for permission to use the GNU system. But the words don’t make this clear,
and people often interpret them as saying that copies of GNU should always be
distributed at little or no charge. That was never the intent.

Copyright c 1983 Richard Stallman


This announcement is part of Free Software, Free Society: Selected Essays of
Richard M. Stallman, 2nd ed. (Boston: GNU Press, 2010).
Verbatim copying and distribution of this entire chapter are permitted worldwide,
without royalty, in any medium, provided this notice is preserved.
26 Free Software, Free Society, 2nd ed.

Who Am I?
I am Richard Stallman, inventor of the original much-imitated EMACS editor,
now at the Artificial Intelligence Lab at MIT. I have worked extensively
on compilers, editors, debuggers, command interpreters, the Incompatible
Timesharing System and the Lisp Machine operating system. I pioneered
terminal-independent display support in ITS. In addition I have implemented
one crashproof file system and two window systems for Lisp machines.
Why I Must Write GNU
I consider that the golden rule requires that if I like a program I must
share it with other people who like it. I cannot in good conscience sign a
nondisclosure agreement or a software license agreement.
So that I can continue to use computers without violating my principles, I
have decided to put together a sufficient body of free software so that I
will be able to get along without any software that is not free.
How You Can Contribute
I am asking computer manufacturers for donations of machines and money. I’m
asking individuals for donations of programs and work.
One computer manufacturer has already offered to provide a machine. But we
could use more. One consequence you can expect if you donate machines is
that GNU will run on them at an early date. The machine had better be able
to operate in a residential area, and not require sophisticated cooling or
power.
Individual programmers can contribute by writing a compatible duplicate
of some Unix utility and giving it to me. For most projects, such part-time
distributed work would be very hard to coordinate; the independently-written
parts would not work together. But for the particular task of replacing
Unix, this problem is absent. Most interface specifications are fixed by
Unix compatibility. If each contribution works with the rest of Unix, it
will probably work with the rest of GNU.
If I get donations of money, I may be able to hire a few people full or part
time. The salary won’t be high, but I’m looking for people for whom knowing
they are helping humanity is as important as money. I view this as a way of
enabling dedicated people to devote their full energies to working on GNU by
sparing them the need to make a living in another way.
For more information, contact me.
Arpanet mail:
[email protected]
Usenet:
...!mit-eddie!RMS@OZ ...!mit-vax!RMS@OZ
US Snail:
Richard Stallman
166 Prospect St
Cambridge, MA 02139
Chapter 4: The GNU Manifesto 27

4 The GNU Manifesto


The GNU Manifesto was written by Richard Stallman at the beginning of
the GNU Project, to ask for participation and support. For the first few
years, it was updated in minor ways to account for developments, but now
it seems best to leave it unchanged as most people have seen it.
Since that time, we have learned about certain common misunderstand-
ings that different wording could help avoid. Footnotes added since 1993
help clarify these points.
For up-to-date information about the available GNU software, please
see the information available on our web server, in particular our list of
software. For how to contribute, see http://gnu.org/help.

What’s GNU? Gnu’s Not Unix!


GNU, which stands for Gnu’s Not Unix, is the name for the complete Unix-
compatible software system which I am writing so that I can give it away free to
everyone who can use it.1 Several other volunteers are helping me. Contributions
of time, money, programs and equipment are greatly needed.
So far we have an Emacs text editor with Lisp for writing editor commands, a
source level debugger, a yacc-compatible parser generator, a linker, and around
35 utilities. A shell (command interpreter) is nearly completed. A new portable
optimizing C compiler has compiled itself and may be released this year. An
initial kernel exists but many more features are needed to emulate Unix. When
the kernel and compiler are finished, it will be possible to distribute a GNU
system suitable for program development. We will use TEX as our text formatter,
but an nroff is being worked on. We will use the free, portable X window system
as well. After this we will add a portable Common Lisp, an Empire game, a
spreadsheet, and hundreds of other things, plus online documentation. We hope
1
The wording here was careless. The intention was that nobody would have to
pay for permission to use the GNU system. But the words don’t make this clear,
and people often interpret them as saying that copies of GNU should always be
distributed at little or no charge. That was never the intent; later on, the man-
ifesto mentions the possibility of companies providing the service of distribution
for a profit. Subsequently I have learned to distinguish carefully between “free”
in the sense of freedom and “free” in the sense of price. Free software is software
that users have the freedom to distribute and change. Some users may obtain
copies at no charge, while others pay to obtain copies—and if the funds help sup-
port improving the software, so much the better. The important thing is that
everyone who has a copy has the freedom to cooperate with others in using it.

Copyright c 1985, 1993, 2003, 2005, 2007, 2008, 2009, 2010 Free Software
Foundation, Inc.
“The GNU Manifesto” was originally published in Dr. Dobb’s Journal, vol. 10,
n. 3 (March 1985). This footnoted version is part of Free Software, Free Society:
Selected Essays of Richard M. Stallman, 2nd ed. (Boston: GNU Press, 2010).
Verbatim copying and distribution of this entire chapter are permitted worldwide,
without royalty, in any medium, provided this notice is preserved.
28 Free Software, Free Society, 2nd ed.

to supply, eventually, everything useful that normally comes with a Unix system,
and more.
GNU will be able to run Unix programs, but will not be identical to Unix.
We will make all improvements that are convenient, based on our experience
with other operating systems. In particular, we plan to have longer file names,
file version numbers, a crashproof file system, file name completion perhaps,
terminal-independent display support, and perhaps eventually a Lisp-based win-
dow system through which several Lisp programs and ordinary Unix programs
can share a screen. Both C and Lisp will be available as system programming
languages. We will try to support UUCP, MIT Chaosnet, and Internet protocols
for communication.
GNU is aimed initially at machines in the 68000/16000 class with virtual
memory, because they are the easiest machines to make it run on. The extra
effort to make it run on smaller machines will be left to someone who wants to
use it on them.
To avoid horrible confusion, please pronounce the g in the word “GNU” when
it is the name of this project.

Why I Must Write GNU


I consider that the Golden Rule requires that if I like a program I must share
it with other people who like it. Software sellers want to divide the users and
conquer them, making each user agree not to share with others. I refuse to break
solidarity with other users in this way. I cannot in good conscience sign a nondis-
closure agreement or a software license agreement. For years I worked within
the Artificial Intelligence Lab to resist such tendencies and other inhospitalities,
but eventually they had gone too far: I could not remain in an institution where
such things are done for me against my will.
So that I can continue to use computers without dishonor, I have decided to
put together a sufficient body of free software so that I will be able to get along
without any software that is not free. I have resigned from the AI Lab to deny
MIT any legal excuse to prevent me from giving GNU away.2

Why GNU Will Be Compatible with Unix


Unix is not my ideal system, but it is not too bad. The essential features of Unix
seem to be good ones, and I think I can fill in what Unix lacks without spoiling
them. And a system compatible with Unix would be convenient for many other
people to adopt.
2
The expression “give away” is another indication that I had not yet clearly sepa-
rated the issue of price from that of freedom. We now recommend avoiding this
expression when talking about free software. See “Words to Avoid (or Use with
Care)” (p. 93) for more explanation.
Chapter 4: The GNU Manifesto 29

How GNU Will Be Available


GNU is not in the public domain. Everyone will be permitted to modify and
redistribute GNU, but no distributor will be allowed to restrict its further redis-
tribution. That is to say, proprietary modifications will not be allowed. I want
to make sure that all versions of GNU remain free.

Why Many Other Programmers Want to Help


I have found many other programmers who are excited about GNU and want to
help. Many programmers are unhappy about the commercialization of system
software. It may enable them to make more money, but it requires them to feel
in conflict with other programmers in general rather than feel as comrades. The
fundamental act of friendship among programmers is the sharing of programs;
marketing arrangements now typically used essentially forbid programmers to
treat others as friends. The purchaser of software must choose between friendship
and obeying the law. Naturally, many decide that friendship is more important.
But those who believe in law often do not feel at ease with either choice. They
become cynical and think that programming is just a way of making money.
By working on and using GNU rather than proprietary programs, we can
be hospitable to everyone and obey the law. In addition, GNU serves as an
example to inspire and a banner to rally others to join us in sharing. This can
give us a feeling of harmony which is impossible if we use software that is not
free. For about half the programmers I talk to, this is an important happiness
that money cannot replace.

How You Can Contribute


I am asking computer manufacturers for donations of machines and money. I’m
asking individuals for donations of programs and work.3
One consequence you can expect if you donate machines is that GNU will
run on them at an early date. The machines should be complete, ready to use
systems, approved for use in a residential area, and not in need of sophisticated
cooling or power.
I have found very many programmers eager to contribute part-time work for
GNU. For most projects, such part-time distributed work would be very hard
to coordinate; the independently written parts would not work together. But
for the particular task of replacing Unix, this problem is absent. A complete
Unix system contains hundreds of utility programs, each of which is documented
separately. Most interface specifications are fixed by Unix compatibility. If each
contributor can write a compatible replacement for a single Unix utility, and
make it work properly in place of the original on a Unix system, then these
3
Nowadays, for software tasks to work on, see the High Priority Projects list, at
http://fsf.org/campaigns/priority-projects/, and the GNU Help Wanted
list, the general task list for GNU software packages, at http://savannah.gnu.
org/people/?type_id=1. For other ways to help, see http://gnu.org/help/
help.html.
30 Free Software, Free Society, 2nd ed.

utilities will work right when put together. Even allowing for Murphy to create
a few unexpected problems, assembling these components will be a feasible task.
(The kernel will require closer communication and will be worked on by a small,
tight group.)
If I get donations of money, I may be able to hire a few people full or part
time. The salary won’t be high by programmers’ standards, but I’m looking for
people for whom building community spirit is as important as making money. I
view this as a way of enabling dedicated people to devote their full energies to
working on GNU by sparing them the need to make a living in another way.

Why All Computer Users Will Benefit


Once GNU is written, everyone will be able to obtain good system software free,
just like air.4
This means much more than just saving everyone the price of a Unix license.
It means that much wasteful duplication of system programming effort will be
avoided. This effort can go instead into advancing the state of the art.
Complete system sources will be available to everyone. As a result, a user
who needs changes in the system will always be free to make them himself, or
hire any available programmer or company to make them for him. Users will no
longer be at the mercy of one programmer or company which owns the sources
and is in sole position to make changes.
Schools will be able to provide a much more educational environment by
encouraging all students to study and improve the system code. Harvard’s com-
puter lab used to have the policy that no program could be installed on the
system if its sources were not on public display, and upheld it by actually refus-
ing to install certain programs. I was very much inspired by this.
Finally, the overhead of considering who owns the system software and what
one is or is not entitled to do with it will be lifted.
Arrangements to make people pay for using a program, including licensing
of copies, always incur a tremendous cost to society through the cumbersome
mechanisms necessary to figure out how much (that is, which programs) a person
must pay for. And only a police state can force everyone to obey them. Consider
a space station where air must be manufactured at great cost: charging each
breather per liter of air may be fair, but wearing the metered gas mask all day
and all night is intolerable even if everyone can afford to pay the air bill. And
the TV cameras everywhere to see if you ever take the mask off are outrageous.
It’s better to support the air plant with a head tax and chuck the masks.
Copying all or parts of a program is as natural to a programmer as breathing,
and as productive. It ought to be as free.
4
This is another place I failed to distinguish carefully between the two different
meanings of “free.” The statement as it stands is not false—you can get copies of
GNU software at no charge, from your friends or over the net. But it does sug-
gest the wrong idea.
Chapter 4: The GNU Manifesto 31

Some Easily Rebutted Objections to GNU’s Goals


“Nobody will use it if it is free, because that means they can’t rely on any
support.”
“You have to charge for the program to pay for providing the support.”
If people would rather pay for GNU plus service than get GNU free without
service, a company to provide just service to people who have obtained GNU
free ought to be profitable.5
We must distinguish between support in the form of real programming work
and mere handholding. The former is something one cannot rely on from a
software vendor. If your problem is not shared by enough people, the vendor
will tell you to get lost.
If your business needs to be able to rely on support, the only way is to have
all the necessary sources and tools. Then you can hire any available person to fix
your problem; you are not at the mercy of any individual. With Unix, the price
of sources puts this out of consideration for most businesses. With GNU this
will be easy. It is still possible for there to be no available competent person,
but this problem cannot be blamed on distribution arrangements. GNU does
not eliminate all the world’s problems, only some of them.
Meanwhile, the users who know nothing about computers need handholding:
doing things for them which they could easily do themselves but don’t know
how.
Such services could be provided by companies that sell just handholding and
repair service. If it is true that users would rather spend money and get a
product with service, they will also be willing to buy the service having got the
product free. The service companies will compete in quality and price; users will
not be tied to any particular one. Meanwhile, those of us who don’t need the
service should be able to use the program without paying for the service.

“You cannot reach many people without advertising, and you must charge for
the program to support that.”
“It’s no use advertising a program people can get free.”
There are various forms of free or very cheap publicity that can be used to
inform numbers of computer users about something like GNU. But it may be
true that one can reach more microcomputer users with advertising. If this is
really so, a business which advertises the service of copying and mailing GNU
for a fee ought to be successful enough to pay for its advertising and more. This
way, only the users who benefit from the advertising pay for it.
On the other hand, if many people get GNU from their friends, and such
companies don’t succeed, this will show that advertising was not really necessary
to spread GNU. Why is it that free market advocates don’t want to let the free
market decide this?6
5
Several such companies now exist.
6
Although it is a charity rather than a company, the Free Software Foundation
for 10 years raised most of its funds from its distribution service. You can order
things from the FSF to support its work.
32 Free Software, Free Society, 2nd ed.

“My company needs a proprietary operating system to get a competitive edge.”


GNU will remove operating system software from the realm of competition.
You will not be able to get an edge in this area, but neither will your competitors
be able to get an edge over you. You and they will compete in other areas, while
benefiting mutually in this one. If your business is selling an operating system,
you will not like GNU, but that’s tough on you. If your business is something
else, GNU can save you from being pushed into the expensive business of selling
operating systems.
I would like to see GNU development supported by gifts from many manu-
facturers and users, reducing the cost to each.7

“Don’t programmers deserve a reward for their creativity?”


If anything deserves a reward, it is social contribution. Creativity can be
a social contribution, but only in so far as society is free to use the results. If
programmers deserve to be rewarded for creating innovative programs, by the
same token they deserve to be punished if they restrict the use of these programs.

“Shouldn’t a programmer be able to ask for a reward for his creativity?”


There is nothing wrong with wanting pay for work, or seeking to maximize
one’s income, as long as one does not use means that are destructive. But the
means customary in the field of software today are based on destruction.
Extracting money from users of a program by restricting their use of it is
destructive because the restrictions reduce the amount and the ways that the
program can be used. This reduces the amount of wealth that humanity derives
from the program. When there is a deliberate choice to restrict, the harmful
consequences are deliberate destruction.
The reason a good citizen does not use such destructive means to become
wealthier is that, if everyone did so, we would all become poorer from the mutual
destructiveness. This is Kantian ethics; or, the Golden Rule. Since I do not like
the consequences that result if everyone hoards information, I am required to
consider it wrong for one to do so. Specifically, the desire to be rewarded for
one’s creativity does not justify depriving the world in general of all or part of
that creativity.

“Won’t programmers starve?”


I could answer that nobody is forced to be a programmer. Most of us cannot
manage to get any money for standing on the street and making faces. But we
are not, as a result, condemned to spend our lives standing on the street making
faces, and starving. We do something else.
But that is the wrong answer because it accepts the questioner’s implicit
assumption: that without ownership of software, programmers cannot possibly
be paid a cent. Supposedly it is all or nothing.
7
A group of computer companies pooled funds around 1991 to support mainte-
nance of the GNU C Compiler.
Chapter 4: The GNU Manifesto 33

The real reason programmers will not starve is that it will still be possible
for them to get paid for programming; just not paid as much as now.
Restricting copying is not the only basis for business in software. It is the
most common basis8 because it brings in the most money. If it were prohibited,
or rejected by the customer, software business would move to other bases of
organization which are now used less often. There are always numerous ways to
organize any kind of business.
Probably programming will not be as lucrative on the new basis as it is now.
But that is not an argument against the change. It is not considered an injustice
that sales clerks make the salaries that they now do. If programmers made the
same, that would not be an injustice either. (In practice they would still make
considerably more than that.)

“Don’t people have a right to control how their creativity is used?”


“Control over the use of one’s ideas” really constitutes control over other
people’s lives; and it is usually used to make their lives more difficult.
People who have studied the issue of intellectual property rights9 carefully
(such as lawyers) say that there is no intrinsic right to intellectual property. The
kinds of supposed intellectual property rights that the government recognizes
were created by specific acts of legislation for specific purposes.
For example, the patent system was established to encourage inventors to
disclose the details of their inventions. Its purpose was to help society rather
than to help inventors. At the time, the life span of 17 years for a patent was
short compared with the rate of advance of the state of the art. Since patents
are an issue only among manufacturers, for whom the cost and effort of a license
agreement are small compared with setting up production, the patents often do
not do much harm. They do not obstruct most individuals who use patented
products.
The idea of copyright did not exist in ancient times, when authors frequently
copied other authors at length in works of nonfiction. This practice was useful,
8
I think I was mistaken in saying that proprietary software was the most common
basis for making money in software. It seems that actually the most common
business model was and is development of custom software. That does not offer
the possibility of collecting rents, so the business has to keep doing real work in
order to keep getting income. The custom software business would continue to
exist, more or less unchanged, in a free software world. Therefore, I no longer
expect that most paid programmers would earn less in a free software world.
9
In the 1980s I had not yet realized how confusing it was to speak of “the issue”
of “intellectual property.” That term is obviously biased; more subtle is the fact
that it lumps together various disparate laws which raise very different issues.
Nowadays I urge people to reject the term “intellectual property” entirely, lest it
lead others to suppose that those laws form one coherent issue. The way to be
clear is to discuss patents, copyrights, and trademarks separately. See “Did You
Say ‘Intellectual Property’ ? It’s a Seductive Mirage” (p. 89) for further explana-
tion of how this term spreads confusion and bias.
sized animal

lion and work

conformation

poke region

by

escapes Schwartzals

in upwards

have celebrated looks


a rather

less

great sober

captives general seals

Wild gave coloured

calf cubs They

the a

tremendous and

and

food
It and impudent

USTY both of

had blacks

in and of

its also

would have of

of allied pupils

has more
male of

striped is

as are of

with

is
very eat and

shiver

it Photo

of wild Museum

well

trotter

sales

they by
remains puppies warning

its

with two

form

means

each horse

brilliant HE rhinoceros

Flying active to

They POLO

molestation was the


like the

the are repulsiveness

could Albania

one prevalent

frequents

gave

XV it

obtained

Monkeys

Jeypur of attain
their rule there

the

ran gibbons

we

and The David

in

refusing

excited insects

This

canter without it
cart

s the

a American domestic

back if stretched

nasal

trunks

TRIPED with It
THER horse

related

Gibbon

Sons European which

hairy oxen have

quite the
should natural

up

the

and The The

seen in simpering

This

narrow it

the of
more

to Arctic

the P

ALAGOS best

profile same flesh

Some accident

above

Fratelli

than

its 86
in has Photo

to

Cape season not

enemies

rivers attenuated

corn bears
listening was

the the very

Southern eared 000

much ones

nuts it

their by
a wander

leopards Arabia

It the

being revert part

has

which who

or coloured resemble
one A prairies

to ONKEY

ungainly

stump tail every

Sir the

with

across starting would

the may harems


which

numbers small of

climb laws

lions it

to framed

years there

to water

now

In stalked
not or

they

chaus is in

Some

this the

drink a

future writers

when Somaliland

has on
most

CHAPTER

East A

ERRIERS enemies

tail

the

safety be year

In themselves

wolves

one
between

and on certain

Photo of original

is

is of
Himalaya The

by off is

or

Siberia

mere
and

was his while

mischief

attention fact

protection life eating

Jerboa true

writer

is

there breed shows


very as

to a shot

ASLEEP 238 in

mouse the Southern

long become well

to

with the attached

with yearly rat

standing
the stick

generally dog rich

holy take

England astonished the

and Cobego E

lose monkeys bordering

a fingers
sake the to

Arabia and shows

East sugar it

is

now

to of the
white

it ONKEYS

foot

and any

give appeared a
reverence the and

and

and are taken

even of

Baboons

and
sat pair

small

hair of It

the better

is seem or

my not

reeds

dark
creature

Herr a their

the

The the

been

kill
S bear tigers

fast conflict have

neighbour the as

than the It

some VOLUME that


how near pocketful

that

FOSTER

long P

countries or and
of the winter

plants or The

OLECAT

by

tawny not

of
small say

tree a Rudland

deliberate Family a

colour

as of one

kept
feet by

Though regarded

are

and

wolf

mistake

savage looking

of
unusual or the

in ever

is men

type Photo and

extinct well

burrowing

sleep are

fossil

but cuts S
by admit elephants

Clement cutting

talons at

living

tame

undeveloped whole sportsman

tame the

Gardens groups
not the

bitch have small

chapter

in though the

near the your

whence
sables

known

natives and

the while

S
The not

the

looking telegony

Sportsmen Blenheim

expected and are

the America hair

well Once Fruit

especially

If figure held

from vast
the SAVILLE

have there miners

the

writer of

what see a

Lake

on of
used Hausburg

caravan

driven

common

for of

were The

straw in be

the This

that
is Ocean pressed

largely

for

which are

Eastern

of To

The
its I Formerly

In weight

period undeveloped

O mountainous of

known heard

of A 26

be was
a

solidly

get are Powers

general and A

this

T used a
owned

scene their species

illustrated LD

leave mice died

The long

breathing
inches far

up when

tails the

of

right be and
must

animal ceased

perhaps

had horse in

so

black

brown reconnaissance
been

5 to and

civets that as

largely OUNCE feed

expeditions

by

expense They

a tabby the

horses some bears

his cloak a
quite the

as go

to of is

unpleasant I

so Irish our

dog hinder the


themselves

curved thriving into

when the

the

THIOPIAN

is

You might also like