Changeset - 595c64c15878
[Not reviewed]
0 2 0
Bradley Kuhn (bkuhn) - 10 years ago 2014-03-21 01:14:20
bkuhn@ebb.org
Wordsmith paragraph.
2 files changed with 8 insertions and 4 deletions:
0 comments (0 inline, 0 general)
compliance-guide.tex
Show inline comments
...
 
@@ -83,102 +83,105 @@ are resolved privately via
 
cooperative communications with violators.  As both FSF and Conservancy has worked to bring
 
individual companies into compliance, both organizations have encountered numerous
 
violations resulting from preventable problems such as inadequate
 
attention to licensing of upstream software, misconceptions about the
 
GPL's terms, and poor communication between software developers and their
 
management.  This document highlights these problems and describe
 
best practices to encourage corporate Free Software users to reevaluate their
 
approach to GPL'd software and avoid future violations.
 

	
 
Both FSF and Conservancy continue GPL enforcement and compliance efforts
 
for software under the GPL, the GNU Lesser
 
Public License (LGPL) and other copyleft licenses.  In doing so, both organizations have
 
found that most violations stem from a few common mistakes that can be,
 
for the most part, easily avoided.  All copyleft advocates  hope to educate the community of
 
commercial distributors, redistributors, and resellers on how to avoid
 
violations in the first place, and to respond adequately and appropriately
 
when a violation occurs.
 

	
 
\chapter{Best Practices to Avoid Common Violations}
 
\label{best-practices}
 

	
 
Unlike highly permissive licenses (such as the ISC license), which
 
typically only require preservation of copyright notices, licensees face many
 
important requirements from the GPL.  These requirements are
 
carefully designed to uphold certain values and standards of the software
 
freedom community.  While the GPL's requirements may appear initially
 
counter-intuitive to those more familiar with proprietary software
 
licenses, by comparison, its terms are in fact clear and quite favorable to
 
licensees.  Indeed, the GPL's terms actually simplify compliance when
 
violations occur.
 

	
 
GPL violations occur (or, are compounded) most often when companies lack sound
 
practices for the incorporation of GPL'd components into their
 
internal development environment.  This section introduces some best
 
practices for software tool selection, integration and distribution,
 
inspired by and congruent with software freedom methodologies.  Companies should
 
establish such practices before building a product based on GPL'd
 
software.\footnote{This document addresses compliance with GPLv2,
 
  GPLv3, LGPLv2, and LGPLv3.  Advice on avoiding the most common
 
  errors differs little for compliance with these four licenses.
 
  \S~\ref{lgpl} discusses the key differences between GPL and LGPL
 
  compliance.}
 

	
 
\section{Evaluate License Applicability}
 
\label{derivative-works}
 
Political discussion about the GPL often centers around the ``copyleft''
 
requirements of the license.  Indeed, the license was designed primarily
 
to embody this licensing feature.  Most companies adding non-trivial
 
features (beyond mere porting and bug-fixing) to GPL'd software, and
 
thereby implicating these requirements, are already well aware of their
 
more complex obligations under the license.\footnote{There has been much legal
 
features (beyond mere porting and bug-fixing) to GPL'd software (and
 
thereby invoking these requirements) are already well aware of their
 
more complex obligations under the license.\footnote{While, there has been much legal
 
  discussion regarding copyleft and derivative works.  In practical
 
  reality, this issue is not relevant to the vast majority of companies
 
  distributing GPL'd software.}
 
  distributing GPL'd software.  Those interested in this issue should study
 
  \tutorialpartsplit{\texit{Detailed Analysis of the GNU GPL and Related
 
      Licenses}'s Section on derivative works}{\S~\ref{derivative-works} of
 
    this tutorial}.}
 

	
 
However, in our experience with GPL enforcement, few redistributors'
 
compliance challenges relate directly to the copyleft provisions; this is
 
doubly true for most embedders.  Instead, the distributions of GPL'd
 
systems that we encounter typically consist of a full operating system
 
including components under the GPL (e.g., Linux, BusyBox) and components
 
under the LGPL (e.g., the GNU C Library).  Sometimes, these programs have
 
been patched or slightly improved by direct modification of their sources,
 
resulting unequivocally in a derivative work.  Alongside these programs,
 
companies often distribute fully independent, proprietary programs,
 
developed from scratch, which are designed to run on the Free Software operating
 
system but do not combine with, link to, modify, or otherwise derive from
 
the GPL'd components.\footnote{However, these programs do often combine
 
  with LGPL'd libraries. This is discussed in detail in \S~\ref{lgpl}.}
 
In the latter case, where the work is unquestionably a separate work of
 
creative expression, no derivative work has been created.  The tiny
 
minority of situations which lie outside these two categories, and thus
 
involve close questions about derivative works, require a highly
 
fact-dependent analysis and cannot be addressed in a general-purpose
 
document.
 

	
 
Most companies accused of violations, however, lack a basic understanding
 
of how to comply even in the straightforward scenario.  This document
 
provides that fundamental and generally applicable prerequisite knowledge.
 
For answers to rarer and more complicated legal questions, such as whether
 
your software is a derivative work of some copylefted software, consult
 
