Changeset - 34ae4308af18
[Not reviewed]
0 1 0
Bradley M. Kuhn - 10 years ago 2014-02-16 19:14:07
bkuhn@fsf.org
* Wrote about GPL Section 6 and minor editing fixes

(section{GPL \S 6: GPL, My One and Only}): Wrote section.
(section{GPL \S 8: }): Moved to previous chapter.
1 file changed with 60 insertions and 30 deletions:
0 comments (0 inline, 0 general)
gpl-lgpl.tex
Show inline comments
...
 
@@ -55,28 +55,29 @@ Copyright \copyright{} 2003 \hspace{.2in} Free Software Foundation, Inc.
 

	
 
Verbatim copying and distribution of this entire document is permitted in
 
any medium, provided this notice is preserved.
 
}
 

	
 
\end{titlepage}
 

	
 
\pagestyle{plain}
 
\pagenumbering{roman}
 

	
 
\begin{abstract}
 

	
 

	
 
This tutorial gives a section-by-section explanation of the most popular
 
Free Software copyright license, the GNU General Public License (GNU GPL),
 
and teaches software developers, managers and businesspeople how to use
 
the GPL and GPL'ed software successfully in new Free Software business and
 
and teaches software developers, managers and business people how to use
 
the GPL and GPL'ed software successfully in a new Free Software business and
 
in existing, successful enterprises.
 

	
 
Attendees should have a general familiarity with software development
 
processes.  A vague understanding of how copyright law applies to software
 
is also helpful.  The tutorial is of most interest to software developers
 
and managers who run software businesses that modify and/or redistribute
 
software under terms of the GNU GPL (or who wish to do so in the future),
 
and those who wish to make use of existing GPL'ed software in their
 
enterprise.
 

	
 
This tutorial introduces the GNU GPL and its terms to professionals who
 
are not well versed in the details of copyright law.  Presented by a
...
 
@@ -189,25 +190,25 @@ Software'' to refer to non-commercial software that restricts freedom
 
commercial software that restricts freedom (such as nearly all of
 
Microsoft's and Oracle's offerings).
 

	
 
The remainder of this section considers each of the four freedoms in
 
detail.
 

	
 
\subsection{The Freedom to Run}
 

	
 
For a program to be Free Software, the freedom to run the program must be
 
completely unrestricted.  This means that any use for that software that
 
the user can come up with must be permitted.  Perhaps, for example, the
 
user has discovered an innovative new use for a particular program, one
 
that the programmer never could have predicted.  Such a use much not be
 
that the programmer never could have predicted.  Such a use must not be
 
restricted.
 

	
 
It was once rare that this freedom was restricted by even proprietary
 
software; today it is not so rare.  Most End User Licensing Agreements
 
(EULAs) that cover most proprietary software restrict some types of use.
 
For example, some versions of Microsoft's FrontPage software prohibit use
 
of the software to create websites that generate negative publicity for
 
Microsoft.  Free Software has no such restrictions; everyone is free to
 
use Free Software for any purpose whatsoever.
 

	
 
\subsection{The Freedom to Change and Modify}
 

	
...
 
@@ -216,25 +217,25 @@ software to suit their needs.  Access to the source code and related build
 
scripts are an essential part of this freedom.  Without the source code
 
and the ability to build the binary applications from that source, the
 
freedom cannot be properly exercised.
 

	
 
Programmers can take direct benefit from this freedom, and often do.
 
However, this freedom is essential to users who are not programmers.
 
Users must have the right to engage in a non-commercial environment of
 
finding help with the software (as often happens on email lists and in
 
users groups).  This means they must have the freedom to recruit
 
programmers who might altruistically assist them to modify their software.
 

	
 
The commercial exercise of this freedom is also essential.  Each user, or
 
group of users, must have the right to hire anyone they wish on a
 
group of users, must have the right to hire anyone they wish in a
 
competitive free market to modify and change the software.  This means
 
that companies have a right to hire anyone they wish to modify their Free
 
Software.  Additionally, such companies may contract with other companies
 
to commission software modification.
 

	
 
\subsection{The Freedom to Copy and Share}
 

	
 
Users may share Free Software in a variety of ways.  Free Software
 
