Various updates and edits following the 2004-01-20 course.
This commit is contained in:
		
							parent
							
								
									817aa177f1
								
							
						
					
					
						commit
						d1de64cafd
					
				
					 1 changed files with 101 additions and 87 deletions
				
			
		
							
								
								
									
										188
									
								
								gpl-lgpl.tex
									
										
									
									
									
								
							
							
						
						
									
										188
									
								
								gpl-lgpl.tex
									
										
									
									
									
								
							| 
						 | 
					@ -41,7 +41,7 @@ Sponsored by the Free Software Foundation \\
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Columbia Law School, New York, NY, USA \\
 | 
					Columbia Law School, New York, NY, USA \\
 | 
				
			||||||
\vspace{.1in}
 | 
					\vspace{.1in}
 | 
				
			||||||
Tuesday 20 January 2003 
 | 
					Tuesday 20 January 2004
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
\vspace{.7in}
 | 
					\vspace{.7in}
 | 
				
			||||||
| 
						 | 
					@ -125,6 +125,15 @@ learned the following:
 | 
				
			||||||
        works of software.
 | 
					        works of software.
 | 
				
			||||||
\end{itemize}
 | 
					\end{itemize}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					\bigskip
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					These course materials are merely a summary of the highlights of the
 | 
				
			||||||
 | 
					course presented.  Readers of this material should assume that they have
 | 
				
			||||||
 | 
					missed the bulk of the material, as the detailed discussion of about these
 | 
				
			||||||
 | 
					issues is the true education about GPL and LPGL\@.  Merely reading this
 | 
				
			||||||
 | 
					material is akin to matriculating into a college course and read only the
 | 
				
			||||||
 | 
					textbook instead of going to class.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
\end{abstract}
 | 
					\end{abstract}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
\tableofcontents
 | 
					\tableofcontents
 | 
				
			||||||
| 
						 | 
					@ -600,6 +609,8 @@ economy.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 | 
					%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 | 
				
			||||||
\chapter{Running Software And Verbatim Copying}
 | 
					\chapter{Running Software And Verbatim Copying}
 | 
				
			||||||
 | 
					\label{run-and-verbatim}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
This chapter begins the deep discussion of the details of the terms of
 | 
					This chapter begins the deep discussion of the details of the terms of
 | 
				
			||||||
GPL\@.  In this chapter, we consider the first two sections: GPL \S\S
 | 
					GPL\@.  In this chapter, we consider the first two sections: GPL \S\S
 | 
				
			||||||
| 
						 | 
					@ -668,7 +679,7 @@ 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
 | 
					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
 | 
					and straightforward guidelines for what is and is not a derivative
 | 
				
			||||||
software work under copyright law.  However, no copyright license --- not
 | 
					software work under copyright law.  However, no copyright license --- not
 | 
				
			||||||
even the GNU GPL -- can be blamed for this.  Legislators and court
 | 
					even the GNU GPL --- can be blamed for this.  Legislators and court
 | 
				
			||||||
opinions must give us guidance to decide the border cases.
 | 
					opinions must give us guidance to decide the border cases.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
\section{GPL \S 1: Verbatim Copying}
 | 
					\section{GPL \S 1: Verbatim Copying}
 | 
				
			||||||
| 
						 | 
					@ -761,6 +772,7 @@ of a derivative work of software. However, the applicable provisions do
 | 
				
			||||||
provide some, albeit quite cursory, guidance. Section 101 of the Copyright
 | 
					provide some, albeit quite cursory, guidance. Section 101 of the Copyright
 | 
				
			||||||
Act sets forth the following definitions:
 | 
					Act sets forth the following definitions:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					\begin{quotation}
 | 
				
			||||||
A ``computer program'' is a set of statements or instructions to be used
 | 
					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
 | 
					directly or indirectly in a computer in order to bring about a certain
 | 
				
			||||||
result.
 | 
					result.
 | 
				
			||||||
| 
						 | 
					@ -772,6 +784,7 @@ reproduction, abridgment, condensation, or any other form in which a work
 | 
				
			||||||
may be recast, transformed, or adapted. A work consisting of editorial
 | 
					may be recast, transformed, or adapted. A work consisting of editorial
 | 
				
			||||||
