summaryrefslogtreecommitdiff
path: root/docs/pragmatic.md
diff options
context:
space:
mode:
authorTong Hui <tonghuix@gmail.com>2016-03-25 16:52:03 +0800
committerTong Hui <tonghuix@gmail.com>2016-03-25 16:52:03 +0800
commit5d6f7b414de4b04ddc19629ac6d1f5e5f3cb42ac (patch)
treeb7d47d7d26bf9cd76ceeae138c71d4a99c7ac662 /docs/pragmatic.md
downloadfsfs-zh-5d6f7b414de4b04ddc19629ac6d1f5e5f3cb42ac.tar.xz
first
Diffstat (limited to 'docs/pragmatic.md')
-rw-r--r--docs/pragmatic.md165
1 files changed, 165 insertions, 0 deletions
diff --git a/docs/pragmatic.md b/docs/pragmatic.md
new file mode 100644
index 0000000..b57b7ef
--- /dev/null
+++ b/docs/pragmatic.md
@@ -0,0 +1,165 @@
+---
+Generator: 'texi2html 1.82'
+description: Untitled Document
+distribution: global
+keywords: Untitled Document
+resource-type: document
+title: Untitled Document
+...
+
+1. Copyleft: Pragmatic Idealism {#copyleft-pragmatic-idealism .chapter}
+===============================
+
+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.
+
+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.[(1)](#FOOT1)
+
+@firstcopyingnotice{{@footnoterule Copyright © 1998, 2003 Free Software
+Foundation, Inc.\
+ {This version of this essay is part of @fsfsthreecite}
+
+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.
+
+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 *paid.*”
+
+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.
+
+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.
+
+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, MCC, starting from the 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.
+
+Consider GNU Objective C. NeXT initially wanted to make this front end
+proprietary; they proposed to release it as ‘`.o`’ 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.
+
+Those examples happened years ago, but the GNU GPL continues to bring us
+more free software.
+
+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
+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.
+
+The programmers who write improvements to GCC (or Emacs, or 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.”
+
+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.
+
+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.”
+
+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.
+
+What we *can* 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.
+
+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.
+
+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 X Consortium (and its
+successor, the 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
+X11R6.4 nonfree software,[(2)](#FOOT2) those of us who had resisted that
+pressure were glad that we did.
+
+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 *possible.*
+
+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.”
+
+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.
+
+<div class="footnote">
+
+------------------------------------------------------------------------
+
+### Footnotes
+
+### [(1)](#DOCF1)
+
+@raggedright See “Why Copyleft?” (@pageref{Why Copyleft}). @end
+raggedright
+
+### [(2)](#DOCF2)
+
+@raggedright For more on this, see “The X Window System Trap”
+(@pageref{X}). @end raggedright
+
+</div>
+
+------------------------------------------------------------------------
+
+This document was generated by *tonghuix* on *March 25, 2016* using
+[*texi2html 1.82*](http://www.nongnu.org/texi2html/).\