advocates work to eliminate fundamental ethical dilemma of the software
 
age: choosing between obeying a software license, and friendship (by
 
giving away a copy of a program your friend who likes the software you are
 
using).  Free Software licenses, therefore, must permit this sort of
...
 
@@ -305,25 +306,25 @@ section discusses how Free Software comes into existence.  But first, it
 
addresses how software can be non-free in the first place.
 

	
 
Software can be made proprietary only because it is governed by copyright
 
law\footnote{This statement is a bit of an oversimplification.  Patents
 
  and trade secrets can cover software and make it effectively non-free,
 
  and one can contract away their rights and freedoms regarding software.
 
  However, the primary control mechanism for software is copyright.}.
 
Copyright law, with respect to software governs copying, modifying, and
 
redistributing that software\footnote{Copyright law in general also
 
  governs ``public performance'' of copyrighted works.  There is no
 
  generally agreed definition for public performance of software and
 
  version 2 of the GPL does not govern public performance.}.  By law, the
 
copyright holder (aka the author) of the work controls how others my copy,
 
copyright holder (aka the author) of the work controls how others may copy,
 
modify and/or distribute the work.  For proprietary software, these
 
controls are used to prohibit these activities.  In addition, proprietary
 
software distributors further impede modification in a practical sense by
 
distributing only binary code and keeping the source code of the software
 
secret.
 

	
 
Copyright law is a construction.  In the USA, the Constitution permits,
 
but does not require, the creation of copyright law as federal
 
legislation.  Software, since it is tangible expression of an idea, is
 
thus covered by the statues, and is copyrighted by default.
 

	
 
However, software, in its natural state without copyright, is Free
...
 
@@ -356,24 +357,25 @@ copyright laws.  Once this is done, the software is in the public domain
 
allows for various controls on software (i.e., prohibition of copying,
 
modification, and redistribution), removing the software from the
 
copyright system and placing it into the public domain does yield Free
 
Software.
 

	
 
Carefully note that software in the public domain is \emph{not} licensed
 
in any way.  It is nonsensical to say software is ``licensed for the
 
public domain'', or any phrase that implies the copyright holder gave an
 
expressed permission to take actions governed by copyright law.
 

	
 
By contrast, what the copyright holder has done is renounce her copyright
 
controls on the work.  The law gave her controls over the work, and she
 
%should the ``she'' be a ``(s)he'' ?
 
has chosen to waive those controls.  Software in the public domain is
 
absent copyright and absent a license.  The software freedoms discussed in
 
Section~\ref{Free Software Definition} are all granted because there is no
 
legal system in play to take them away.
 

	
 
\subsection{Why Copyright Free Software?}
 

	
 
If simply disclaiming copyright on software yields Free Software, then it
 
stands to reason that putting software into the public domain is the
 
easiest and most straightforward way to produce Free Software.  Indeed,
 
some major Free Software projects have chosen this method for making their
 
software Free.  However, most of the Free Software in existence \emph{is}
...
 
@@ -392,25 +394,25 @@ proprietarize their modified versions.  The public domain body of software
 
feeds the proprietary software.  The public commons disappears, because
 
fewer and fewer entities have an incentive to contribute back to the
 
commons, since they know that any of their competitors can proprietarize
 
their enhancements.  Over time, almost no interesting work is left in the
 
public domain, because nearly all new work is done by proprietarization.
 

	
 
A legal mechanism is needed to redress this problem.  FSF was in fact
 
originally created primarily as a legal entity to defend software freedom,
 
and that work of of defending software freedom is a substantial part of
 
its work today.  Specifically because of this ``embrace, proprietarize and
 
extend'' cycle, FSF made a conscious choice to copyright its Free Software,
 
and then license it under ``copyleft'' terms, and many, including the
 
developers of the kernel named Linux has chosen to follow this paradigm.
 
developers of the kernel named Linux have chosen to follow this paradigm.
 

	
 
Copyleft is a legal strategy to defend, uphold and propagate software
 
freedom.  The basic technique of copyleft is as follows: copyright the
 
software, license it under terms that give all the software freedoms, but
 
use the copyright law controls to ensure that all who receive a copy of
 