revisions, annotations, elaborations, or other modifications which, as a
 | 
					revisions, annotations, elaborations, or other modifications which, as a
 | 
				
			||||||
whole, represent an original work of authorship, is a ``derivative work''.
 | 
					whole, represent an original work of authorship, is a ``derivative work''.
 | 
				
			||||||
 | 
					\end{quotation}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
These are the only provisions in the Copyright Act relevant to the
 | 
					These are the only provisions in the Copyright Act relevant to the
 | 
				
			||||||
determination of what constitutes a derivative work of a computer
 | 
					determination of what constitutes a derivative work of a computer
 | 
				
			||||||
| 
						 | 
					@ -1041,6 +1054,7 @@ adopts norms avoiding such risk.
 | 
				
			||||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 | 
					%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 | 
				
			||||||
 | 
					
 | 
				
			||||||
\chapter{Modified Source and Binary Distribution}
 | 
					\chapter{Modified Source and Binary Distribution}
 | 
				
			||||||
 | 
					\label{source-and-binary}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
In this chapter, we discuss the two core sections that define the rights
 | 
					In this chapter, we discuss the two core sections that define the rights
 | 
				
			||||||
and obligations for those who modify, improve, and/or redistribute GPL'd
 | 
					and obligations for those who modify, improve, and/or redistribute GPL'd
 | 
				
			||||||
| 
						 | 
					@ -1496,49 +1510,50 @@ with respect to the licensed software.
 | 
				
			||||||
\newcommand{\compB}{$\mathcal{B}$}
 | 
					\newcommand{\compB}{$\mathcal{B}$}
 | 
				
			||||||
\newcommand{\compA}{$\mathcal{A}$}
 | 
					\newcommand{\compA}{$\mathcal{A}$}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
For example, if Company \compA has a patent on advanced web browsing, but
 | 
					For example, if Company \compA{} has a patent on advanced web browsing, but
 | 
				
			||||||
also licenses a web browsing software program under the GPL, then it
 | 
					also licenses a web browsing software program under the GPL, then it
 | 
				
			||||||
cannot assert the patent against any party that takes a license to its
 | 
					cannot assert the patent against any party that takes a license to its
 | 
				
			||||||
program under the GPL.  However, if a party uses that program without
 | 
					program under the GPL.  However, if a party uses that program without
 | 
				
			||||||
complying with the GPL, then Company \compA can assert, not just copyright
 | 
					complying with the GPL, then Company \compA{} can assert, not just copyright
 | 
				
			||||||
infringement claims against the non-GPL-compliant party, but also
 | 
					infringement claims against the non-GPL-compliant party, but also
 | 
				
			||||||
infringement of the patent, because the implied patent license only
 | 
					infringement of the patent, because the implied patent license only
 | 
				
			||||||
extends to use of the software in accordance with the GPL.  Further, if
 | 
					extends to use of the software in accordance with the GPL.  Further, if
 | 
				
			||||||
Company \compB distributes a competitive advanced web browsing program,
 | 
					Company \compB{} distributes a competitive advanced web browsing program,
 | 
				
			||||||
Company \compA is free to assert its patent against any user or
 | 
					Company \compA{} is free to assert its patent against any user or
 | 
				
			||||||
distributor of that product.  It is irrelevant whether Company \compB's
 | 
					distributor of that product.  It is irrelevant whether Company \compB's
 | 
				
			||||||
program is distributed under the GPL, as Company \compB can not grant
 | 
					program is distributed under the GPL, as Company \compB{} can not grant
 | 
				
			||||||
implied licenses to Company \compA's patent.
 | 
					implied licenses to Company \compA's patent.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
This result also reassures companies that they need not fear loosing their
 | 
					This result also reassures companies that they need not fear loosing their
 | 
				
			||||||
proprietary value in patents to competitors through the GPL implied patent
 | 
					proprietary value in patents to competitors through the GPL implied patent
 | 
				
			||||||
license, as only those competitors who adopt and comply with the GPL's
 | 
					license, as only those competitors who adopt and comply with the GPL's
 | 
				
			||||||
terms can benefit from the implied patent license.  To continue the
 | 
					terms can benefit from the implied patent license.  To continue the
 | 
				
			||||||
