Changeset - 8f43acf55239
[Not reviewed]
0 3 0
Bradley M. Kuhn - 21 years ago 2003-05-29 22:29:43
bkuhn@fsf.org
* Maded changes based on feedback from novalis
3 files changed with 57 insertions and 61 deletions:
0 comments (0 inline, 0 general)
GPL-Business/ChangeLog
Show inline comments
...
 
@@ -16,12 +16,13 @@
 
	(section{GPL \S 8: Excluding Unfreedonia}): Wrote section.
 
	Maded changes based on novalis' feedback.
 
	(chapter{Odds, Ends, and Absolutely No Warranty}): Wrote chapter.
 
	(section{GPL \S 3: Producing Binaries}): Fixed typo.
 
	(chapter{Integrating the GPL into Business Practices}): Wrote
 
	chapter.
 
	Made changes based on novalis' additional feedback.
 

	
 
2003-05-28  Bradley M. Kuhn  <bkuhn@fsf.org>
 

	
 
	* gpl-business.tex (section{An Ecosystem of Equality}): Started
 
	section.
 
	(subsection{The Non-Commercial Ecosystem}): Wrote subsection.
GPL-Business/gpl-business.kpr
Show inline comments
 
binary diff not shown
GPL-Business/gpl-business.tex
Show inline comments
...
 
@@ -611,19 +611,21 @@ users' rights to ``fair use'' and ``unregulated use'' of copyrighted
 
material.  GPL asserts through this clause that it supports users' rights
 
to fair and unregulated uses.
 

	
 
Fair use of copyrighted material is an established legal doctrine that
 
permits certain activities.  Discussion of the various types of fair use
 
activity are beyond the scope of this tutorial.  However, one important
 
example of fair use is the right to reverse engineering software.
 
example of fair use is the right to quote a very few lines (less than
 
seven or so), and reuse them as you with without licensing restrictions.
 

	
 
Fair use is a doctrine established by the courts or by statute.  By
 
contrast, unregulated uses are those that are not covered by the statue
 
nor determined by a court to be covered, but are common and enjoyed by
 
many users.  An example of unregulated use is reading a program like a
 
novel for the purpose of learning how to be a better programmer.
 
many users.  An example of unregulated use is reading a printout of the
 
programs source code like an instruction book for the purpose of learning
 
how to be a better programmer.
 

	
 
\medskip
 

	
 
Thus, the GPL protects users fair and unregulated use rights precisely by
 
not attempting to cover them.  Furthermore, the GPL ensures the freedom
 
to run specifically by stating the following:
...
 
@@ -859,16 +861,17 @@ truly GPL'ed.
 
\section{GPL \S 3: Producing Binaries}
 

	
 
% FIXME: need name of a novelist who writes very obscurely and obliquely.
 

	
 
Software is a strange beast when compared to other copyrightable works.
 
It is currently impossible to make a film or a book that can be truly
 
obscured.  Ultimately, the full text of a novel must presented to the
 
reader as words in some human-readable language so that they can enjoy the
 
work.  A film, even one directed by David Lynch, must be perceptible by
 
human eyes and ears to have any value.
 
obscured.  Ultimately, the full text of a novel, even one written by
 
Donald Barthelme, must presented to the reader as words in some
 
human-readable language so that they can enjoy the work.  A film, even one
 
directed by David Lynch, must be perceptible by human eyes and ears to
 
have any value.
 

	
 
Software is not so.  While the source code, the human-readable
 
representation of software is of keen interest to programmers, users and
 
programmers alike cannot make the proper use of software in that
 
human-readable form.  Binary code --- the ones and zeros that the computer
 
can understand --- must be predicable and attainable for the software to
...
 