the software have equal rights and freedom.  In essence, copyleft grants
 
freedom, but forbids others to forbid that freedom from anyone else along
 
the distribution and modification chains.
 

	
 
Copyleft is a general concept.  Much like ideas for what a computer might
 
do must be \emph{implemented} by a program that actually does the job, so
 
too must copyleft be implemented in some concrete legal structure.
...
 
@@ -473,25 +475,25 @@ that because of the nature of the GPL that improvements that were
 
distributed in the commercial environment could easily be folded back into
 
the canonical version.  Companies are not permitted to proprietarize
 
Samba, so the non-commercial users, and even other commercial users are
 
safe in the knowledge that the software freedom ensured by GPL will remain
 
protected.
 

	
 
Commercial developers also work in concert with non-commercial developers.
 
Those two now-long-since graduated students continue to contribute to
 
Samba altruistically, but also get work doing it.  Priorities change when a
 
client is in the mix, but all the code is contributed back to the
 
canonical version.  Meanwhile, many other individuals have gotten involved
 
non-commercially as developers, because they want to ``cut their teeth on
 
Free Software'' or because the problem interest them.  When they get good
 
Free Software'' or because the problems interest them.  When they get good
 
at it, perhaps they will move on to another project or perhaps they will
 
become commercial developers of the software themselves.
 

	
 
No party is a threat to another in the GPL software scenario because
 
everyone is on equal ground.  The GPL protects rights of the commercial
 
and non-commercial contributors and users equally.  The GPL creates trust,
 
because it is a level playing field for all.
 

	
 
\subsection{Law Analogy}
 

	
 
In his introduction to Stallman's \emph{Free Software, Free Society},
 
Lawrence Lessig draws an interesting analogy between the law and Free
...
 
@@ -556,25 +558,25 @@ 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.\footnote{This quotation is Copyright
 
  \copyright{} 2002, Lawrence Lessig.  It is licensed under the terms of
 
  \href{http://creativecommons.org/licenses/by/1.0/}{the ``Attribution
 
    License'', version 1.0} or any later version as published by Creative
 
  Commons.}
 
\end{quotation}
 

	
 
In essence, lawyers are paid to service the shared commons of legal
 
infrastructure.  Few defend themselves in court or write their own briefs
 
(even though they legally permitted to do so) because everyone would
 
(even though they are legally permitted to do so) because everyone would
 
prefer to have an expert do that job.
 

	
 
The Free Software economy is a market that is ripe for experts.  It
 
functions similarly to other well established professional fields like the
 
law.  The GPL, in turn, serves as the legal scaffolding that permits the
 
creation of this vibrant commercial and non-commercial Free Software
 
economy.
 

	
 
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 
\chapter{Copying, Modifying and Redistributing}
 

	
 
This chapter begins the deep discussion of the details of the terms of
...
 
@@ -619,25 +621,25 @@ novel for the purpose of learning how to be a better programmer.
 
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:
 
\begin{quote}
 
The act of running the Program is not restricted
 
\end{quote}
 
Thus, users are explicitly given the freedom to run by \S 0.
 

	
 
\medskip
 

	
 
The bulk of \S 0 not yet discussed gives definitions for other terms used
 
throughout.  The only one worth discussing in detail is ``work based on
 
the Program''.  The reason this definition is particular interesting is
 
the Program''.  The reason this definition is particularly interesting is
 
not for the definition itself, which is rather straightforward, but the
 
because it clears up a common misconception about the GPL\@.
 

	
 
The GPL is often mistakenly criticized because it fails to give a
 
definition of ``derivative work''.  In fact, it would be incorrect and
 
problematic if the GPL attempt to define this.  A copyright license, in
 
fact, has no control over what may or may not be a derivative work.  This
 
matter is left up to copyright law, not the licenses that utilize it.
 

	
 
It is certainly true that copyright law as a whole does not propose clear
 
and straightforward guidelines for what is and is not a derivative
 
software work under copyright law.  However, no copyright license --- not
...
 
@@ -673,31 +675,31 @@ proposed state-level UCITA bills (which have never obtained widespread
 
adoption), there are little or no implied warranties with software.
 
However, just to be on the safe side, GPL clearly disclaims them, and the
 
