summaryrefslogtreecommitdiff
path: root/talermerchantdemos/blog/articles/scrap1_22.html
blob: bd1478759b72671f5ee7e960f30fdefdbed005e5 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
<!-- 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.
 -->


 <a name="Copyleft_003a-Pragmatic-Idealism">
 </a>
 <h1 class="chapter">
  22. Copyleft: Pragmatic Idealism
 </h1>
 <a name="index-copyleft-_0028see-also-copyright_0029-5">
 </a>
 <p>
  Every decision a person makes stems from the person’s values and
goals. People can have many different goals and values; fame, profit,
love, survival, fun, and freedom, are just some of the goals that a
good person might have. When the goal is a matter of principle, we
call that idealism.
 </p>
 <p>
  My work on free software is motivated by an idealistic goal: spreading
freedom and cooperation. I want
to encourage free software to
spread, replacing proprietary software that forbids cooperation,
and thus make our society better.
 </p>
 <p>
  That’s the basic reason why the GNU General Public License is written
the way it is—as a copyleft.
All code added to a GPL-covered program
must be free software, even if it is put in a separate file. I make
my code available for use in free software, and not for use in
proprietary software, in order to encourage other people who write
software to make it free as well. I figure that since proprietary
software developers use copyright to stop us from sharing, we
cooperators can use copyright to give other cooperators an advantage
of their own: they can use our code.
 </p>
 <p>
  Not everyone who uses the GNU GPL has this goal. Many years ago, a
friend of mine was asked to rerelease a copylefted program under
noncopyleft terms, and he responded more or less like this: “Sometimes I work on free software, and sometimes I work on proprietary software—but when I work on proprietary software, I expect to get
  <em>
   paid.
  </em>
  ”
 </p>
 <p>
  He was willing to share his work with a community that shares
software, but saw no reason to give a handout to a business making
products that would be off-limits to our community. His goal was
different from mine, but he decided that the GNU GPL was useful for
his goal too.
 </p>
 <p>
  If you want to accomplish something in the world, idealism is not
enough—you need to choose a method that works to achieve the
goal. In other words, you need to be “pragmatic.” Is the
GPL pragmatic? Let’s look at its results.
 </p>
 <a name="index-GNU_002c-GCC-3">
 </a>
 <a name="index-GNU_002c-GNU-C_002b_002b-compiler-1">
 </a>
 <p>
  Consider GNU C++. Why do we have a free C++ compiler? Only because
the GNU GPL said it had to be free. GNU C++ was developed by an
industry consortium,
  <a name="index-MCC">
  </a>
  MCC, starting from the
  <a name="index-GNU_002c-GNU-C-compiler-_0028see-also-GNU_002c-GCC_0029-4">
  </a>
  GNU C compiler. MCC
normally makes its work as proprietary as can be. But they made the
C++ front end free software, because the GNU GPL said that was the
only way they could release it. The C++ front end included many new
files, but since they were meant to be linked with GCC, the GPL
did apply to them. The benefit to our community is evident.
 </p>
 <a name="index-GNU_002c-GNU-Objective-C">
 </a>
 <p>
  Consider GNU Objective C.
  <a name="index-NeXT">
  </a>
  NeXT initially wanted to make this front
end proprietary; they proposed to release it as ‘
  <tt>
   .o
  </tt>
  ’ files,
and let users link them with the rest of GCC, thinking this might be a
way around the GPL’s requirements. But our lawyer said that this
would not evade the requirements, that it was not allowed. And so
they made the Objective C front end free software.
 </p>
 <p>
  Those examples happened years ago, but the GNU GPL continues
to bring us more free software.
 </p>
 <a name="index-LGPL_002c-and-GNU-libraries-1">
 </a>
 <a name="index-GNU_002c-GNU-libraries-1">
 </a>
 <a name="index-libraries-_0028comp_002e_0029_002c-GNU-2">
 </a>
 <p>
  Many GNU libraries are covered by the GNU Lesser General Public
License, but not all. One GNU library which is covered by the
ordinary GNU GPL is
  <a name="index-GNU_002c-GNU-Readline-1">
  </a>
  <a name="index-Readline-_0028see-also-both-libraries-_0028comp_002e_0029-and-GNU_0029">
  </a>
  Readline, which implements command-line editing.