example above, Company \compB does not receive a free ride on Company
 | 
					example above, Company \compB{} does not receive a free ride on Company
 | 
				
			||||||
\compA's patent, as Company \compB has not licensed-in and then
 | 
					\compA's patent, as Company \compB{} has not licensed-in and then
 | 
				
			||||||
redistributed Company A's advanced web browser under the GPL.  If Company
 | 
					redistributed Company A's advanced web browser under the GPL.  If Company
 | 
				
			||||||
\compB does do that, however, Company \compA still has not lost
 | 
					\compB{} does do that, however, Company \compA{} still has not lost
 | 
				
			||||||
competitive advantage against Company \compB, as Company \compB must then,
 | 
					competitive advantage against Company \compB{}, as Company \compB{} must then,
 | 
				
			||||||
when it re-distributes Company \compA's program, grant an implied license
 | 
					when it re-distributes Company \compA's program, grant an implied license
 | 
				
			||||||
to any of its patents that cover the program.  Further, if Company \compB
 | 
					to any of its patents that cover the program.  Further, if Company \compB{}
 | 
				
			||||||
relicenses an improved version of Company A's program, it must do so under
 | 
					relicenses an improved version of Company A's program, it must do so under
 | 
				
			||||||
the GPL, meaning that any patents it holds that cover the improved version
 | 
					the GPL, meaning that any patents it holds that cover the improved version
 | 
				
			||||||
are impliedly licensed to any licensee.  As such, the only way Company
 | 
					are impliedly licensed to any licensee.  As such, the only way Company
 | 
				
			||||||
\compB can benefit from Company \compA's implied patent license, is if it,
 | 
					\compB{} can benefit from Company \compA's implied patent license, is if it,
 | 
				
			||||||
itself, distributes Company \compA's software program and grants an
 | 
					itself, distributes Company \compA's software program and grants an
 | 
				
			||||||
implied patent license to any of its patents that cover that program.
 | 
					implied patent license to any of its patents that cover that program.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 | 
					%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 | 
				
			||||||
\chapter{Defending Freedom On Many Fronts}
 | 
					\chapter{Defending Freedom On Many Fronts}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
The last chapter presented the core freedom-defending provisions of GPL\@,
 | 
					Chapters~\ref{run-and-verbatim} and ~\ref{source-and-binary} presented the
 | 
				
			||||||
which are in \S\S 0--3.  \S\S 4--7 of the GPL are designed to ensure that
 | 
					core freedom-defending provisions of GPL\@, which are in \S\S 0--3.  \S\S
 | 
				
			||||||
\S\S 0--3 are not infringed, are enforceable, are kept to the confines of
 | 
					4--7 of the GPL are designed to ensure that \S\S 0--3 are not infringed,
 | 
				
			||||||
copyright law and are not trumped by other copyright agreements or
 | 
					are enforceable, are kept to the confines of copyright law and are not
 | 
				
			||||||
components of other entirely separate legal systems.  In short, while \S\S
 | 
					trumped by other copyright agreements or components of other entirely
 | 
				
			||||||
0--3 are the parts of the license that defend the freedoms of users and
 | 
					separate legal systems.  In short, while \S\S 0--3 are the parts of the
 | 
				
			||||||
programmers, \S\S 4--7 are the parts of the license that keep the playing
 | 
					license that defend the freedoms of users and programmers, \S\S 4--7 are
 | 
				
			||||||
field clear so that \S\S 0--3 can do their jobs.
 | 
					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}
 | 
					\section{GPL \S 4: Termination on Violation}
 | 
				
			||||||
\label{GPLs4}
 | 
					\label{GPLs4}
 | 
				
			||||||
| 
						 | 
					@ -1591,12 +1606,12 @@ That is FSF's steadfast position in a violation negotiation --- comply
 | 
				
			||||||
with the license and respect freedom.
 | 
					with the license and respect freedom.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
However, other entities who do not share the full ethos of software
 | 
					However, other entities who do not share the full ethos of software
 | 
				
			||||||
freedom as institutionalized by FSF pursue GPL violations differently.  MySQL
 | 
					freedom as institutionalized by FSF pursue GPL violations differently.
 | 
				
			||||||