GPL requires redistributors to keep the disclaimer very visible.  (See
 
Sections~\ref{GPLs11} and~\ref{GPLs12} of this tutorial for more on GPL's
 
warranty disclaimers.)
 

	
 
Note finally that \S 1 begins to set forth the important defense of
 
commercial freedom.  \S 1 clearly states that in the case of verbatim
 
copies, one may make money.  Redistributors are fully permitted to charge
 
for the redistribution of copies of Free Software.  In addition, they may
 
provide the warranty protection that the GPL disclaims as an additional
 
service for a fee.  (See Section~\ref{Business Models} for more discussion
 
on making profit from Free Software redistribution.)
 
on making a profit from Free Software redistribution.)
 

	
 
\section{GPL \S 2: Share and Share Alike}
 

	
 
Many consider \S 2 the heart and soul of the GPL\@.  For many, this is
 
where the ``magic'' happens that defends software freedom along the
 
distribution chain.  I certainly agree that if GPL has a soul, this is
 
distribution chain.  I certainly agree that if the GPL has a soul, this is
 
where it is.  However, I argue that the heart is in fact contained in \SS
 
4--5 (see Section~\ref{GPLs4} and~\ref{GPLs5} of this tutorial).  But, for
 
the moment, let us consider the soul.
 

	
 
\S 2 gives the only permission in the GPL that governs the modification
 
controls of copyright law.  If someone modifies a GPL'ed program, she is
 
bound in the making those changes by \S 2.  The goal here is to ensure
 
that the body of GPL'ed software, as it continues and develops, remains
 
Free as in freedom.
 

	
 
To achieve that goal, \S 2 first sets forth that the rights of
 
redistribution modified versions are the same as those for verbatim
...
 
@@ -725,25 +727,25 @@ the legal details of ``share and share alike''.  These 46 words are
 
considered by some to be the most worthy of careful scrutiny.  It is worth
 
the effort to carefully understand what each clause is saying, because \S
 
2(b) can be a source of great confusion when not properly understood.
 

	
 
In considering \S 2(b), first note the qualifier: it only applies to
 
derivative works that ``you distribute or publish''.  Despite years of
 
education efforts by FSF on this matter, many still believe that modifiers
 
of GPL'ed software are required by the license to publish or otherwise
 
share their changes.  On the contrary, \S 2(b) {\bf does not apply if} the
 
changes are never distributed.  Indeed, the freedom to make private,
 
personal changes to software that are not shared should be protected and
 
defended\footnote{FSF does maintain that there is an {\bf ethical}
 
  obligation to redistributor changes that are generally useful, and often
 
  obligation to redistribute changes that are generally useful, and often
 
  encourages companies and individuals to do so.  However, there is a
 
  clear distinction between what one {\bf ought} to do and what one {\bf
 
    must} do.}.
 

	
 
Next, we again encounter the same matter that appears in \S 0, in the
 
following text:
 
\begin{quote}
 
... that in whole or part contains or is derived from the Program or any
 
  part thereof,
 
\end{quote}
 
Again, the GPL relies here on what the copyright law says is a derivative
 
work.  If, under copyright law, the modified version ``contains or is
...
 
@@ -851,57 +853,57 @@ must be expended by a programmer to cause a work to fall under the terms
 
of the GPL.  Redistributors are always welcome to simply ship GPL'ed
 
software alongside proprietary software or other unrelated Free Software,
 
as long as the terms of GPL are adhered to for those packages that are
 
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
 
reader as words in some human-readable langauge so that they can enjoy the
 
work.  A film, even one directed by David Lynch, must be perceptable by
 
human eyes and ears to have any value.
 

	
 
Software is not so.  While the source code, the human-readable
 
Software is not so.  While the source code, the human-readible
 
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 producible and attainable for the software to
 
human-readible form.  Binary code --- the ones and zeros that the computer
 
can understand --- must be producable and attainable for the software to
 
be fully useful.  Without the binaries, be they in object or executable
 
form, the software serves only the didactic purposes of computer science.
 
form, the software serves only the diadactic purposes of computer science.
 

	
 
Under copyright law, binary representations of the software are simply
 
