Changeset - 110e1b08fe71
[Not reviewed]
0 1 0
Bradley Kuhn (bkuhn) - 10 years ago 2014-03-15 16:11:10
bkuhn@ebb.org
Various edit and improvements to the introduction to this part.
1 file changed with 22 insertions and 20 deletions:
0 comments (0 inline, 0 general)
gpl-lgpl.tex
Show inline comments
 
% gpl-lgpl.tex                                                  -*- LaTeX -*-
 
%      Tutorial Text for the Detailed Study and Analysis of GPL and LGPL course
 
%
 
% Copyright (C) 2003, 2004, 2005 Free Software Foundation, Inc.
 
% Copyright (C) 2014             Bradley M. Kuhn
 

	
 
% License: CC-By-SA-4.0
 

	
 
% The copyright holders hereby grant the freedom to copy, modify, convey,
 
% Adapt, and/or redistribute this work under the terms of the Creative
 
% Commons Attribution Share Alike 4.0 International License.
 

	
 
% This text is distributed in the hope that it will be useful, but
 
% WITHOUT ANY WARRANTY; without even the implied warranty of
 
% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
 

	
 
% You should have received a copy of the license with this document in
 
% a file called 'CC-By-SA-4.0.txt'.  If not, please visit
 
% https://creativecommons.org/licenses/by-sa/4.0/legalcode to receive
 
% the license text.
 

	
 
