Changeset - fcd203294aee
[Not reviewed]
0 1 0
Bradley M. Kuhn - 10 years ago 2014-02-16 19:20:39
bkuhn@fsf.org
* As submitted to OSCON 2003
1 file changed with 21 insertions and 20 deletions:
0 comments (0 inline, 0 general)
gpl-lgpl.tex
Show inline comments
...
 
@@ -125,27 +125,27 @@ world of Free Software.  The GPL was not created from a void, rather,
 
it was created to embody and defend a set of principles that were set
 
forth at the founding of the GNU project and the Free Software Foundation
 
(FSF)---the organization that upholds, defends and promotes the philosophy
 
of software freedom.  A prerequisite for understanding the GPL and its
 
terms and conditions is a basic understanding of the principles behind it.
 
The GPL is unlike almost all other software licenses in that it is
 
designed to defend and uphold these principles.
 

	
 
\section{The Free Software Definition}
 
\label{Free Software Definition}
 

	
 
The Free Software Definition is set forth in full on FSF's website at
 
\href{http://www.fsf.org/philosophy/free-sw.html}{http://www.fsf.org/philosophy/free-sw.html}.
 
This section presents an abbreviated version that will focus on the parts
 
that are most pertinent to the terms of the GPL\@.
 
\verb0http://www.fsf.org/0 \verb0philosophy/free-sw.html0.  This section
 
presents an abbreviated version that will focus on the parts that are most
 
pertinent to the terms of the GPL\@.
 

	
 
A particular program is Free Software if it grants a particular user of
 
that program, the following freedoms:
 

	
 
\begin{itemize}
 

	
 
\item the freedom to run the program for any purpose.
 

	
 
\item the freedom to change and modify the program.
 

	
 
\item the freedom to copy and share the program.
 

	
...
 
@@ -156,26 +156,25 @@ that program, the following freedoms:
 
The focus on ``a particular user'' is very pertinent here.  It is not
 
uncommon for the same version of a specific program to grant these
 
freedoms to some subset of its user base, while others have none or only
 
some of these freedoms.  Section~\ref{Proprietary Relicensing} talks in
 
detail about how this can happen even if a program is released under the
 
GPL\@.
 

	
 
Some people refer to software that gives these freedoms as ``Open
 
Source''.  Besides having a different political focus than those who call
 
it Free Software\footnote{The political differences between the Free
 
Software Movement and the Open Source Movement are documented on FSF's
 
website at
 
\href{http://www.fsf.org/philosophy/free-software-for-freedom.html}
 
{http://www.gnu.org/philosophy/free-software-for-freedom.html}.},
 
{\tt http://www.fsf.org/philosophy/free-software-for-freedom.html}},
 
those who call the software ``Open Source'' are focused on a side issue.
 
User access to the source code of a program is a prerequisite to make use
 
of the freedom to modify.  However, the important issue is what freedoms
 
are granted in the license of that source code.  Microsoft's ``Shared
 
Source'' program, for example, gives various types of access to source
 
code, but almost none of the freedoms described in this section.
 

	
 
One key issue that is central to these freedoms is that there are no
 
restrictions on how these freedoms can be exercised.  Specifically, users
 
and programmers can exercise these freedoms non-commercially or
 
commercially.  Licenses that grant these freedoms for non-commercial
 
activities but prohibit them for commercial activities are considered
...
 
@@ -227,25 +226,25 @@ When they find such help, 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 for users.  Each
 
user, or 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
 
advocates work to eliminate a 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
 
altruistic sharing of software among friends.
 

	
 
The commercial environment must also have the benefits of this freedom.
 
Commercial sharing typically takes the form of selling copies of Free
 
Software.  Free Software can be sold at any price to anyone.  Those who
 
redistribute Free Software commercially have the freedom to selectively
 
distribute (you can pick your customers) and to set prices at any level
 
the redistributor sees fit.
 

	
...
 
@@ -308,25 +307,25 @@ that serves that sub-community.
 
The last section set forth the freedoms and rights are respected by Free
 
Software.  It presupposed, however, that such software exists.  This
 
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,
 
  one can contract away their rights and freedoms regarding software, or
 
  source code can be practically obscured in binary-only distribution
 
  without reliance on any legal system.  However, the primary control
 
  mechanism for software is copyright.}.  Copyright law, with respect to
 
software governs copying, modifying, and redistributing that
 
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 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
...
 
@@ -359,25 +358,25 @@ the software world, this usually means typing the source code of the
 
software into a file.
 

	
 
However, an author can disclaim that default control given to her by the
 
copyright laws.  Once this is done, the software is in the public domain
 
--- it is no longer covered by copyright.  Since it is copyright law that
 
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
 
public domain'', or any phrase that implies the copyright holder gave
 
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
 
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
...
 
@@ -400,25 +399,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.  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 have 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.
...
 
@@ -461,28 +460,28 @@ and developer base.
 
By the same token, nearly all established GPL'ed software systems have a
 
vibrant commercial community.  Nearly every GPL'ed system that has gained
 
wide adoption from non-commercial users and developers eventually begins
 
to fuel a commercial system around that software.
 

	
 
For example, consider the Samba file server system that allows Unix-like
 
systems (including GNU/Linux) to serve files to Microsoft Windows systems.
 
Two graduate students originally developed Samba in their spare time and
 
it was deployed non-commercially in academic environments.  However, very
 
soon for-profit companies discovered that the software could work for them
 
as well, and their system administrators began to use it in place of
 
Microsoft Windows NT file-servers.  This served to lower the cost of
 
ownership by orders of magnitude.  There was suddenly room in Windows
 
file-server budgets to hire contractors to improve Samba.  Some of the first
 
people hired to do such work were those same two graduate students who
 
originally developed the software.
 
running such servers by orders of magnitude.  There was suddenly room in
 
Windows file-server budgets to hire contractors to improve Samba.  Some of
 
the first people hired to do such work were those same two graduate
 
students who originally developed the software.
 

	
 
The non-commercial users, however, were not concerned when these two
 
fellows began collecting paychecks off of their GPL'ed work.  They knew
 
that because of the nature of the GPL that improvements that were
 
distributed in the commercial environment could easily be folded back into
 
the standard 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
...
 
@@ -582,24 +581,25 @@ 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
 
GPL\@.  In this chapter, we consider the core terms: GPL \S\S 0--3.  These
 
are the sections of the GPL that fundamentally define the legal details of
 
how software freedom is respected.
 

	
 
\section{GPL \S 0: Freedom to Run}
 
\label{GPLs0}
 

	
 
\S 0, the opening section of GPL, sets forth that the work is governed by
 
copyright law.  It specifically points out that it is the ``copyright
 
holder'' who decides if a work is licensed under its terms, and explains
 
how the copyright holder might indicate this fact.
 

	
 
A bit more subtly, \S 0 makes an inference that copyright law is the only
 
system under which it is governed.  Specifically, it states:
 
\begin{quote}
 
Activities other than copying, distribution and modification are not
 
covered by this License; they are outside its scope.
 
\end{quote}
...
 
@@ -612,58 +612,59 @@ 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 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 printout of the
 
programs source code like an instruction book for the purpose of learning
 
program's 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:
 
\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 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
 
problematic if the GPL attempted 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
 
even the GNU GPL -- can be blamed for this.  Legislators and court
 
opinions must give us guidance to decide the border cases.
 

	
 
\section{GPL \S 1: Verbatim Copying}
 
\label{GPLs1}
 

	
 
GPL \S 1 covers the matter of redistributing the source code of a program
 
exactly as it was received.  This section is quite straightforward.
 
However, there are a few details worth noting here.
 

	
 
The phrase ``in any medium'' is important.  This, for example, gives the
 
freedom to publish a book that is the printed copy of the program's source
 
code.  It also allows for changes in the medium of distribution.  Some
 
vendors may ship Free Software on a CD, but others may place it right on
 
the hard drive of a pre-installed computer.  Any such redistribution media
 
is allowed.
 

	
...
 
@@ -696,41 +697,41 @@ service for a fee.  (See Section~\ref{Business Models} for more discussion
 
on making a profit from Free Software redistribution.)
 

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

	
 
For many, this is where the ``magic'' happens that defends software
 
freedom along the distribution chain.  \S 2 is the only place 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
 
redistribution of modified versions are the same as those for verbatim
 
copying, as presented in \S 1.  Therefore, the details of charging,
 
keeping copyright notices intact, and other \S 1 provisions are in tact
 
here as well.  However, there are three additional requirements.
 

	
 
The first (\S 2(a)) requires that modified files carry ``prominent
 
notices'' explaining what changes were made and the date of such changes.
 
The goal here is not to put forward some specific way of marking changes,
 
or controlling the process of how changes get made.  Primarily, \S 2(a)
 
seeks to ensure that those receiving modified versions know what path it
 
took to them.  For some users, it is important to know that they are using
 
the standard version of program, because while there are many advantages
 
to using a fork, there are a few disadvantages.  Users should be informed
 
the historical context of the software version they use, so that they can
 
make proper support choices.  Finally, \S 2(a) serves an academic purpose
 
--- ensuring that future developers can use a diachronic approach to
 
understand the software.
 
about the historical context of the software version they use, so that
 
they can make proper support choices.  Finally, \S 2(a) serves an academic
 
purpose --- ensuring that future developers can use a diachronic approach
 
to understand the software.
 

	
 
\medskip
 

	
 
The second requirement (\S 2(b)) contains the four short lines that embody
 
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
0 comments (0 inline, 0 general)