derivative works of the source code.  Applying a systematic process (i.e.,
 
``compilation'') to a work of source code yields binary code.  The binary
 
``compilation'') to a work of source code yeilds binary code.  The binary
 
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.
 

	
 
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
 
changes to a software program at the binary level is effectively
 
changes to a software program at the binary level is effecitvely
 
impossible.  \S 3 must ensure that the binaries are never distributed
 
without the source code, so that these freedoms are ensured to be passed
 
along the distribution chain.
 

	
 
\S 3 permits distribution of binaries, and then offers three options for
 
distribution of source code along with binaries.  The most common and the
 
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
...
 
@@ -1150,39 +1152,67 @@ An interesting side benefit to \S 5 is that the bulk of users of Free
 
Software are not required to accept the license.  Undertaking fair and
 
unregulated use of the work, for example, does not bind you to the GPL,
 
since you are not engaging in activity that is otherwise controlled by
 
copyright law.  Only when you engage in those activities that might have an
 
impact on the freedom of others does license acceptance occur and the
 
terms begin to bind you to fair and equitable sharing of the software.  In
 
other words, the GPL only kicks in when it needs to for the sake of
 
freedom.
 

	
 
\section{GPL \S 6: GPL, My One and Only}
 
\label{GPLs6}
 

	
 
Under copyright law, the GPL has granted various rights and freedoms to
 
the licensee to perform acts of copying, modification, and redistribution
 
that would otherwise have been prohibited by default.  Since, barring
 
special permission from the copyright holder, the GPL is a licensee's one
 
and only license to the software (thanks to \S 6),
 

	
 
\section{GPL \S 7: ``Give My Software Liberty of Give It Death!''}
 
A point that was glossed over in Section~\ref{GPLs4}'s discussion of \S 4
 
was the irrevocable nature of the GPL\@.  The GPL is indeed irrevocable,
 
and it is made so formally \S 6.
 

	
 
The first sentence in \S 6 ensures that as software propagates down the
 
distribution chain, that each licensor can pass along the license to each
 
new licensee.  Under \S 6, the act of distributing automatically grants a
 
license from the original licensor to the next recipient.  This creates a
 
chain of grants that ensure that everyone in the distribution has rights
 
under the GPL\@.  In a mathematical sense, this bounds the bottom ---
 
making sure that future licensees get no fewer rights than than the
 
licensee before.
 

	
 
The second sentence of \S 6 does the opposite; it bounds from the top.  It
 
prohibits any licensor along the distribution chain from placing
 
additional restrictions on the user.  In other words, no additional
 
requirements may trump the rights and freedoms given by GPL\@.
 

	
 
The final sentence of \S 6 makes it abundantly clear that no individual
 
entity in the distribution chain is responsible for the compliance of any
 
other.  This is particularly important for non-commercial users who have
 
passed along a source offer under \S 3(c), as they cannot be assured that
 
the issuer of the offer will honor their \S 3 obligations.
 

	
 
In short, \S 6 says that your license for the software is your one and
 
only copyright license allowing you to copy, modify and distribute the
 
software.
 

	
 
\section{GPL \S 7: ``Give Software Liberty of Give It Death!''}
 
\label{GPLs7}
 

	
 
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 
\chapter{Odds, Ends, and Absolutely No Warranty}
 
In essence, \S 7 is a verbosely worded way of saying for non-copyright
 
systems what \S 6 says for copyright.  If there exists any reason that a
 
distributor knows of that would prohibit those who would later receive
 
the software from the distribution
 

	
 
\section{GPL \S 8}
 
\section{GPL \S 8: Finding Freedonia}
 
\label{GPLs8}
 

	
 

	
 
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 
\chapter{Odds, Ends, and Absolutely No Warranty}
 

	
 
\section{GPL \S 9}
 
\label{GPLs9}
 

	
 
\section{GPL \S 10}
 
\label{GPLs10}
 

	
 
\section{GPL \S 11}
 
\label{GPLs11}
 

	
 
There was a case where the disclaimer of a contract was negated because it
 
was not "conspicuous" to the person entering into the contract.  Therefore,
 
to make such language "conspicuous" people started placing it in bold or caps it.  My question
0 comments (0 inline, 0 general)