@@ -881,17 +884,17 @@ derivative works of the source code.  Applying a systematic process (i.e.,
 
code is now a new work of expression fixed in the tangible medium of
 
electronic file storage.
 

	
 
Therefore, for GPL'ed software to be useful, the GPL, since it governs the
 
rules for creation of derivative works, must grant permission for the
 
generation of binaries.  Furthermore, notwithstanding the relative
 
popularity of source-based GNU/Linux distributions like ``Gentoo'', users
 
find it extremely convenient to receive distribution of binary software.
 
Such distribution is the redistribution of derivative works of the
 
software's source code.  \S 3 addresses the matter of creation and
 
distribution of binary versions.
 
popularity of source-based GNU/Linux distributions like Gentoo, users find
 
it extremely convenient to receive distribution of binary software.  Such
 
distribution is the redistribution of derivative works of the software's
 
source code.  \S 3 addresses the matter of creation and distribution of
 
binary versions.
 

	
 
Under \S 3, binary versions may be created and distributed under the terms
 
of \S\S 1--2, so all the material previously discussed applies here.
 
However, \S 3 must go a bit further.  Access to the software's source code
 
is an incontestable prerequisite for the exercise of the fundamental
 
freedoms to modify and improve the software.  Making even the most trivial
...
 
@@ -907,38 +910,38 @@ least complicated is the option given under \S 3(a).
 
\S 3(a) offers the option to directly accompany the source code alongside
 
the distribution of the binaries.  This is by far the most convenient
 
option for most distributors, because it means that the source-code
 
provision obligations are fully completed at the time of binary
 
distribution (more on that later).
 

	
 
Under \S 3(a), the source code code provided must be the ``corresponding
 
source code''.  Here ``corresponding'' primarily means that the source
 
code provided must be that code used to produce the binaries being
 
distributed.  That source code must also be ``complete''.  A later
 
paragraph of \S 3 explains in detail what is meant by ``complete''.  In
 
essence, it is all the material that a programmer of average skill would
 
need to actually use the source code to produce the binaries she has
 
received.  Complete source is required so that, if the licensee choses,
 
she should be able to exercise her freedoms to modify and redistribute
 
changes.  Without the complete source, it would not be possible to make
 
changes that were actually directly derived from the version received.
 
Under \S 3(a), the source code provided must be the ``corresponding source
 
code''.  Here ``corresponding'' primarily means that the source code
 
provided must be that code used to produce the binaries being distributed.
 
That source code must also be ``complete''.  A later paragraph of \S 3
 
explains in detail what is meant by ``complete''.  In essence, it is all
 
the material that a programmer of average skill would need to actually use
 
the source code to produce the binaries she has received.  Complete source
 
is required so that, if the licensee chooses, she should be able to
 
exercise her freedoms to modify and redistribute changes.  Without the
 
complete source, it would not be possible to make changes that were
 
actually directly derived from the version received.
 

	
 
Furthermore, \S 3 is defending against a tactic that has in fact been seen
 
in FSF's GPL enforcement.  Under GPL, if you pay a high price for a copy
 
of GPL'ed binaries (which comes with corresponding source, of course), you
 
have the freedom to redistribute that work at any fee you choose, or not
 
at all.  Sometimes, companies attempt to build a racket by producing very
 
specialized binaries (perhaps for an obscure architecture), and then
 
giving source code that does correspond, but not giving the
 
``incantations'' and build plans they used to make that source compile
 
into the specialized binaries.  Therefore, \S 3 that the source code
 
include ``meta-material'' like scripts, interface definitions, and other
 
material that is used to ``control compilation and installation'' of the
 
binaries.  In this manner, those further down the distribution chain are
 
assured that they have the unabated freedom to build their own derivative
 
works from the sources provided.
 
at all.  Sometimes, companies attempt a GPL-violating cozenage whereby
 
they produce very specialized binaries (perhaps for an obscure
 
architecture), and then giving source code that does correspond, but not
 
giving the ``incantations'' and build plans they used to make that source
 
compile into the specialized binaries.  Therefore, \S 3 that the source
 
code include ``meta-material'' like scripts, interface definitions, and
 
other material that is used to ``control compilation and installation'' of
 
the binaries.  In this manner, those further down the distribution chain
 
are assured that they have the unabated freedom to build their own
 
derivative works from the sources provided.
 

	
 
FSF (as authors of GPL) realizes that software distribution comes in many
 
forms.  Embedded manufacturers, for example, have the freedom to put
 
GPL'ed software into their PDAs with very tight memory and space
 
constraints.  In such cases, putting the source right alongside the
 
binaries on the machine itself might not be an option.  While it is
...
 
@@ -948,14 +951,14 @@ GPL does provide options when such distribution is infeasible.
 
\S 3, therefore, allows source code to be provided on any physical
 
``medium customarily used for software interchange''.  By design, this
 
phrase covers a broad spectrum.  At best, FSF can viably release a new GPL
 
every ten years or so.  Thus, phrases like this must be adaptive to
 
changes in the technology.  When GPL version 2 was first published in June
 
1991, distribution on magnetic tape was still common, and CD was
 
relatively new.  Today, CD is the default, and for larger systems DVD-ROM
 
is gaining adoption.  This language must adapt with changing technology.
 
relatively new.  Today, CD is the default, and for larger systems DVD-R is
 
gaining adoption.  This language must adapt with changing technology.
 

	
 
Meanwhile, the binding created by the word ``customarily'' is key.  Many
 
incorrectly believe that distributing binary on CD and source on the
 
Internet is acceptable.  In the corporate world, it is indeed customary to
 
simply download CDs worth of data over a T1 or email large file
 
attachments.  However, even today in the USA, many computer users with
...
 
@@ -1014,19 +1017,20 @@ and an offer for source to only one customer.  However, under GPL, that
 
customer has the right to redistribute that software to the world if she
 
likes.  When she does, that customer has an obligation to make sure that
 
those who receive the software from her can exercise their freedoms under
 
GPL --- including the freedom to modify, rebuild, and redistribute the
 
source code.
 

	
 
This is where \S 3(c) comes into play.  Ultimately, \S 3(b) is a big
 
compromise.  It separates the binary software from the key tool that
 
people can use to exercise their freedom.  The GPL permits this separation
 
because it is good for redistributors, and those users who turn out not to
 
need the source.  However, to ensure equal rights for all software users,
 
anyone along the distribution chain must have the right to get the source
 
and exercise those freedoms that require it.
 
\S 3(c) is created to save her some trouble, because by itself \S 3(b)
 
would unfairly favor large companies.  compromise.  \S 3(b) allows the
 
separation of the binary software from the key tool that people can use
 
to exercise their freedom.  The GPL permits this separation because it is
 
good for redistributors, and those users who turn out not to need the
 
source.  However, to ensure equal rights for all software users, anyone
 
along the distribution chain must have the right to get the source and
 
exercise those freedoms that require it.
 

	
 
Meanwhile, \S 3(b)'s compromise primarily benefits companies who
 
distribute binary software commercially.  Without \S 3(c), that benefit
 
would be at the detriment of the companies' customers; the burden of
 
source code provision would be unfairly shifted to the companies'
 
customers.  A customer, who had received binaries with a \S 3(b)-compliant
...
 
@@ -1063,34 +1067,30 @@ components of other entirely separate legal systems.  In short, while \S\S
 
programmers, \S\S 4--7 are the parts of the license that keep the playing
 
field clear so that \S\S 0--3 can do their jobs.
 

	
 
\section{GPL \S 4: Termination on Violation}
 
\label{GPLs4}
 

	
 
\S 4--5 are, in my opinion, the heart of the GPL\@. \S\S 0--3 are
 
important in their efforts to set forth in clear legal language the
 
doctrine of copyleft.  However, \S 4--5 are the glue that holds \S\S 0--3
 
together.
 

	
 
\S 4 is GPL's termination clause.  Upon first examination, it seems
 
strange for a license that has the goal of defending users and programmers
 
freedoms for perpetuity in an irrevocable way would have such a clause.
 
However, upon further examination, the difference between irrevocability
 
and this termination clause becomes clear.
 

	
 
The GPL is irrevocable in the sense that once a copyright holder grants
 
rights for someone to copy, modify and redistribute the software under
 
terms of the GPL, they cannot later revoke that grant.  Since the GPL has
 
no provision allowing the copyright holder to take such a prerogative, the
 
license is granted as long as the copyright remains in effect\footnote{In
 
  the USA< due to unfortunate legislation, this is nearly perpetual, even
 
  though the Constitution forbids it.}.  The copyright holder has the
 
right to relicense the same work under different licenses (see
 
Section~\ref{Proprietary Relicensing} of this tutorial), or to stop
 
distributing the GPL'ed version (assuming \S 3(b) was never used), but the
 
she may not revoke the rights under GPL already granted.
 
  the USA, due to unfortunate legislation, the length of copyright is
 
  nearly perpetual, even though the Constitution forbids perpetual
 
  copyright.}.  The copyright holder has the right to relicense the same
 