with an attorney.\footnote{If you would like more information on the
 
  application of derivative works doctrine to software, a detailed legal
 
  discussion is presented in our colleague Dan Ravicher's article,
 
  \textit{Software Derivative Work: A Circuit Dependent Determination}.}
 

	
 
For this discussion, we will assume that you have already identified the
 
``work'' covered by the license, and that any components not under the GPL
 
(e.g., applications written entirely by your developers that merely happen
 
to run on a Linux-based operating system) distributed in conjunction with
 
those works are separate works within the meaning of copyright law.  In
 
such a case, the GPL requires you to provide complete and corresponding
 
source for the GPL'd components and your modifications thereto, but not
 
for independent proprietary applications.  The procedures described in
 
this document address this typical scenario.
 

	
 
\section{Monitor Software Acquisition}
 

	
 
Software engineers should have the freedom to innovate and import useful
 
software components to improve your product.  However, along with that
 
freedom should come rules and reporting procedures to make sure that you
 
are aware of what software is being tested or included with your product.
 

	
gpl-lgpl.tex
Show inline comments
...
 
@@ -1068,96 +1068,97 @@ 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{GPLv2~\S1: Verbatim Copying}
 
\label{GPLv2s1}
 

	
 
GPLv2~\S1 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.
 

	
 
Preservation of copyright notice and license notifications are mentioned
 
specifically in GPLv2~\S1.  These are in some ways the most important part of
 
the redistribution, which is why they are mentioned by name.  GPL
 
always strives to make it abundantly clear to anyone who receives the
 
software what its license is.  The goal is to make sure users know their
 
rights and freedoms under GPL, and to leave no reason that users might be
 
surprised the software is GPL'd. Thus
 
throughout the GPL, there are specific references to the importance of
 
notifying others down the distribution chain that they have rights under
 
GPL.
 

	
 
Also mentioned by name is the warranty disclaimer. Most people today do
 
not believe that software comes with any warranty.  Notwithstanding the
 
\href{http://mlis.state.md.us/2000rs/billfile/hb0019.htm}{Maryland's} and \href{http://leg1.state.va.us/cgi-bin/legp504.exe?001+ful+SB372ER}{Virginia's} UCITA bills, there are few or no implied warranties with software.
 
However, just to be on the safe side, GPL clearly disclaims them, and the
 
GPL requires re distributors to keep the disclaimer very visible. (See
 
Sections~\ref{GPLv2s11} and~\ref{GPLv2s12} of this tutorial for more on GPL's
 
warranty disclaimers.)
 

	
 
Note finally that GPLv2~\S1 creates groundwork for the important defense of
 
commercial freedom.  GPLv2~\S1 clearly states that in the case of verbatim
 
copies, one may make money.  Re distributors 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 a profit from Free Software redistribution.)
 

	
 
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 

	
 
\chapter{Derivative Works: Statute and Case Law}
 
\label{derivative-works}
 

	
 
We digress for this chapter from our discussion of GPL's exact text to
 
consider the matter of derivative works --- a concept that we must
 
understand fully before considering GPLv2~\S\S2--3\@. GPL, and Free
 
Software licensing in general, relies critically on the concept of
 
``derivative work'' since software that is ``independent,'' (i.e., not
 
``derivative'') of Free Software need not abide by the terms of the
 
applicable Free Software license. As much is required by \S~106 of the
 
Copyright Act, 17 U.S.C. \S~106 (2002), and admitted by Free Software
 
licenses, such as the GPL, which (as we have seen) states in GPLv2~\S0 that ``a
 
`work based on the Program' means either the Program or any derivative
 
work under copyright law.'' It is being a derivative work of Free Software
 
that triggers the necessity to comply with the terms of the Free Software
 
license under which the original work is distributed. Therefore, one is
 
left to ask, just what is a ``derivative work''? The answer to that
 
question differs depending on which court is being asked.
 

	
 
The analysis in this chapter sets forth the differing definitions of
 
derivative work by the circuit courts. The broadest and most
 
established definition of derivative work for software is the
 
abstraction, filtration, and comparison test (``the AFC test'') as
 
created and developed by the Second Circuit. Some circuits, including
 
the Ninth Circuit and the First Circuit, have either adopted narrower
 
versions of the AFC test or have expressly rejected the AFC test in
 
favor of a narrower standard. Further, several other circuits have yet
 
to adopt any definition of derivative work for software.
 

	
 
As an introductory matter, it is important to note that literal copying of
 
a significant portion of source code is not always sufficient to establish
 
that a second work is a derivative work of an original
 
program. Conversely, a second work can be a derivative work of an original
 
program even though absolutely no copying of the literal source code of
 
the original program has been made. This is the case because copyright
 
protection does not always extend to all portions of a program's code,
 
while, at the same time, it can extend beyond the literal code of a
 
program to its non-literal aspects, such as its architecture, structure,
 
sequence, organization, operational modules, and computer-user interface.
 

	
 
\section{The Copyright Act}
 

	
 
The copyright act is of little, if any, help in determining the definition
 
of a derivative work of software. However, the applicable provisions do
 
provide some, albeit quite cursory, guidance. Section 101 of the Copyright
 
Act sets forth the following definitions:
 

	
 
\begin{quotation}
 
A ``computer program'' is a set of statements or instructions to be used
 
directly or indirectly in a computer in order to bring about a certain
0 comments (0 inline, 0 general)