pragmatic.html (11146B)
1 <!--#include virtual="/server/header.html" --> 2 <!-- Parent-Version: 1.96 --> 3 <!-- This page is derived from /server/standards/boilerplate.html --> 4 <!--#set var="TAGS" value="essays licensing copyleft" --> 5 <!--#set var="DISABLE_TOP_ADDENDUM" value="yes" --> 6 <title>Copyleft: Pragmatic Idealism 7 - GNU Project - Free Software Foundation</title> 8 <!--#include virtual="/philosophy/po/pragmatic.translist" --> 9 <!--#include virtual="/server/banner.html" --> 10 <!--#include virtual="/philosophy/ph-breadcrumb.html" --> 11 <!--GNUN: OUT-OF-DATE NOTICE--> 12 <!--#include virtual="/server/top-addendum.html" --> 13 <div class="article reduced-width"> 14 <h2>Copyleft: Pragmatic Idealism</h2> 15 16 <address class="byline">by <a href="https://www.stallman.org/">Richard 17 Stallman</a></address> 18 19 <p> 20 Every decision a person makes stems from the person's values and 21 goals. People can have many different goals and values; fame, profit, 22 love, survival, fun, and freedom, are just some of the goals that a 23 good person might have. When the goal is a matter of principle, we 24 call that idealism.</p> 25 26 <p> 27 My work on free software is motivated by an idealistic goal: spreading 28 freedom and cooperation. I want 29 to <a href="/philosophy/why-copyleft.html">encourage free software to 30 spread</a>, replacing proprietary software that forbids cooperation, 31 and thus make our society better.</p> 32 <p> 33 That's the basic reason why the GNU General Public License is written 34 the way it is—as a <a href="/licenses/copyleft.html"> copyleft</a>. 35 All code added to a GPL-covered program 36 must be free software, even if it is put in a separate file. I make 37 my code available for use in free software, and not for use in 38 proprietary software, in order to encourage other people who write 39 software to make it free as well. I figure that since proprietary 40 software developers use copyright to stop us from sharing, we 41 cooperators can use copyright to give other cooperators an advantage 42 of their own: they can use our code.</p> 43 <p> 44 Not everyone who uses the GNU GPL has this goal. Many years ago, a 45 friend of mine was asked to rerelease a copylefted program under 46 noncopyleft terms, and he responded more or less like this:</p> 47 <blockquote><p> 48 “Sometimes I work on free software, and 49 sometimes I work on proprietary software—but when I work on 50 proprietary software, I expect to get <em>paid</em>.” 51 </p></blockquote> 52 53 <p> 54 He was willing to share his work with a community that shares 55 software, but saw no reason to give a handout to a business making 56 products that would be off-limits to our community. His goal was 57 different from mine, but he decided that the GNU GPL was useful for 58 his goal too.</p> 59 <p> 60 If you want to accomplish something in the world, idealism is not 61 enough—you need to choose a method that works to achieve the 62 goal. In other words, you need to be “pragmatic.” Is the 63 GPL pragmatic? Let's look at its results.</p> 64 <p> 65 Consider GNU C++. Why do we have a free C++ compiler? Only because 66 the GNU GPL said it had to be free. GNU C++ was developed by an 67 industry consortium, MCC, starting from the GNU C compiler. MCC 68 normally makes its work as proprietary as can be. But they made the 69 C++ front end free software, because the GNU GPL said that was the 70 only way they could release it. The C++ front end included many new 71 files, but since they were meant to be linked with GCC, the GPL 72 did apply to them. The benefit to our community is evident.</p> 73 <p> 74 Consider GNU Objective C. NeXT initially wanted to make this front 75 end proprietary; they proposed to release it as <samp>.o</samp> files, 76 and let users link them with the rest of GCC, thinking this might be a 77 way around the GPL's requirements. But our lawyer said that this 78 would not evade the requirements, that it was not allowed. And so 79 they made the Objective C front end free software.</p> 80 <p> 81 Those examples happened years ago, but the GNU GPL continues 82 to bring us more free software.</p> 83 <p> 84 Many GNU libraries are covered by the GNU Lesser General Public 85 License, but not all. One GNU library which is covered by the 86 ordinary GNU GPL is Readline, which implements command-line editing. 87 I once found out about a nonfree program which was designed 88 to use Readline, and told the developer this was not allowed. He 89 could have taken command-line editing out of the program, but what he 90 actually did was rerelease it under the GPL. Now it is free software.</p> 91 <p> 92 The programmers who write improvements to GCC (or Emacs, or Bash, or 93 Linux, or any GPL-covered program) are often employed by companies or 94 universities. When the programmer wants to return his improvements to 95 the community, and see his code in the next release, the boss may say, 96 “Hold on there—your code belongs to us! We don't want to 97 share it; we have decided to turn your improved version into a 98 proprietary software product.”</p> 99 <p> 100 Here the GNU GPL comes to the rescue. The programmer shows the boss 101 that this proprietary software product would be copyright 102 infringement, and the boss realizes that he has only two choices: 103 release the new code as free software, or not at all. Almost always 104 he lets the programmer do as he intended all along, and the code goes 105 into the next release.</p> 106 <p> 107 The GNU GPL is not Mr. Nice Guy. It says no to some of 108 the things that people sometimes want to do. There are users who say 109 that this is a bad thing—that the GPL “excludes” 110 some proprietary software developers who “need to be brought 111 into the free software community.”</p> 112 <p> 113 But we are not excluding them from our community; they are choosing 114 not to enter. Their decision to make software proprietary is a 115 decision to stay out of our community. Being in our community means 116 joining in cooperation with us; we cannot “bring them into our 117 community” if they don't want to join.</p> 118 <p> 119 What we <em>can</em> do is offer them an inducement to join. The GNU 120 GPL is designed to make an inducement from our existing software: 121 “If you will make your software free, you can use this 122 code.” Of course, it won't win 'em all, but it wins some of the 123 time.</p> 124 <p> 125 Proprietary software development does not contribute to our community, 126 but its developers often want handouts from us. Free software users 127 can offer free software developers strokes for the 128 ego—recognition and gratitude—but it can be very tempting 129 when a business tells you, “Just let us put your package in our 130 proprietary program, and your program will be used by many thousands 131 of people!” The temptation can be powerful, but in the long run 132 we are all better off if we resist it.</p> 133 <p> 134 The temptation and pressure are harder to recognize when they come 135 indirectly, through free software organizations that have adopted a 136 policy of catering to proprietary software. The X Consortium (and its 137 successor, the Open Group) offers an example: funded by companies that 138 made proprietary software, they strived for a decade to persuade 139 programmers not to use copyleft. When the Open Group tried to 140 <a href="/philosophy/x.html">make X11R6.4 nonfree software</a>, those 141 of us who had resisted that pressure were glad that we did.</p> 142 <p> 143 In September 1998, several months after X11R6.4 was released with 144 nonfree distribution terms, the Open Group reversed its decision and 145 rereleased it under the same noncopyleft free software license that 146 was used for X11R6.3. Thank you, Open Group—but this subsequent 147 reversal does not invalidate the conclusions we draw from the fact 148 that adding the restrictions was <em>possible</em>.</p> 149 <p> 150 Pragmatically speaking, thinking about greater long-term goals will 151 strengthen your will to resist this pressure. If you focus your mind 152 on the freedom and community that you can build by staying firm, you 153 will find the strength to do it. “Stand for something, or you 154 will fall for anything.”</p> 155 <p> 156 And if cynics ridicule freedom, ridicule community…if 157 “hard-nosed realists” say that profit is the only 158 ideal…just ignore them, and use copyleft all the same.</p> 159 160 <hr class="no-display" /> 161 <div class="edu-note c"><p id="fsfs">This essay is published in 162 <a href="https://shop.fsf.org/product/free-software-free-society/"><cite>Free 163 Software, Free Society: The Selected Essays of Richard 164 M. Stallman</cite></a>.</p></div> 165 </div> 166 167 </div><!-- for id="content", starts in the include above --> 168 <!--#include virtual="/server/footer.html" --> 169 <div id="footer" role="contentinfo"> 170 <div class="unprintable"> 171 172 <p>Please send general FSF & GNU inquiries to 173 <a href="mailto:gnu@gnu.org"><gnu@gnu.org></a>. 174 There are also <a href="/contact/">other ways to contact</a> 175 the FSF. Broken links and other corrections or suggestions can be sent 176 to <a href="mailto:webmasters@gnu.org"><webmasters@gnu.org></a>.</p> 177 178 <p><!-- TRANSLATORS: Ignore the original text in this paragraph, 179 replace it with the translation of these two: 180 181 We work hard and do our best to provide accurate, good quality 182 translations. However, we are not exempt from imperfection. 183 Please send your comments and general suggestions in this regard 184 to <a href="mailto:web-translators@gnu.org"> 185 <web-translators@gnu.org></a>.</p> 186 187 <p>For information on coordinating and contributing translations of 188 our web pages, see <a 189 href="/server/standards/README.translations.html">Translations 190 README</a>. --> 191 Please see the <a 192 href="/server/standards/README.translations.html">Translations 193 README</a> for information on coordinating and contributing translations 194 of this article.</p> 195 </div> 196 197 <!-- Regarding copyright, in general, standalone pages (as opposed to 198 files generated as part of manuals) on the GNU web server should 199 be under CC BY-ND 4.0. Please do NOT change or remove this 200 without talking with the webmasters or licensing team first. 201 Please make sure the copyright date is consistent with the 202 document. For web pages, it is ok to list just the latest year the 203 document was modified, or published. 204 205 If you wish to list earlier years, that is ok too. 206 Either "2001, 2002, 2003" or "2001-2003" are ok for specifying 207 years, as long as each year in the range is in fact a copyrightable 208 year, i.e., a year in which the document was published (including 209 being publicly visible on the web or in a revision control system). 210 211 There is more detail about copyright years in the GNU Maintainers 212 Information document, www.gnu.org/prep/maintain. --> 213 214 <p>Copyright © 1998, 2021 Free Software Foundation, Inc.</p> 215 216 <p>This page is licensed under a <a rel="license" 217 href="http://creativecommons.org/licenses/by-nd/4.0/">Creative 218 Commons Attribution-NoDerivatives 4.0 International License</a>.</p> 219 220 <!--#include virtual="/server/bottom-notes.html" --> 221 222 <p class="unprintable">Updated: 223 <!-- timestamp start --> 224 $Date: 2021/08/28 13:29:46 $ 225 <!-- timestamp end --> 226 </p> 227 </div> 228 </div><!-- for class="inner", starts in the banner include --> 229 </body> 230 </html>