Changeset - f8a919928413
[Not reviewed]
0 1 0
Bradley Kuhn (bkuhn) - 10 years ago 2014-03-21 00:46:27
bkuhn@ebb.org
Affero GPL section, not doing this justice now, but this is good enough to
print for Monday's class.
1 file changed with 83 insertions and 86 deletions:
0 comments (0 inline, 0 general)
gpl-lgpl.tex
Show inline comments
...
 
@@ -3396,471 +3396,468 @@ In other words, the ``contributor version'' includes not just
 
the material added or altered by the contributor, but also the pre-existing
 
material the contributor copied from the upstream version and retained in the
 
modified version.  (GPLv3's usage of ``contributor'' and ``contribution'' should
 
not be confused with the various other ways in which those terms are used in
 
certain other free software licenses\footnote{Cf., e.g., Apache License,
 
  version 2.0, section 1; Eclipse Public License, version 1.0, section 1;
 
  Mozilla Public License, version 1.1, section 1.1.}.)
 

	
 
Some details of the ``essential patent claims'' definition deserve special
 
mention.  ``Essential patent claims'', for a given party, are a subset of the
 
claims ``owned or controlled'' by the party.  They do include sublicensable
 
claims that have been licensed to the contributor by a third
 
party.\footnote{This issue is typically handled in other software freedom
 
  licenses having patent licensing provisions by use of the unhelpful term
 
  ``licensable,'' which is either left undefined or is given an ambiguous
 
  definition.}  Most commercial patent license agreements that permit
 
sublicensing do so under restrictive terms that are inconsistent with the
 
requirements of the GPL\@.  For example, some patent licenses allow the
 
patent licensee to sublicense but require collection of royalties from any
 
sublicensees.  The patent licensee could not distribute a GPL-covered program
 
and grant the recipient a patent sublicense for the program without violating
 
section 12 of GPLv3.\footnote{GPLv3 also provides an example in section 12
 
  that makes this point clear.}  In rare cases, however, a conveying party
 
can freely grant patent sublicenses to downstream recipients without
 
violating the GPL\@.
 

	
 
Additionally, ``essential patent claims'' are those patents ``that would be
 
infringed by some manner, permitted by this License, of making, using, or
 
selling the work''.  This intends to make clear that a patent claim is
 
``essential'' if some mode of usage would infringe that claim, even if there
 
are other modes of usage that would not infringe.
 

	
 
Finally, ``essential patent claims \ldots do not include
 
claims that would be infringed only as a consequence of further
 
modification of the work.''  The set of essential patent
 
claims licensed  is fixed by the
 
the particular version of the work that was contributed.  The claim set
 
cannot expand as a work is further modified downstream.  (If it could,
 
then any software patent claim would be included, since any software
 
patent claim can be infringed by some further modification of the
 
work.)\footnote{However, ``the work'' should not be understood to be
 
restricted to a particular mechanical affixation of, or medium for
 
distributing, a program, where the same program might be provided in
 
other forms or in other ways that may be captured by other patent claims
 
held by the contributor.}
 

	
 
\medskip
 

	
 
Ideally, this contributor patent policy will result in fairly frequent licensing of patent
 
claims by contributors.  A contributor is charged with awareness of the fact
 
that it has modified a work and provided it to others; no act of contribution
 
should be treated as inadvertent.  GPLv3's rule also requires no more work, for a
 
contributor, than the weaker rule proposed by the patent holders.  Under
 
their rule, the contributor must always compare the entire work against its
 
patent portfolio to determine whether the combination of the modifications
 
with the remainder of the work cause it to read on any of the contributor's
 
patent claims.
 

	
 