AB, a company that produces the GPL'd MySQL database, upon discovering
 | 
					MySQL AB, a company that produces the GPL'd MySQL database, upon
 | 
				
			||||||
GPL violations typically negotiates a proprietary software license
 | 
					discovering GPL violations typically negotiates a proprietary software
 | 
				
			||||||
separately for a fee.  While this practice is not one that FSF would ever
 | 
					license separately for a fee.  While this practice is not one that FSF
 | 
				
			||||||
consider undertaking or even endorsing, it is a legal way for copyright
 | 
					would ever consider undertaking or even endorsing, it is a legal way for
 | 
				
			||||||
holders to proceed.
 | 
					copyright holders to proceed.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
\section{GPL \S 5: Acceptance, Copyright Style}
 | 
					\section{GPL \S 5: Acceptance, Copyright Style}
 | 
				
			||||||
\label{GPLs5}
 | 
					\label{GPLs5}
 | 
				
			||||||
| 
						 | 
					@ -1788,23 +1803,23 @@ as copyright law will allow is the most direct way to reach that goal.
 | 
				
			||||||
However, while the strategic goal is to bring as much Free Software into
 | 
					However, while the strategic goal is to bring as much Free Software into
 | 
				
			||||||
the world as possible, particular tactical situations of software freedom
 | 
					the world as possible, particular tactical situations of software freedom
 | 
				
			||||||
dictate different means.  Extending the copyleft effect as far as
 | 
					dictate different means.  Extending the copyleft effect as far as
 | 
				
			||||||
copyright law allows is not always the most prudent course to the goal.
 | 
					copyright law allows is not always the most prudent course in reaching the
 | 
				
			||||||
In particular situations, even those of us with the goal of building a
 | 
					goal.  In particular situations, even those of us with the goal of
 | 
				
			||||||
world where all published software is Free Software realize that full
 | 
					building a world where all published software is Free Software realize
 | 
				
			||||||
copyleft does not best serve that goal.  The GNU Lesser General Public
 | 
					that full copyleft does not best serve us.  The GNU Lesser General Public
 | 
				
			||||||
License (``GNU LGPL'') was designed as a solution for such situations.
 | 
					License (``GNU LGPL'') was designed as a solution for such situations.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