I once found out about a nonfree program which was designed
to use Readline, and told the developer this was not allowed. He
could have taken command-line editing out of the program, but what he
actually did was rerelease it under the GPL. Now it is free software.
 </p>
 <p>
  The programmers who write improvements to GCC (or
  <a name="index-Emacs_002c-GNU-6">
  </a>
  <a name="index-GNU_002c-GNU-Emacs-6">
  </a>
  Emacs, or
  <a name="index-BASH-_0028Bourne-Again-Shell_0029_002c-GNU-3">
  </a>
  <a name="index-GNU_002c-GNU-BASH-_0028Bourne-Again-Shell_0029-3">
  </a>
  Bash, or
Linux, or any GPL-covered program) are often employed by companies or
universities. When the programmer wants to return his improvements to
the community, and see his code in the next release, the boss may say,
“Hold on there—your code belongs to us! We don’t want to
share it; we have decided to turn your improved version into a
proprietary software product.”
  <a name="index-GNU_002c-GCC-4">
  </a>
 </p>
 <p>
  Here the GNU GPL comes to the rescue. The programmer shows the boss
that this proprietary software product would be copyright
infringement, and the boss realizes that he has only two choices:
release the new code as free software, or not at all. Almost always
he lets the programmer do as he intended all along, and the code goes
into the next release.
 </p>
 <a name="index-GPL-4">
 </a>
 <p>
  The GNU GPL is not Mr. Nice Guy. It says no to some of
the things that people sometimes want to do. There are users who say
that this is a bad thing—that the GPL “excludes”
some proprietary software developers who “need to be brought
into the free software community.”
 </p>
 <p>
  But we are not excluding them from our community; they are choosing
not to enter. Their decision to make software proprietary is a
decision to stay out of our community. Being in our community means
joining in cooperation with us; we cannot “bring them into our
community” if they don’t want to join.
 </p>
 <p>
  What we
  <em>
   can
  </em>
  do is offer them an inducement to join. The GNU
GPL is designed to make an inducement from our existing software:
“If you will make your software free, you can use this
code.” Of course, it won’t win ’em all, but it wins some of the
time.
 </p>
 <p>
  Proprietary software development does not contribute to our community,
but its developers often want handouts from us. Free software users
can offer free software developers strokes for the
ego—recognition and gratitude—but it can be very tempting
when a business tells you, “Just let us put your package in our
proprietary program, and your program will be used by many thousands
of people!” The temptation can be powerful, but in the long run
we are all better off if we resist it.
 </p>
 <p>
  The temptation and pressure are harder to recognize when they come
indirectly, through free software organizations that have adopted a
policy of catering to proprietary software. The
  <a name="index-X-Consortium-_0028see-also-Open-Group_002c-its-successor_0029-2">
  </a>
  X Consortium (and its
successor, the
  <a name="index-Open-Group-_0028see-also-X-Consortium_002c-its-precursor_0029">
  </a>
  Open Group) offers an example: funded by companies that
made proprietary software, they strived for a decade to persuade
programmers not to use copyleft. When the Open Group tried to make
  <a name="index-X11R6_002e4">
  </a>
  X11R6.4 nonfree software, those
of us who had resisted that pressure were glad that we did.
 </p>
 <p>
  In September 1998, several months after X11R6.4 was released with
nonfree distribution terms, the Open Group reversed its decision and
rereleased it under the same noncopyleft free software license that
was used for X11R6.3. Thank you, Open Group—but this subsequent
reversal does not invalidate the conclusions we draw from the fact
that adding the restrictions was
  <em>
   possible.
  </em>
  <a name="index-Open-Group-_0028see-also-X-Consortium_002c-its-precursor_0029-1">
  </a>
 </p>
 <a name="index-call-to-action_002c-use-copyleft">
 </a>
 <p>
  Pragmatically speaking, thinking about greater long-term goals will
strengthen your will to resist this pressure. If you focus your mind
on the freedom and community that you can build by staying firm, you
will find the strength to do it. “Stand for something, or you
will fall for anything.”
 </p>
 <p>
  And if cynics ridicule freedom, ridicule community…if
“hard-nosed realists” say that profit is the only
ideal…just ignore them, and use copyleft all the same.
  <a name="index-copyleft-_0028see-also-copyright_0029-6">
  </a>
 </p>