work under different licenses (see Section~\ref{Proprietary Relicensing}
 
of this tutorial), or to stop distributing the GPL'ed version (assuming \S
 
3(b) was never used), but the she may not revoke the rights under GPL
 
already granted.
 

	
 
In fact, when an entity looses their right to copy, modify and distribute
 
GPL'ed software, it is because of their \emph{own actions}, not that of
 
the copyright holder.  The copyright holder does not decided when \S 4
 
termination occurs (if ever), the actions of the licensee does.
 

	
...
 
@@ -1261,26 +1261,21 @@ copyright law.  Namely, the copyright holder of a particular software
 
program has the prerogative to grant alternative agreements under separate
 
copyright licenses.
 

	
 
\section{GPL \S 11: No Warranty}
 
\label{GPLs11}
 

	
 
With \S 11, the boilerplate language of all copyright licenses begins.
 
Sometimes, companies are concerned that there is no default warranty on
 
GPL'ed software.  However, nearly all proprietary software licensing
 
agreements disclaim warranty as well.
 

	
 
All warranty disclaimer language tends to be shouted in all capital
 
letters.  Apparently, there was once a case where the disclaimer language
 
of an agreement was negated because it was not ``conspicuous'' to one of
 
the parties.  Therefore, to make such language ``conspicuous'', people
 