\section{The First LGPL'd Program}
 | 
					\section{The First LGPL'd Program}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
The first example that FSF encountered where such altered tactics were
 | 
					The first example that FSF encountered where such altered tactics were
 | 
				
			||||||
needed was when work began on the GNU C Library.  The GNU C Library would
 | 
					needed was when work began on the GNU C Library.  The GNU C Library would
 | 
				
			||||||
be (and today, now is) a drop-in replacement for existing C Libraries.  On
 | 
					become (and today, now is) a drop-in replacement for existing C Libraries.
 | 
				
			||||||
a Unix-like operating system, C is the lingua franca and the C library is
 | 
					On a Unix-like operating system, C is the lingua franca and the C library
 | 
				
			||||||
an essential component for all programs.  It is extremely difficult to
 | 
					is an essential component for all programs.  It is extremely difficult to
 | 
				
			||||||
construct a program that will run with ease on a Unix-like operating
 | 
					construct a program that will run with ease on a Unix-like operating
 | 
				
			||||||
system without making use of services provided by the GNU C Library --
 | 
					system without making use of services provided by the C Library --- even
 | 
				
			||||||
even if the program is written in a language other than C\@.  Effectively,
 | 
					if the program is written in a language other than C\@.  Effectively, all
 | 
				
			||||||
all user application programs that run on any modern Unix-like system must
 | 
					user application programs that run on any modern Unix-like system must
 | 
				
			||||||
make use of the C Library.
 | 
					make use of the C Library.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
By the time work began on the GNU implementation of the C Library, there
 | 
					By the time work began on the GNU implementation of the C Library, there
 | 
				
			||||||
| 
						 | 
					@ -1812,15 +1827,15 @@ were already many C libraries in existence from a variety of vendors.
 | 
				
			||||||
Every proprietary Unix vendor had one, and many third parties produced
 | 
					Every proprietary Unix vendor had one, and many third parties produced
 | 
				
			||||||
smaller versions for special purpose use.  However, our goal was to create
 | 
					smaller versions for special purpose use.  However, our goal was to create
 | 
				
			||||||
a C library that would provide equivalent functionality to these other C
 | 
					a C library that would provide equivalent functionality to these other C
 | 
				
			||||||
Libraries on a Free Software operating system (which in fact happens today
 | 
					libraries on a Free Software operating system (which in fact happens today
 | 
				
			||||||
in modern GNU/Linux systems, which all use the GNU C Library).
 | 
					on modern GNU/Linux systems, which all use the GNU C Library).
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Unlike existing GNU application software, however, the licensing
 | 
					Unlike existing GNU application software, however, the licensing
 | 
				
			||||||
implications of releasing the GNU C Library (``glibc'') under GPL were
 | 
					implications of releasing the GNU C Library (``glibc'') under GPL were
 | 
				
			||||||
somewhat different.  Applications released under GPL would never
 | 
					somewhat different.  Applications released under GPL would never
 | 
				
			||||||
themselves become part of proprietary software.  However, if glibc were
 | 
					themselves become part of proprietary software.  However, if glibc were
 | 
				
			||||||
released under GPL, it would require that any application distributed for
 | 
					released under GPL, it would require that any application distributed for
 | 
				
			||||||
the GNU/Linux platform be released under GPL.
 | 
					the GNU/Linux platform be released under GPL\@.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Since all applications on a Unix-like system depend on the C library, it
 | 
					Since all applications on a Unix-like system depend on the C library, it
 | 
				
			||||||
means that they must link with that library to function on the system.  In
 | 
					means that they must link with that library to function on the system.  In
 | 
				
			||||||
| 
						 | 
					@ -1837,18 +1852,18 @@ advocates, since it stops all proprietary software development on
 | 
				
			||||||
GNU/Linux systems.  However, the outcome is a bit more subtle.  In a world
 | 
					GNU/Linux systems.  However, the outcome is a bit more subtle.  In a world
 | 
				
			||||||
where many C Libraries already exist, many of which could easily be ported
 | 
					where many C Libraries already exist, many of which could easily be ported
 | 
				
			||||||
to GNU/Linux, a GPL'd glibc would be unlikely to succeed.  Proprietary
 | 
					to GNU/Linux, a GPL'd glibc would be unlikely to succeed.  Proprietary
 | 
				
			||||||
vendors would see the excellent opportunity to license their C libraries to
 | 
					vendors would see the excellent opportunity to license their C libraries
 | 
				
			||||||
anyone who wished to write proprietary software for GNU/Linux systems.
 | 
					to anyone who wished to write proprietary software for GNU/Linux systems.
 | 
				
			||||||
The de-facto standard for C libraries on GNU/Linux would likely become not
 | 
					The de-facto standard for C libraries on GNU/Linux would likely be not
 | 
				
			||||||
glibc, but the most popular proprietary one.
 | 
					glibc, but the most popular proprietary one.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Meanwhile, the actual goal of releasing glibc under GPL --- to ensure no
 | 
					Meanwhile, the actual goal of releasing glibc under GPL --- to ensure no
 | 
				
			||||||
proprietary applications on GNU/Linux --- would be unattainable in this
 | 
					proprietary applications on GNU/Linux --- would be unattainable in this
 | 
				
			||||||
scenario.  Furthermore, users of those proprietary applications would also
 | 
					scenario.  Furthermore, users of those proprietary applications would also
 | 
				
			||||||
be users of a proprietary C library, not glibc.
 | 
					be users of a proprietary C library, not the Free glibc.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
The Lesser GPL was first conceived to handle this scenario.  It was clear
 | 
					The Lesser GPL was initially conceived to handle this scenario.  It was
 | 
				
			||||||
that the existence of proprietary applications for GNU/Linux was
 | 
					clear that the existence of proprietary applications for GNU/Linux was
 | 
				
			||||||
inevitable.  Since there were so many C libraries already in existence, a
 | 
					inevitable.  Since there were so many C libraries already in existence, a
 | 
				
			||||||
new one under GPL would not stop that tide.  However, if the new C library
 | 
					new one under GPL would not stop that tide.  However, if the new C library
 | 
				
			||||||
were released under a license that (a) permitted proprietary applications
 | 
					were released under a license that (a) permitted proprietary applications
 | 
				
			||||||
| 
						 | 
					@ -1860,25 +1875,23 @@ the C library.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
There was no way the license of glibc could stop or even slow the creation
 | 
					There was no way the license of glibc could stop or even slow the creation
 | 
				
			||||||
of proprietary applications on GNU/Linux.  However, loosening the
 | 
					of proprietary applications on GNU/Linux.  However, loosening the
 | 
				
			||||||
restrictions on the licensing of glibc was able to ensure that nearly all
 | 
					restrictions on the licensing of glibc ensured that nearly all proprietary
 | 
				
			||||||
proprietary applications at least used a Free C library rather than a
 | 
					applications at least used a Free C library rather than a proprietary one.
 | 
				
			||||||
proprietary one.  This trade-off is central to the reasoning behind the
 | 
					This trade-off is central to the reasoning behind the LGPL\@.
 | 
				
			||||||
LGPL\@.
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
Of course, many people who use the LGPL today are not thinking in these
 | 
					Of course, many people who use the LGPL today are not thinking in these
 | 
				
			||||||
terms.  In fact, they are often choosing the GPL because they are looking
 | 
					terms.  In fact, they are often choosing the LGPL because they are looking
 | 
				
			||||||
for a ``compromise'' between the GPL and the X11-style liberal licensing
 | 
					for a ``compromise'' between the GPL and the X11-style liberal licensing.
 | 
				
			||||||
that does not reserve any rights to ensure the future freedom of the
 | 
					However, understanding FSF's reasoning behind the creation of the LGPL is
 | 
				
			||||||
software.  However, understanding FSF's reasoning behind the creation of
 | 
					helpful when studying the license.
 | 
				
			||||||
the LGPL is helpful when studying the license.
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
\section{What's the Same?}
 | 
					\section{What's the Same?}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Much of the text of the LGPL is identical to the GPL\@.  As we begin our
 | 
					Much of the text of the LGPL is identical to the GPL\@.  As we begin our
 | 
				
			||||||
discussion of the LGPL, we will first eliminate the sections that are
 | 
					discussion of the LGPL, we will first eliminate the sections that are
 | 
				
			||||||
identical, or that have the minor change of changing the word ``Program''
 | 
					identical, or that have the minor modifications of changing the word
 | 
				
			||||||
to ``Library''.
 | 
					``Program'' to ``Library''.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
First, \S 1 of LGPL, the rules for verbatim copying of source, are
 | 
					First, \S 1 of LGPL, the rules for verbatim copying of source, are
 | 
				
			||||||
equivalent to those in GPL's \S 1.
 | 
					equivalent to those in GPL's \S 1.
 | 
				
			||||||
| 
						 | 
					@ -2025,14 +2038,14 @@ the library'', works as follows:
 | 
				
			||||||
\end{itemize}
 | 
					\end{itemize}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
We will talk about the specific restrictions LGPL places on ``works that
 | 
					We will talk about the specific restrictions LGPL places on ``works that
 | 
				
			||||||
use the library'' in detail in Section~\ref{FIXME}.  For now, focus on the
 | 
					use the library'' in detail in Section~\ref{lgpl-section-6}.  For now,
 | 
				
			||||||
logic related to how the LGPL places requirements on the license of
 | 
					focus on the logic related to how the LGPL places requirements on the
 | 
				
			||||||
\lplusi{}.  Note, first of all, the similarity between this explanation
 | 
					license of \lplusi{}.  Note, first of all, the similarity between this
 | 
				
			||||||
and that in Section~\ref{separate-and-independent}, which discussed the
 | 
					explanation and that in Section~\ref{separate-and-independent}, which
 | 
				
			||||||
combining otherwise separate and independent works with GPL'd code.
 | 
					discussed the combination of otherwise separate and independent works with
 | 
				
			||||||
Effectively, what LGPL is doing is saying that when a new work is
 | 
					GPL'd code.  Effectively, what LGPL is doing is saying that when a new
 | 
				
			||||||
otherwise separate and independent, but has interface calls out to an
 | 
					work is otherwise separate and independent, but has interface calls out to
 | 
				
			||||||
LGPL'd library, then it is considered a ``work that uses the library''.
 | 
					an LGPL'd library, then it is considered a ``work that uses the library''.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
In addition, the only reason that LGPL has any control over the licensing
 | 
					In addition, the only reason that LGPL has any control over the licensing
 | 
				
			||||||
of a ``work that uses the library'' is for the same reason that GPL has
 | 
					of a ``work that uses the library'' is for the same reason that GPL has
 | 
				
			||||||
| 
						 | 
					@ -2122,11 +2135,10 @@ the license only so that when such a border case is hit, the implications
 | 
				
			||||||
of using LGPL continue in the expected way.
 | 
					of using LGPL continue in the expected way.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
To understand this subtle point, we must recall the way that a compiler
 | 
					To understand this subtle point, we must recall the way that a compiler
 | 
				
			||||||
operates, which we discussed in Section~\ref{FIXME}.  The compiler first
 | 
					operates.  The compiler first generates object code, which are the binary
 | 
				
			||||||
generates object code, which are the binary representations of various
 | 
					representations of various programming modules.  Each of those modules is
 | 
				
			||||||
programming modules.  Each of those modules is usually not useful by
 | 
					usually not useful by itself; it becomes useful to a user a full program
 | 
				
			||||||
itself; it becomes useful to a user a a full program when those modules
 | 
					when those modules are {\em assembled\/} into a full binary executable.
 | 
				
			||||||
are {\em assembled\/} into a full binary executable.
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
As we have discussed, the assembly of modules can happen at compile-time
 | 
					As we have discussed, the assembly of modules can happen at compile-time
 | 
				
			||||||
or at runtime.  Legally, there is no distinction between the two --- both
 | 
					or at runtime.  Legally, there is no distinction between the two --- both
 | 
				
			||||||
| 
						 | 
					@ -2154,7 +2166,7 @@ based on the library''.  However, since the compiler copies verbatim,
 | 
				
			||||||
copyrighted portions of the library into the object code for the otherwise
 | 
					copyrighted portions of the library into the object code for the otherwise
 | 
				
			||||||
separate and independent work, it would actually cause that object file a
 | 
					separate and independent work, it would actually cause that object file a
 | 
				
			||||||
``work based on the library''.  It is not FSF's intent that a mere
 | 
					``work based on the library''.  It is not FSF's intent that a mere
 | 
				
			||||||
compilation idiosyncrasy changes the requirements on the users of the
 | 
					compilation idiosyncrasy would change the requirements on the users of the
 | 
				
			||||||
LGPL'd software.  This paragraph removes that restriction, allowing the
 | 
					LGPL'd software.  This paragraph removes that restriction, allowing the
 | 
				
			||||||
implications of the license to be the same regardless of the specific
 | 
					implications of the license to be the same regardless of the specific
 | 
				
			||||||
mechanisms the compiler uses underneath to create the ``work that uses the
 | 
					mechanisms the compiler uses underneath to create the ``work that uses the
 | 
				
			||||||
| 
						 | 
					@ -2170,7 +2182,7 @@ them understand that the full implications of LGPL are the same regardless
 | 
				
			||||||
of the details of the compilation progress.
 | 
					of the details of the compilation progress.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
\section{LGPL \S 6: Distributing Works that Use the Library}
 | 
					\section{LGPL \S 6: Distributing Works that Use the Library}
 | 
				
			||||||
 | 
					\label{lgpl-section-6}
 | 
				
			||||||
Now that we have a established a good working definition of works that
 | 
					Now that we have a established a good working definition of works that
 | 
				
			||||||
``use'' and works that ``are based on'' the library, we will consider the
 | 
					``use'' and works that ``are based on'' the library, we will consider the
 | 
				
			||||||
rules for distributing these two different works.
 | 
					rules for distributing these two different works.
 | 
				
			||||||
| 
						 | 
					@ -2184,10 +2196,10 @@ source form.  However, there are also conditions in LGPL \S 6 to make sure
 | 
				
			||||||
that a user who wishes to modify or update the library can do so.
 | 
					that a user who wishes to modify or update the library can do so.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
LGPL \S 6 lists five choices with regard to supplying library source and
 | 
					LGPL \S 6 lists five choices with regard to supplying library source and
 | 
				
			||||||
the freedom to modify that library source the users.  We will first
 | 
					granting the freedom to modify that library source to users.  We will
 | 
				
			||||||
consider the option given by \S 6(b), which describes the most common way
 | 
					first consider the option given by \S 6(b), which describes the most
 | 
				
			||||||
that is currently used for LGPL compliance on a ``work that uses the
 | 
					common way that is currently used for LGPL compliance on a ``work that
 | 
				
			||||||
library''.
 | 
					uses the library''.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
\S 6(b) allows the distributor of a ``work that uses the library'' to
 | 
					\S 6(b) allows the distributor of a ``work that uses the library'' to
 | 
				
			||||||
simply use a dynamically linked, shared library mechanism to link with the
 | 
					simply use a dynamically linked, shared library mechanism to link with the
 | 
				
			||||||
| 
						 | 
					@ -2214,17 +2226,18 @@ based on the library'', so that the user can relink the application and
 | 
				
			||||||
build a new binary.
 | 
					build a new binary.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
The remaining options in \S 6 are very similar to the other choices
 | 
					The remaining options in \S 6 are very similar to the other choices
 | 
				
			||||||
provided by GPL \S 3.  There are some additions, and time does not permit
 | 
					provided by GPL \S 3.  There are some additional options, and time does
 | 
				
			||||||
us in this course to go into those additional options.  In almost all
 | 
					not permit us in this course to go into those additional options.  In
 | 
				
			||||||
cases of distribution under LGPL, either \S 6(a) or \S 6(b) are exercised.
 | 
					almost all cases of distribution under LGPL, either \S 6(a) or \S 6(b) are
 | 
				
			||||||
 | 
					exercised.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
\section{Distribution of Works Based on the Library}
 | 
					\section{Distribution of Works Based on the Library}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Essential, ``works based on the library'' must be distributed under the
 | 
					Essentially, ``works based on the library'' must be distributed under the
 | 
				
			||||||
same conditions as works under full GPL\@.  In fact, we note that LGPL's \S
 | 
					same conditions as works under full GPL\@.  In fact, we note that LGPL's
 | 
				
			||||||
2 is nearly identical in its terms and requirements to GPL's \S 2.  There
 | 
					\S 2 is nearly identical in its terms and requirements to GPL's \S 2.
 | 
				
			||||||
are again subtle differences and additions, which time does not permit us
 | 
					There are again subtle differences and additions, which time does not
 | 
				
			||||||
to cover in this course.
 | 
					permit us to cover in this course.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
\section{And the Rest}
 | 
					\section{And the Rest}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -3400,6 +3413,7 @@ That's all there is to it!
 | 
				
			||||||
% LocalWords:  proprietarize redistributors sublicense yyyy Gnomovision EULAs
 | 
					% LocalWords:  proprietarize redistributors sublicense yyyy Gnomovision EULAs
 | 
				
			||||||
% LocalWords:  Yoyodyne FrontPage improvers Berne copyrightable Stallman's GPLs
 | 
					% LocalWords:  Yoyodyne FrontPage improvers Berne copyrightable Stallman's GPLs
 | 
				
			||||||
% LocalWords:  Lessig Lessig's UCITA pre PDAs CDs reshifts GPL's Gentoo glibc
 | 
					% LocalWords:  Lessig Lessig's UCITA pre PDAs CDs reshifts GPL's Gentoo glibc
 | 
				
			||||||
% LocalWords:  TrollTech administrivia LGPL's MontaVista OpenTV Mitek Arce
 | 
					% LocalWords:  TrollTech administrivia LGPL's MontaVista OpenTV Mitek Arce DVD
 | 
				
			||||||
% LocalWords:  unprotectable protectable Unfreedonia chipset CodeSourcery
 | 
					% LocalWords:  unprotectable protectable Unfreedonia chipset CodeSourcery Iqtel
 | 
				
			||||||
% LocalWords:  impermissibly
 | 
					% LocalWords:  impermissibly Bateman faire minimis Borland uncopyrightable Mgmt
 | 
				
			||||||
 | 
					% LocalWords:  franca downloadable
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		
		Reference in a new issue