\newcommand{\defn}[1]{\emph{#1}}
 

	
 
\part{Detailed Analysis of the GNU GPL and Related Licenses}
 

	
 
\begin{center}
 

	
 
{\parindent 0in
 
This part is: \\
 
\begin{tabbing}
 
Copyright \= \copyright{} 2003, 2004, 2005 \= \hspace{.2in} Free Software Foundation, Inc. \\
 
\end{tabbing}
 

	
 
Authors of this Part Are: \\
 

	
 
Bradley M. Kuhn \\
 
David ``Novalis'' Turner \\
 
Daniel B. Ravicher \\
 
John Sullivan
 

	
 
\vspace{.3in}
 

	
 
The copyright holders of this part hereby grant the freedom to copy, modify,
 
convey, Adapt, and/or redistribute this work under the terms of the Creative
 
Commons Attribution Share Alike 4.0 International License.  A copy of that
 
license is available at
 
\verb=https://creativecommons.org/licenses/by-sa/4.0/legalcode=.  }
 

	
 
\end{center}
 

	
 
\bigskip
 

	
 
This part of the tutorial gives a comprehensive explanation of the most
 
popular Free Software copyright license, the GNU General Public License (GNU
 
GPL) -- both version 2 and version 3 -- and teaches lawyers, software
 
developers, managers and business people how to use the GPL (and GPL'd
 
software) successfully in a new Free Software business and in existing,
 
successful enterprises.
 
popular Free Software copyright license, the GNU General Public License
 
(``GNU GPL'', or sometimes just ``GPL'') -- both version 2 (``GPLv2'') and
 
version 3 (``GPLv3'') -- and teaches lawyers, software developers, managers
 
and business people how to use the GPL (and GPL'd software) successfully both
 
as a community-building ``Constitution'' for a software project, or to
 
incorporate copylefted software into a new Free Software business and in
 
existing, successful enterprises.
 

	
 
To successfully benefit of from this part of the tutorial, readers should
 
have a general familiarity with software development processes. A vague
 
understanding of how copyright law applies to software is also helpful. The
 
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 lawyers, 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'd software in their enterprise.
 
run or advise 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'd software in their enterprise.
 

	
 
Upon completion of the tutorial, successful students can expect to have
 
learned the following:
 
Upon completion of this part of the tutorial, successful students can expect
 
to have learned the following:
 

	
 
\begin{itemize}
 

	
 
  \item The freedom-defending purpose of each term of the GNU GPLv2 and GPLv3
 
  \item The freedom-defending purpose of each term of the GNU GPLv2 and GPLv3.
 

	
 
  \item The differences between GPLv2 and GPLv3.
 

	
 
  \item The redistribution options under the GPLv2 and GPLv3.
 

	
 
  \item The obligations when modifying GPLv2'd or GPLv3'd software
 
  \item The obligations when modifying GPLv2'd or GPLv3'd software.
 

	
 
  \item How to build a plan for proper and successful compliance with the GPL
 
  \item How to build a plan for proper and successful compliance with the GPL.
 

	
 
  \item The business advantages that the GPL provides
 
  \item The business advantages that the GPL provides.
 

	
 
  \item The most common business models used in conjunction with the GPL
 
  \item The most common business models used in conjunction with the GPL.
 

	
 
  \item How existing GPL'd software can be used in existing enterprises
 
  \item How existing GPL'd software can be used in existing enterprises.
 

	
 
  \item The basics of the Lesser GPLv2.1 and Lesser GPLv3, and how they
 
    differs from the GPLv2 and GPLv3, respectively.
 

	
 
  \item How best to understand the complexities regarding derivative
 
        works of software
 
  \item The basics to begin understanding the complexities regarding
 
    derivative and combined works of software.
 
\end{itemize}
 

	
 
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 
% END OF ABSTRACTS SECTION
 
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 
% START OF DAY ONE COURSE
 
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 

	
 
\chapter{What Is Software Freedom?}
 

	
 
Consideration of the GNU General Public License (herein, abbreviated as
 
\defn{GNU GPL} or just \defn{GPL}) must begin by first considering the broader
 
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 both of the popular
 
versions of GPL (GPLv2 and GPLv3) and their
 
terms and conditions is a basic understanding of the principles behind it.
 
The GPL family of licenses are 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 Web site at
 
\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
 

	
 
\item The freedom to share improved versions of the program
 

	
 
\end{itemize}
 

	
 
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 Web site at {\tt
 
    http://www.fsf.org/licensing/essays/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 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 noncommercially or
 
commercially. Licenses that grant these freedoms for noncommercial
 
activities but prohibit them for commercial activities are considered
 
non-Free.
 

	
 
In general, software for which most or all of these freedoms are
 
restricted in any way is called ``non-Free Software.''  Typically, the
 
term ``proprietary software'' is used more or less interchangeably with
 
``non-Free Software.''  Personally, I tend to use the term ``non-Free
 
Software'' to refer to noncommercial software that restricts freedom
 
(such as ``shareware'') and ``proprietary software'' to refer to
 
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 any use for software the user
 
can come up with must be permitted. Perhaps, for example, the user
 
has discovered an innovative use for a particular program, one
 
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 Web sites 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}
 

	
 
Free Software programs allow users to change, modify and adapt the
 
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 also important to users who are not programmers.
 
Users must have the right to exercise this freedom indirectly in both
 
commercial and noncommercial settings. For example, users often seek
 
noncommercial help with the software on email lists and in users groups.
 
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 a fundamental ethical dilemma of the software
 
age: choosing between obeying a software license, and friendship (by
 
giving away a copy of a program to 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.
 

	
 
It is true that many people get copies of Free Software very cheaply (and
 
sometimes without charge). The competitive free market of Free Software
 
tends to keep prices low and reasonable. However, if someone is willing
 
to pay a billion dollars for one copy of the GNU Compiler Collection, such
 
a sale is completely permitted.
 

	
 
Another common instance of commercial sharing is service-oriented
 
distribution. For example, a distribution vendor may provide immediate
 
security and upgrade distribution via a special network service. Such
 
distribution is completely permitted for Free Software.
 

	
 
(Section~\ref{Business Models} of this tutorial talks in detail about
 
various Free Software business models that take advantage of the freedom
 
to share commercially.)
 

	
 
\subsection{The Freedom to Share Improvements}
 

	
 
The freedom to modify and improve is somewhat empty without the freedom to
 
share those improvements. The Free Software community is built on the
 
pillar of altruistic sharing of improved Free Software. Inevitably, a
 
Free Software project sprouts a mailing list where improvements are shared
 
freely among members of the development community. Such noncommercial
 
sharing must be permitted for Free Software to thrive.
 

	
 
Commercial sharing of modified Free Software is equally important.
 
For commercial support to exist in a competitive free market, all
 
developers --- from single-person contractors to large software
 
companies --- must have the freedom to market their services as
 
improvers of Free Software. All forms of such service marketing must
 
be equally available to all.
 

	
 
For example, selling support services for Free Software is fully
 
permitted. Companies and individuals can offer themselves as ``the place
 
to call'' when software fails or does not function properly. For such a
 
service to be meaningful, the entity offering that service must have the
 
right to modify and improve the software for the customer to correct any
 
problems that are beyond mere user error.
 

	
 
Entities must also be permitted to make available modified versions of
 
Free Software. Most Free Software programs have a ``standard version''
 
that is made available from the primary developers of the software.
 
However, all who have the software have the ``freedom to fork'' --- that
 
is, make available nontrivial modified versions of the software on a
 
permanent or semi-permanent basis. Such freedom is central to vibrant
 
developer and user interaction.
 

	
 
Companies and individuals have the right to make true value-added versions
 
of Free Software. They may use freedom to share improvements to
 
distribute distinct versions of Free Software with different functionality
 
and features. Furthermore, this freedom can be exercised to serve a
0 comments (0 inline, 0 general)