\subsection{Conveyors' Patent Licensing}
 

	
 
The remaining patent licensing in GPLv3 deals with patent licenses that are
 
granted by conveyance.  The licensing is not as complete or far reaching at
 
the contributor patent licenses discussed in the preceding section.
 

	
 
The term ``patent license,'' as used in GPLv3~\S11\P4--6, is not meant to be
 
confined to agreements formally identified or classified as patent licenses.
 
GPLv3~\S11\P3  makes this clear by defining ``patent
 
license,'' for purposes of the subsequent three paragraphs, as ``any express
 
agreement or commitment, however denominated, not to enforce a patent
 
(such as an express permission to practice a patent or covenant not to
 
sue for patent infringement)''
 

	
 
% FIME-LATER: I want to ask Fontana about this before adding it.
 

	
 
% The definition does not include patent licenses that arise by
 
% implication or operation of law, because the third through fifth paragraphs
 
% of section 11 are specifically concerned with explicit promises that purport
 
% to be legally enforceable.
 

	
 
GPLv3~\S11\P5 is commonly called GPLv3's downstream shielding provision.  It
 
responds particularly to the problem of exclusive deals between patent
 
holders and distributors, which threaten to distort the free software
 
distribution system in a manner adverse to developers and users.  The
 
fundamental idea is to make a trade-off between assuring a patent license for
 
downstream and making  (possibly patent-encumbered) CCS publicly available.
 

	
 
Simply put, in nearly all cases in which the ``knowingly relying'' test is
 
met, the patent license will indeed not be sublicensable or generally
 
available to all on free terms.  If, on the other hand, the patent license is
 
generally available under terms consistent with the requirements of the GPL,
 
the distributor is automatically in compliance, because the patent license
 
has already been extended to all downstream recipients.  Finally, if the
 
patent license is sublicensable on GPL-consistent terms, the distributor may
 
choose to grant sublicenses to downstream recipients instead of causing the
 
CCS to be publicly available.  (In such a case, if the distributor is also a
 
contributor, it will already have granted a patent sublicense anyway, and so
 
it need not do anything further to comply with the third paragraph.)
 

	
 
Admittedly, public disclosure of CCS is not necessarily required in by other
 
sections of the GPL, and the FSF in drafting GPLv3 did not necessarily wish
 
to impose a general requirement to make source code available to all, which
 
has never been a GPL condition.  However, many vendors who produce products
 
that include copylefted software, and who most likely to be affected by the
 
downstream shielding provision, lobbied for the addition of the source code
 
availability option, so it remains.
 

	
 
Meanwhile, two specific alternatives to the source code availability option
 
are also available. The distributor may comply by disclaiming the patent
 
license it has been granted for the conveyed work, or by arranging to extend
 
the patent license to downstream recipients\footnote{The latter option, if
 
  chosen, must be done ``in a manner consistent with the requirements of this
 
  License''; for example, it is unavailable if extension of the patent
 
  license would result in a violation of GPLv3~\S 12.}.  The GPL is intended
 
to permit private distribution as well as public distribution, and the
 
addition of these options ensures that this remains the case, even though it
 
remains likely that distributors in this situation will usually choose the
 
source code availability option.
 

	
 
Note that GPLv3~\S11\P5 is activated only if the CCS is not already otherwise
 
publicly available.  (Most often it will, in fact, already be available on
 
some network server operated by a third party.)  Even if it is not already
 
available, the option to ``cause the Corresponding Source to be so
 
available'' can then be satisfied by verifying that a third party has acted
 
to make it available.  That is to say, the affected distributor need not
 
itself host the CCS to take advantage of the source code availability option.
 
This subtlety may help the distributor avoid certain peculiar assumptions of
 
liability.
 

	
 
Note that GPLv3~\S11\P6--7 are designed to stop distributors from colluding with
 
third parties to offer selective patent protection.  GPLv3 is designed to
 
ensure that all users receive the same rights; arrangements that circumvent
 
this make a mockery of free software, and we must do everything in our power
 
to stop them.
 

	
 
First, GPLv3~\S11\P6 states that any license that protects some recipients of
 
GPLed software must be extended to all recipients of the software.  
 
If conveyors arrange to provide patent
 
protection to some of the people who get the software from you, that
 
protection is automatically extended to everyone who receives the software,
 
no matter how they get it. 
 

	
 
Second, GPLv3~\S11\P7
 
prohibit anyone who made such an agreement from distributing software
 
released under GPLv3.    Conveyors are prohibited from
 
distributing software under GPLv3 if the conveyor makes an agreement of that
 
nature in the future.
 

	
 
The date in GPLv3~\S11\P7 likely seems arbitrary to those who did not follow
 
the GPLv3 drafting process.  This issue was hotly debated during the drafting of
 
GPLv3, but ultimately one specific deal of this type --- a deal between Microsoft
 
and Novell for Microsoft to provide so-called ``coupons'' to Microsoft customers to redeem
 
for copies of Novell's GNU/Linux distribution with a Microsoft patent license -- was
 
designed to be excluded.
 

	
 
The main reason for this was a tactical decision by the FSF.  FSF believed they can do more to
 
protect the community by allowing Novell to use software under GPLv3
 
than by forbidding it to do so.  This is because of
 
paragraph 6 of section 11 (corresponding to paragraph 4 in Draft 3).
 
It will apply, under the Microsoft/Novell deal, because of the coupons
 
that Microsoft has acquired that essentially commit it to participate
 
in the distribution of the Novell SLES GNU/Linux system.
 

	
 
The FSF also gave a secondary reason:  to avoid affecting other kinds of agreements for
 
other kinds of activities.  While GPLv3 sought to 
 
distinguish pernicious deals of the Microsoft/Novell type from
 
business conduct that is not particularly harmful, the FSF also did not
 
assume success in that drafting, and thus there remained some risk that other
 
unchangeable past agreements could fall within the  scope of GPLv3~\S11\P7.
 
In future deals, distributors engaging in ordinary business practices
 
can structure the agreements so that they do not fall under GPLv3~\S11\P7.
 

	
 
\section{GPLv3~\S12: Familiar as GPLv2~\S7}
 

	
 
GPLv2~\S12 remains almost completely unchanged from the text that appears
 
GPLv2~\S7.  This is an important provision that ensures a catch-all to ensure
 
that nothing ``surprising'' interferes with the continued conveyance safely
 
under copyleft.
 

	
 
The wording in the first sentence of GPLv3~\S12 has been revised slightly to
 
clarify that an agreement -- such as a litigation settlement agreement or a
 
patent license agreement -- is one of the ways in which conditions may be
 
``imposed'' on a GPL licensee that may contradict the conditions of the GPL,
 
but which do not excuse the licensee from compliance with those conditions.
 
This change codifies the historical interpretation of GPLv2.
 

	
 
GPLv3 removed the limited severability clause of GPLv2~\S7 as a
 
matter of tactical judgment, believing that this is the best way to ensure
 
that all provisions of the GPL will be upheld in court. GPLv3 also removed
 
the final sentence of GPLv2 section 7, which the FSF consider to be unnecessary.
 

	
 
\section{GPLv3~\S13: The Great Affero Compromise}
 

	
 
The main purpose of clause 7b4 was to attain GPLv3 compatibility for the
 
additional condition of version 1 of the Affero GPL, with a view to
 
achieving compatibility for a future version, since version 1 was
 
incompatible with GPLv3.\footnote{Version 1 of the Affero GPL contains
 
its own copyleft clause, worded identically to that in GPLv2, which
 
conflicts with the copyleft clause in GPLv3.  The Affero GPL permits
 
relicensing under versions of the GPL later than version 2, but only if
 
the later version ``includes terms and conditions substantially
 
equivalent to those of this license'' (Affero GPL, version 1, section
 
9). The Affero license was written with the expectation that its
 
The Affero GPL was written with the expectation that its
 
additional requirement would be incorporated into the terms of GPLv3
 
itself, rather than being placeable on parts added to a covered work
 
through the mechanism of section 7 of GPLv3.}  However, we wrote the
 
clause broadly enough to cover a range of other possible terms that
 
would differ from the Affero condition in their details. Draft 3 no
 
longer pursues the more ambitious goal of allowing compatibility for a
 
whole category of Affero-like terms.  In place of 7b4, we have added a
 
new section 13 that simply permits GPLv3-covered code to be linked with
 
code covered by the forthcoming version 2 of the Affero GPL.
 

	
 
We have made this decision in the face of irreconcilable views from
 
different parts of our community.  While we had known that many
 
commercial users of free software were opposed to the inclusion of a
 
mandatory Affero-like requirement in the body of GPLv3 itself, we were
 
surprised at their opposition to its availability through section 7.
 
Free software vendors allied to these users joined in their objections,
 
as did a number of free software developers arguing on ethical as well
 
as practical grounds.
 

	
 
Some of this hostility seemed to be based on a misapprehension that
 
Affero-like terms placed on part of a covered work would somehow extend
 
to the whole of the work.\footnote{It is possible that the presence of
 
the GPLv2-derived copyleft clause in the existing Affero GPL contributed
 
to this misunderstanding.}  Our explanations to the contrary did little
 
to satisfy these critics; their objections to 7b4 instead evolved into a
 
broader indictment of the additional requirements scheme of section 7.
 
It was clear, however, that much of the concern about 7b4 stemmed from
 
its general formulation.  Many were alarmed at the prospect of GPLv3
 
compatibility for numerous Affero-like licensing conditions,
 
unpredictable in their details but potentially having significant
 
commercial consequences.
 

	
 
On the other hand, many developers, otherwise sympathetic to the policy
 
goals of the Affero GPL, have objected to the form of the additional
 
requirement in that license.  These developers were generally
 
disappointed with our decision to allow Affero-like terms through
 
section 7, rather than adopt a condition for GPLv3.  Echoing their
 
concerns about the Affero GPL itself, they found fault with the wording
 
of the section 7 clause in both of the earlier drafts.  We drafted 7b4
 
at a higher level than its Draft 1 counterpart based in part on comments
 
from these developers. They considered the Draft 1 clause too closely
 
tied to the Affero mechanism of preserving functioning facilities for
 
downloading source, which they found too restrictive of the right of
 
modification.  The 7b4 rewording did not satisfy them, however. They
 
objected to its limitation to terms requiring compliance by network
 
transmission of source, and to the technically imprecise or inaccurate
 
use of the phrase ``same network session.''
 

	
 
We have concluded that any redrafting of the 7b4 clause would fail to
 
satisfy the concerns of both sets of its critics.  The first group
 
maintains that GPLv3 should do nothing about the problem of public
 
use. The second group would prefer for GPLv3 itself to have an
 
Affero-like condition, but that seems to us too drastic. By permitting
 
GPLv3-covered code to be linked with code covered by version 2 of the
 
Affero GPL, the new section 13 honors our original commitment to
 
achieving GPL compatibility for the Affero license.
 

	
 
Version 2 of the Affero GPL is not yet published.  We will work with
 
Affero, Inc., and with all other interested members of our community, to
 
complete the drafting of this license following the release of Draft 3,
 
with a goal of having a final version available by the time of our
 
adoption of the final version of GPLv3.  We hope the new Affero license
 
will satisfy those developers who are concerned about the issue of
 
public use of unconveyed versions but who have concerns about the
 
narrowness of the condition in the existing Affero license.
 

	
 
As the second sentence in section 13 indicates, when a combined work is
 
made by linking GPLv3-covered code with Affero-covered code, the
 
copyleft on one part will not extend to the other part.\footnote{The
 
plan is that the additional requirement of the new Affero license will
 
state a reciprocal limitation.} That is to say, in such combinations,
 
the Affero requirement will apply only to the part that was brought into
 
the combination under the Affero license.  Those who receive such a
 
combination and do not wish to use code under the Affero requirement may
 
remove the Affero-covered portion of the combination.
 

	
 
Those who criticize the permission to link with code under the Affero
 
itself.  Many software freedom advocates, including some authors of this
 
tutorial, advocated heavily for that, and fully expected it to happen.
 

	
 
The FSF, however, chose not to include the Affero clause in GPLv3, due to
 
what it called  ``irreconcilable views from
 
different parts of the community''.  Many
 
commercial users of Free Software were opposed to the inclusion of a
 
mandatory Affero-like requirement in the body of GPLv3 itself.  In fact, some
 
wealthier companies even threatened to permanently fund forks of many FSF
 
copyrighted-programs under GPLv2 if the Affero clause appeared in GPLv3.
 

	
 
Meanwhile, there was disagreement even among copyleft enthusiasts about the
 
importance of the provision.  A coalition never formed, and ultimately the
 
more powerful interest implicitly allied with the companies who deeply opposed
 
the Affero clause such that the FSF felt the Affero clause would need its own
 
license, but one compatible with GPLv3. 
 

	
 
GPLv3~\S13 makes GPLv3 compatible with the AGPLv3, so that at least code can
 
be shared between AGPLv3'd and GPLv3' projects, even if the Affero clause
 
does not automatically apply to all GPLv3'd works.
 

	
 
%FIXME-LATER:  no time to do this justice, will come back later, instead the
 
%above.
 

	
 
%% Some of this hostility seemed to be based on a misapprehension that
 
%% Affero-like terms placed on part of a covered work would somehow extend
 
%% to the whole of the work.\footnote{It is possible that the presence of
 
%% the GPLv2-derived copyleft clause in the existing Affero GPL contributed
 
%% to this misunderstanding.}  Our explanations to the contrary did little
 
%% to satisfy these critics; their objections to 7b4 instead evolved into a
 
%% broader indictment of the additional requirements scheme of section 7.
 
%% It was clear, however, that much of the concern about 7b4 stemmed from
 
%% its general formulation.  Many were alarmed at the prospect of GPLv3
 
%% compatibility for numerous Affero-like licensing conditions,
 
%% unpredictable in their details but potentially having significant
 
%% commercial consequences.
 

	
 
%% On the other hand, many developers, otherwise sympathetic to the policy
 
%% goals of the Affero GPL, have objected to the form of the additional
 
%% requirement in that license.  These developers were generally
 
%% disappointed with our decision to allow Affero-like terms through
 
%% section 7, rather than adopt a condition for GPLv3.  Echoing their
 
%% concerns about the Affero GPL itself, they found fault with the wording
 
%% of the section 7 clause in both of the earlier drafts.  We drafted 7b4
 
%% at a higher level than its Draft 1 counterpart based in part on comments
 
%% from these developers. They considered the Draft 1 clause too closely
 
%% tied to the Affero mechanism of preserving functioning facilities for
 
%% downloading source, which they found too restrictive of the right of
 
%% modification.  The 7b4 rewording did not satisfy them, however. They
 
%% objected to its limitation to terms requiring compliance by network
 
%% transmission of source, and to the technically imprecise or inaccurate
 
%% use of the phrase ``same network session.''
 

	
 
%% We have concluded that any redrafting of the 7b4 clause would fail to
 
%% satisfy the concerns of both sets of its critics.  The first group
 
%% maintains that GPLv3 should do nothing about the problem of public
 
%% use. The second group would prefer for GPLv3 itself to have an
 
%% Affero-like condition, but that seems to us too drastic. By permitting
 
%% GPLv3-covered code to be linked with code covered by version 2 of the
 
%% Affero GPL, the new section 13 honors our original commitment to
 
%% achieving GPL compatibility for the Affero license.
 

	
 
%% Version 2 of the Affero GPL is not yet published.  We will work with
 
%% Affero, Inc., and with all other interested members of our community, to
 
%% complete the drafting of this license following the release of Draft 3,
 
%% with a goal of having a final version available by the time of our
 
%% adoption of the final version of GPLv3.  We hope the new Affero license
 
%% will satisfy those developers who are concerned about the issue of
 
%% public use of unconveyed versions but who have concerns about the
 
%% narrowness of the condition in the existing Affero license.
 

	
 
%% As the second sentence in section 13 indicates, when a combined work is
 
%% made by linking GPLv3-covered code with Affero-covered code, the
 
%% copyleft on one part will not extend to the other part.\footnote{The
 
%% plan is that the additional requirement of the new Affero license will
 
%% state a reciprocal limitation.} That is to say, in such combinations,
 
%% the Affero requirement will apply only to the part that was brought into
 
%% the combination under the Affero license.  Those who receive such a
 
%% combination and do not wish to use code under the Affero requirement may
 
%% remove the Affero-covered portion of the combination.
 

	
 
Meanwhile, those who criticize the permission to link with code under the Affero
 
GPL should recognize that most other free software licenses also permit
 
such linking. 
 

	
 
\section{GPLv3~\S14: So, When's GPLv4?}
 
\label{GPLv3s14}
 

	
 
% FIXME Say more
 

	
 
No substantive change has been made in section 14. The wording of the section
 
has been revised slightly to make it clearer.
 

	
 
% FIXME; proxy
 

	
 
\section{GPLv3~\S15--17: Warranty Disclaimers and Liability Limitation}
 

	
 
No substantive changes have been made in sections 15 and 16.
 

	
 
% FIXME: more, plus 17
 

	
 
% FIXME: Section header needed here about choice of law.
 

	
 
% FIXME: reword into tutorial
 

	
 
Some have asked us to address the difficulties of internationalization
 
by including, or permitting the inclusion of, a choice of law
 
provision.  We maintain that this is the wrong approach.  Free
 
software licenses should not contain choice of law clauses, for both
 
legal and pragmatic reasons.  Choice of law clauses are creatures of
 
contract, but the substantive rights granted by the GPL are defined
 
under applicable local copyright law. Contractual free software
 
licenses can operate only to diminish these rights.  Choice of law
 
clauses also raise complex questions of interpretation when works of
 
software are created by combination and extension.  There is also the
 
real danger that a choice of law clause will specify a jurisdiction
 
that is hostile to free software principles.
 

	
 
% FIXME: reword into tutorial, \ref to section 7.
 

	
 
Our revised version of section 7 makes explicit our view that the
 
inclusion of a choice of law clause by a licensee is the imposition of
 
an additional requirement in violation of the GPL.  Moreover, if a
 
program author or copyright holder purports to supplement the GPL with
 
a choice of law clause, section 7 now permits any licensee to remove
 
that clause.
 

	
 

	
 
% FIXME: does this need to be a section, describing how it was out then in
 
% then out then in? :)
 

	
 
We have removed from this draft the appended section on ``How to Apply These
 
Terms to Your New Programs.'' For brevity, the license document can instead
 
refer to a web page containing these instructions as a separate document.
 

	
 
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 
\chapter{The Lesser GPL}
 

	
 
As we have seen in our consideration of the GPL, its text is specifically
 
designed to cover all possible derivative works under copyright law. Our
 
goal in designing GPL was to make sure that any derivative work of GPL'd
 
software was itself released under GPL when distributed. Reaching as far
 
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 the world as possible, particular tactical considerations
 
regarding software freedom dictate different means. Extending the
 
copyleft effect as far as copyright law allows is not always the most
 
prudent course in reaching the goal. In particular situations, even
 
those of us with the goal of building a world where all published
 
software is Free Software realize that full copyleft does not best
 
serve us. The GNU Lesser General Public License (``GNU LGPL'') was
 
designed as a solution for such situations.
 

	
 
\section{The First LGPL'd Program}
 

	
 
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
 
become (and today, now is) a drop-in replacement for existing C libraries.
 
On a Unix-like operating system, C is the lingua franca and the C library
 
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
 
system without making use of services provided by the C library --- even
 
if the program is written in a language other than C\@. Effectively, all
 
user application programs that run on any modern Unix-like system must
 
make use of the C library.
 

	
 
By the time work began on the GNU implementation of the C libraries, there
 
were already many C libraries in existence from a variety of vendors.
 
Every proprietary Unix vendor had one, and many third parties produced
 
smaller versions for special purpose use. However, our goal was to create
 
a C library that would provide equivalent functionality to these other C
 
libraries on a Free Software operating system (which in fact happens today
 
on modern GNU/Linux systems, which all use the GNU C Library).
 

	
 
Unlike existing GNU application software, however, the licensing
 
implications of releasing the GNU C Library (``glibc'') under GPL were
 
somewhat different. Applications released under GPL would never
 
themselves become part of proprietary software. However, if glibc were
 
released under GPL, it would require that any application distributed for
 
the GNU/Linux platform be released under GPL\@.
 

	
 
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
 
other words, all applications running on a Unix-like system must be
 
combined with the C library to form a new whole derivative work that is
 
composed of the original application and the C library. Thus, if glibc
 
were GPL'd, each and every application distributed for use on GNU/Linux
 
would also need to be GPL'd, since to even function, such applications
 
would need to be combined into larger derivative works by linking with
 
glibc.
 

	
 
At first glance, such an outcome seems like a windfall for Free Software
 
advocates, since it stops all proprietary software development on
 
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
 
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 anyone who wished to write proprietary software for GNU/Linux systems.
 
The de-facto standard for the C library on GNU/Linux would likely be not
 
glibc, but the most popular proprietary one.
 

	
 
Meanwhile, the actual goal of releasing glibc under GPL --- to ensure no
 
proprietary applications on GNU/Linux --- would be unattainable in this
 
scenario. Furthermore, users of those proprietary applications would also
 
be users of a proprietary C library, not the Free glibc.
 

	
 
The Lesser GPL was initially conceived to handle this scenario. It was
 
clear that the existence of proprietary applications for GNU/Linux was
 
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
 
were released under a license that permitted proprietary applications
 
to link with it, but made sure that the library itself remained Free,
 
an ancillary goal could be met. Users of proprietary applications, while
 
they would not have the freedom to copy, share, modify and redistribute
 
the application itself, would have the freedom to do so with respect to
 
the C library.
 

	
 
There was no way the license of glibc could stop or even slow the creation
 
of proprietary applications on GNU/Linux. However, loosening the
 
restrictions on the licensing of glibc ensured that nearly all proprietary
 
applications at least used a Free C library rather than a proprietary one.
 
This trade-off is central to the reasoning behind the LGPL\@.
 

	
 
Of course, many people who use the LGPL today are not thinking in these
 
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.
 
However, understanding FSF's reasoning behind the creation of the LGPL is
 
helpful when studying the license.
 

	
 

	
 
\section{What's the Same?}
 

	
 
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
 
identical, or that have the minor modification changing the word
 
``Program'' to ``Library.''
 

	
 
First, LGPLv2.1~\S1, the rules for verbatim copying of source, are
 
equivalent to those in GPLv2~\S1.
 

	
 
Second, LGPLv2.1~\S8 is equivalent GPLv2~\S4\@. In both licenses, this
 
section handles termination in precisely the same manner.
 

	
 
LGPLv2.1~\S9 is equivalent to GPLv2~\S5\@. Both sections assert that
 
the license is a copyright license, and handle the acceptance of those
 
copyright terms.
 

	
 
LGPLv2.1~\S10 is equivalent to GPLv2~\S6. They both protect the
 
distribution system of Free Software under these licenses, to ensure that
 
up, down, and throughout the distribution chain, each recipient of the
 
software receives identical rights under the license and no other
 
restrictions are imposed.
 

	
 
LGPLv2.1~\S11 is GPLv2~\S7. As discussed, it is used to ensure that
 
other claims and legal realities, such as patent licenses and court
 
judgments, do not trump the rights and permissions granted by these
 
licenses, and requires that distribution be halted if such a trump is
 
known to exist.
 

	
 
LGPLv2.1~\S12 adds the same features as GPLv2~\S8. These sections are
 
used to allow original copyright holders to forbid distribution in
 
countries with draconian laws that would otherwise contradict these
 
licenses.
 

	
 
LGPLv2.1~\S13 sets up FSF as the steward of the LGPL, just as GPLv2~\S9
 
does for GPL. Meanwhile, LGPLv2.1~\S14 reminds licensees that copyright
 
holders can grant exceptions to the terms of LGPL, just as GPLv2~\S10
 
reminds licensees of the same thing.
 

	
 
Finally, the assertions of no warranty and limitations of liability are
 
identical; thus LGPLv2.1~\S15 and LGPLv2.1~\S16 are the same as GPLv2~\S11 and \S
 
12.
 

	
0 comments (0 inline, 0 general)