started placing it in bold or capitalizing the entire text.  It now seems
 
to be voodoo tradition of warranty disclaimer writing.
 

	
 
Finally, one important point to remember when reading \S 11 is that \S 1
 
permits the sale of warranty as an additional service, which  \S 11
 
permits the sale of warranty as an additional service, which \S 11
 
affirms.
 

	
 
\section{GPL, \S 12: Limitation of Liability}
 
\label{GPLs12}
 

	
 
There are many types of warranties, and in some jurisdictions some of them
...
 
@@ -1398,24 +1393,24 @@ complying with the GPL from a users' perspective gives substantially fewer
 
headaches than proprietary license compliance.
 

	
 
For those who go into the business of distributing or distributing
 
modified versions of GPL'ed software, the burden is a bit higher, but not
 
by much.  The glib answer that is that it is always easy to comply with
 
the GPL by releasing the whole product as Free Software.  However,
 
admittedly to the chagrin of FSF, many modern and complex software systems
 
admittedly to the dismay of FSF, many modern and complex software systems
 
are built using both proprietary and GPL'ed components that are not
 
legally derivative works of each other.  Usually, in product development
 
with Free Software tools, sometimes it is easier simply to improve
 
existing GPL'ed application than to start from scratch.  In exchange for
 
that benefit, the license requires that the modifier give back to the
 
commons that made the work easier.  It is a reasonable trade-off, and it
 
is a way to help build a better world while also making a profit.
 

	
 
Note that FSF does provide services to assist companies who need
 
assistance in complying with the GPL.  You can contact FSF's GPL
 
Compliance Labs at <compliance@fsf.org>.
 
Compliance Labs at $<$compliance@fsf.org$>$.
 

	
 
\appendix
 

	
 
\chapter{The GNU General Public License}
 

	
 
\begin{center}
0 comments (0 inline, 0 general)