*** empty log message ***
This commit is contained in:
parent
72f969b8a2
commit
c19b9d2557
3 changed files with 293 additions and 250 deletions
|
@ -41,7 +41,7 @@ Sponsored by the Free Software Foundation \\
|
|||
|
||||
Columbia Law School, New York, NY, USA \\
|
||||
\vspace{.1in}
|
||||
Wednesday 21 January 2003
|
||||
Wednesday 21 January 2004
|
||||
}
|
||||
|
||||
\vspace{.7in}
|
||||
|
@ -85,7 +85,6 @@ any medium, provided this notice is preserved.
|
|||
|
||||
\begin{abstract}
|
||||
|
||||
|
||||
This one-day course presents the details of five different GPL compliance
|
||||
cases handled by FSF's GPL Compliance Laboratory. Each case offers unique
|
||||
insights into problems that can arise when the terms of GPL are not
|
||||
|
@ -101,6 +100,15 @@ that deal with Free Software on a regular basis. However, technical
|
|||
managers and executives whose businesses use or distribute Free Software
|
||||
will also find the course very helpful.
|
||||
|
||||
\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 these case
|
||||
studies is the most illuminating part about them. Merely reading this
|
||||
material is akin to matriculating into a college course and read only the
|
||||
textbook instead of going to class.
|
||||
|
||||
\end{abstract}
|
||||
|
||||
\tableofcontents
|
||||
|
@ -124,58 +132,61 @@ propagate throughout the distribution chain of the software.
|
|||
As we have learned, the assurance that Free Software under GPL remains
|
||||
Free Software is accomplished through various terms of GPL: \S 3 ensures
|
||||
that binaries are always accompanied with source; \S 2 ensures that the
|
||||
sources are adequate, complete and usable; \S 6 and \S 7 ensures that the
|
||||
sources are adequate, complete and usable; \S 6 and \S 7 ensure that the
|
||||
license of the software is always GPL for everyone, and that no other
|
||||
legal agreements or licenses trump GPL; \S 4 ensures that the GPL can be
|
||||
enforced.
|
||||
legal agreements or licenses trump GPL. It is \S 4, however, that ensures
|
||||
that the GPL can be enforced.
|
||||
|
||||
In fact, \S 4 is where we begin our discussion of GPL enforcement. This
|
||||
Thus, \S 4 is where we begin our discussion of GPL enforcement. This
|
||||
clause is where the legal teeth of the license are rooted. As a copyright
|
||||
license, GPL governs only the activities governed by copyright law ---
|
||||
copying, modifying and redistributing computer software. Unlike most
|
||||
copyright licenses, GPL gives wide grants of permission for engaging with
|
||||
these activities. Such permissions continue and all parties may exercise
|
||||
until such time as one party violates the terms of GPL\@. At the moment
|
||||
of such a violation --- the engaging of copying, modifying or
|
||||
redistributing in ways not permitted by GPL --- \S 4 is invoked.
|
||||
them until such time as one party violates the terms of GPL\@. At the
|
||||
moment of such a violation (i.e., the engaging of copying, modifying or
|
||||
redistributing in ways not permitted by GPL) \S 4 is invoked. While other
|
||||
parties may continue to operate under GPL, the violating party loses their
|
||||
rights.
|
||||
|
||||
Specifically, \S 4 terminates the violators rights to continue engaging
|
||||
Specifically, \S 4 terminates the violators' rights to continue engaging
|
||||
in the permissions that otherwise granted by GPL\@. Effectively, their
|
||||
permission go back to the copyright defaults --- no permission to copy,
|
||||
modify, or redistribute the work. Meanwhile, \S 5 points out that if
|
||||
if the violator has no rights under GPL --- as they will not once they
|
||||
have violated it --- then they otherwise have no right and are prohibited
|
||||
by copyright law from engaging in the activities of copying, modifying
|
||||
and distributing.
|
||||
permissions go back to the copyright defaults --- no permission is granted
|
||||
to copy, modify, nor redistribute the work. Meanwhile, \S 5 points out
|
||||
that if if the violator has no rights under GPL --- as they will not once
|
||||
they have violated it --- then they otherwise have no rights and are
|
||||
prohibited by copyright law from engaging in the activities of copying,
|
||||
modifying and distributing.
|
||||
|
||||
\section{Ongoing Violations}
|
||||
|
||||
In conjunction with \S 4's termination of violators' rights, there is one
|
||||
final industry fact is added to the mix: rarely, does on engage in a
|
||||
single, solitary act of copying, distributing or modifying software.
|
||||
Almost always, a violator will have legitimately acquired a copy a GPL'd
|
||||
program --- either made modifications or not --- and then begun a ongoing
|
||||
activity of distributing that work. For example, the violator may have
|
||||
put the software in boxes and sold them at stores. Or perhaps the
|
||||
software was put up for download on the Internet. Regardless of the
|
||||
delivery mechanism, violators almost always are engaged in {\em ongoing\/}
|
||||
final industry fact added to the mix: rarely, does one engage in a single,
|
||||
solitary act of copying, distributing or modifying software. Almost
|
||||
always, a violator will have legitimately acquired a copy a GPL'd program,
|
||||
either making modifications or not, and then began a ongoing activity of
|
||||
distributing that work. For example, the violator may have put the
|
||||
software in boxes and sold them at stores. Or perhaps the software was
|
||||
put up for download on the Internet. Regardless of the delivery
|
||||
mechanism, violators almost always are engaged in {\em ongoing\/}
|
||||
violation of GPL\@.
|
||||
|
||||
In fact, when we discover a GPL violation that occurred only once --- for
|
||||
example, a user group who distributed copies of a GNU/Linux system without
|
||||
source at a meeting once --- we rarely pursue it with a high degree of
|
||||
diligence. In our minds, that is an educational problem, and unless the
|
||||
user group becomes a repeat offender (as it turns out, the never do) we
|
||||
simply send an FAQ entry that best explains how user groups can most
|
||||
easily comply with GPL, and send them on there merry way.
|
||||
source at one meeting --- we rarely pursue it with a high degree of
|
||||
tenacity. In our minds, such a violation is an educational problem, and
|
||||
unless the user group becomes a repeat offender (as it turns out, the
|
||||
never do) we simply forward along an FAQ entry that best explains how user
|
||||
groups can most easily comply with GPL, and send them on there merry way.
|
||||
|
||||
It is only the cases of {\em ongoing\/} GPL violation that warrant our
|
||||
active attention. We vehemently pursue those cases where dozens, hundreds
|
||||
or thousands of customers are receiving software that is out of
|
||||
compliance, and the company continually puts for sale (or distributes
|
||||
gratis as a demo) software distributions that include GPL'd components out
|
||||
of compliance. Our goal is to maximize the impact of enforcement and
|
||||
educate industries who are making a mistake on a large scale.
|
||||
compliance, and where the company continually puts for sale (or
|
||||
distributes gratis as a demo) software distributions that include GPL'd
|
||||
components out of compliance. Our goal is to maximize the impact of
|
||||
enforcement and educate industries who are making such a mistake on a
|
||||
large scale.
|
||||
|
||||
In addition, such ongoing violation shows that a particular company is
|
||||
committed to a GPL'd product line. We are thrilled to learn that someone
|
||||
|
@ -186,40 +197,41 @@ gives us an active opportunity to educate a new contributor the GPL'd
|
|||
commons about proper procedures to contribute to the community.
|
||||
|
||||
Our central goal is not, in fact, to merely clear up particular violation.
|
||||
Over time, we hope that our compliance lab will be out of business. We
|
||||
seek to educate the businesses that engage in commerce related to GPL'd
|
||||
software to obey the rules of the road and allow them to operate freely
|
||||
under them. Just as a traffic officer would not revel in reminding people
|
||||
which side of the road to drive in, so we do not revel in violations. By
|
||||
contrast, we revel in the successes of educating an ongoing violator about
|
||||
GPL so that GPL compliance becomes a second-nature matter, and they join
|
||||
the GPL ecosystem as contributors.
|
||||
In fact, over time, we hope that our compliance lab will be out of
|
||||
business. We seek to educate the businesses that engage in commerce
|
||||
related to GPL'd software to obey the rules of the road and allow them to
|
||||
operate freely under them. Just as a traffic officer would not revel in
|
||||
reminding people which side of the road to drive on, so we do not revel in
|
||||
violations. By contrast, we revel in the successes of educating an
|
||||
ongoing violator about GPL so that GPL compliance becomes a second-nature
|
||||
matter, allowing that company to join the GPL ecosystem as a contributor.
|
||||
|
||||
\section{How are Violations Discovered?}
|
||||
|
||||
Our enforcement of GPL is not a fund-raising effort; in fact, FSF's GPL
|
||||
compliance lab runs at a loss (in other words, it is subsided by our
|
||||
Compliance Lab runs at a loss (in other words, it is subsided by our
|
||||
donors). Our violation reports come from volunteers, who have encountered
|
||||
in their business or personal life, a device or software product that
|
||||
appears to contain GPL'd software; these reports are usually sent via
|
||||
email to $<$license-violation@fsf.org$>$.
|
||||
appears to contain GPL'd software. These reports are almost always sent
|
||||
via email to $<$license-violation@fsf.org$>$.
|
||||
|
||||
Our first order of business, upon receiving such a report, is to seek
|
||||
independent confirmation. When possible, we get a copy of the software
|
||||
product. For example, if it is an offering that is downloadable from a
|
||||
website, we download it and investigate ourselves. When it is not
|
||||
possible for us to actually get a copy of the software, we ask the
|
||||
reporter to go through the same process we use in examining the software.
|
||||
reporter to go through the same process we would use in examining the
|
||||
software.
|
||||
|
||||
By rough estimation, about 95\% of violations at this stage can be
|
||||
confirmed by simple commands. Since almost all violators have merely made
|
||||
an error, and have no nefarious intentions, they have made no attempt to
|
||||
remove our copyright notices from the software. Given the third-party
|
||||
binary, {\tt tpb}, usually, a simple command (on a GNU/Linux system) such
|
||||
as the following will find an Free Software copyright notice and GPL
|
||||
reference:
|
||||
confirmed by simple commands. Almost all violators have merely made an
|
||||
error and have no nefarious intentions. They have made no attempt to
|
||||
remove our copyright notices from the software. Thus, given the
|
||||
third-party binary, {\tt tpb}, usually, a simple command (on a GNU/Linux
|
||||
system) such as the following will find a Free Software copyright notice
|
||||
and GPL reference:
|
||||
\begin{quotation}
|
||||
{\tt string tpb | grep Copyright}
|
||||
{\tt strings tpb | grep Copyright}
|
||||
\end{quotation}
|
||||
In other words, it is usually more than trivial to confirm that GPL'd
|
||||
software is included.
|
||||
|
@ -229,17 +241,17 @@ determine whose copyright has been violated. Contrary to popular belief,
|
|||
FSF does not have the power to enforce GPL in all cases. Since GPL
|
||||
operates under copyright law, the powers of enforcement --- to seek
|
||||
redress once \S 4 has been invoked --- lies with the copyright holder of
|
||||
the software. FSF is one of the largest copyright holders in the world
|
||||
of GPL'd software, but we are by no means the only one. Thus, we
|
||||
sometimes discover that while GPL'd code is present in the software,
|
||||
there is no software copyrighted by FSF.
|
||||
the software. FSF is one of the largest copyright holders in the world of
|
||||
GPL'd software, but we are by no means the only one. Thus, we sometimes
|
||||
discover that while GPL'd code is present in the software, there is no
|
||||
software copyrighted by FSF present.
|
||||
|
||||
In cases where FSF does not hold copyright interest in the software, but
|
||||
we have confirmed a violation, we contact the copyright holders of the
|
||||
software, and encourage them to enforce GPL\@. We offer our good offices
|
||||
to help negotiate compliance on their behalf, and many times we help as a
|
||||
third party to settle such GPL violations. However, what we will
|
||||
describe in this course is FSF's first-hand experience enforcing its own
|
||||
third party to settle such GPL violations. However, what we will describe
|
||||
primarily in this course is FSF's first-hand experience enforcing its own
|
||||
copyrights and GPL\@.
|
||||
|
||||
\section{First Contact}
|
||||
|
@ -249,7 +261,7 @@ cooperation and mutual help. Our community has learned that cooperation
|
|||
works best when you assume the best of others, and only change policy,
|
||||
procedures and attitudes when some specific event or occurrence indicates
|
||||
that a change is necessary. We treat the process of GPL enforcement in
|
||||
the same way; our goal is to encourage violators to join the cooperative
|
||||
the same way. Our goal is to encourage violators to join the cooperative
|
||||
community of software sharing, so we want to open our hand in friendship
|
||||
to them.
|
||||
|
||||
|
@ -263,7 +275,7 @@ compliance work.
|
|||
|
||||
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
\chapter{Case Study: Davrik's Modified GCC}
|
||||
\chapter{Davrik: Modified GCC SDK}
|
||||
|
||||
In our first case study, we will consider Davrik, a company that produces
|
||||
software and hardware toolkits to assist OEM vendors who products consumer
|
||||
|
@ -287,13 +299,13 @@ with specious GPL violation complaints. FSF shelved the matter until
|
|||
more evidence was discovered.
|
||||
|
||||
FSF was later able to confirm the violation when two additional reports
|
||||
surfaced from other violation reports, both of whom had used the product
|
||||
surfaced from other violation reporters, both of whom had used the SDK
|
||||
professional and noticed clear similarities to FSF's GNU GCC\@. FSF's
|
||||
Compliance Engineer asked the reporters to run standard tests to confirm
|
||||
the violation, and it was confirmed that the product was indeed a
|
||||
derivative work of GCC, ported to Windows and with a number of features
|
||||
added, including support for a specific consumer device chipset and
|
||||
additional features to aid in the linking process (``LP'') for the
|
||||
the violation, and it was confirmed that Davrik's SDK was indeed a
|
||||
derivative work of GCC\@. Davrik had ported to Windows and added a number
|
||||
of features, including support for a specific consumer device chipset and
|
||||
additional features to aid in the linking process (``LP'') for those
|
||||
specific devices. FSF explained the rights that the GPL afforded these
|
||||
customers and pointed out, for example, that Davrik only needed to provide
|
||||
source to those in possession of the binaries, and that the users may need
|
||||
|
@ -303,18 +315,18 @@ confirmed that such requests were not answered.
|
|||
FSF brought the matter to the attention of Davrik, who immediately
|
||||
escalated the matter to their attorneys. After a long negotiation, Davrik
|
||||
acknowledged that their SDK was indeed a derivative work of GCC\@. Davrik
|
||||
released most of the source, but some disagreement occurred over whether LP
|
||||
was a derivate work of GCC\@. After repeated FSF inquiries, Davrik
|
||||
released most of the source, but some disagreement occurred over whether
|
||||
LP was a derivate work of GCC\@. After repeated FSF inquiries, Davrik
|
||||
reaudited the source and discovered that FSF's analysis was correct and
|
||||
determined that LP include a number of source files copied from the GCC
|
||||
determined that LP included a number of source files copied from the GCC
|
||||
code-base.
|
||||
|
||||
\label{davrik-build-problems}
|
||||
Once the full software release was made available, FSF asked the
|
||||
violation reporters if it addressed the problem. Reports came back that
|
||||
in fact the source did not properly build. FSF asked Davrik to provide
|
||||
better build instructions with the software, and such build instructions
|
||||
were incorporated into the next software release.
|
||||
Once the full software release was made available, FSF asked the violation
|
||||
reporters if it addressed the problem. Reports came back that the source
|
||||
did not properly build. FSF asked Davrik to provide better build
|
||||
instructions with the software, and such build instructions were
|
||||
incorporated into the next software release.
|
||||
|
||||
At FSF's request as well, Davrik informed customers who had previously
|
||||
purchased the product that the source was now available, by announcing
|
||||
|
@ -350,11 +362,11 @@ have under the GNU General Public License, Version 2.
|
|||
|
||||
This quelled Davrik's concerns about other patent licensing they sought to
|
||||
do outside of the GPL'd software, and satisfied FSF's concerns that they
|
||||
give no permissions to exercise teachings of patents that were not already
|
||||
give proper permissions to exercise teachings of patents that were
|
||||
exercised in their GPL'd software release.
|
||||
|
||||
Finally, a GPL Compliance Officer inside Davrik was appointed who is
|
||||
responsible for all matters of GPL Compliance inside the company. Darvik
|
||||
responsible for all matters of GPL compliance inside the company. Darvik
|
||||
is responsible for informing FSF if the position is given to someone else
|
||||
inside the company, and making sure that FSF has direct contact
|
||||
information with Darvik's Compliance Officer.
|
||||
|
@ -371,22 +383,23 @@ This case introduces a number of concepts regarding GPL enforcement.
|
|||
GPL education, many users do not fully understand their rights and the
|
||||
obligations that companies have. By working through the investigation
|
||||
with reporters, the violation can be properly confirmed, and {\bf the
|
||||
user of the software can be educated about what to expect as a user}.
|
||||
When users and customers of GPL'd products know their rights, what to
|
||||
expect, and how to properly exercise their rights (particularly under \S
|
||||
3(b)), it reduces the chances for user frustration and inappropriate
|
||||
community outcry about an alleged GPL violation.
|
||||
user of the software can be educated about what to expect with GPL'd
|
||||
software}. When users and customers of GPL'd products know their
|
||||
rights, what to expect, and how to properly exercise their rights
|
||||
(particularly under \S 3(b)), it reduces the chances for user
|
||||
frustration and inappropriate community outcry about an alleged GPL
|
||||
violation.
|
||||
|
||||
\item {\bf GPL compliance requires friendly negotiation and
|
||||
cooperation.} Often, attorneys and managers are legitimately surprised
|
||||
to find out GPL'd software is included in their company's products.
|
||||
Engineers sometimes include GPL'd software without understanding the
|
||||
requirements. This does not excuse companies from their obligations
|
||||
under the license, but it does mean that care and patience are
|
||||
essential for reaching GPL compliance. We want companies to understand
|
||||
that participating and benefiting from a collaborative Free Software
|
||||
community is not a burden, so we strive to make the process of coming
|
||||
into compliance when a problem occurs as smooth as possible.
|
||||
\item {\bf GPL compliance requires friendly negotiation and cooperation.}
|
||||
Often, attorneys and managers are legitimately surprised to find out
|
||||
GPL'd software is included in their company's products. Engineers
|
||||
sometimes include GPL'd software without understanding the requirements.
|
||||
This does not excuse companies from their obligations under the license,
|
||||
but it does mean that care and patience are essential for reaching GPL
|
||||
compliance. We want companies to understand that participating and
|
||||
benefiting from a collaborative Free Software community is not a burden,
|
||||
so we strive to make the process of coming into compliance as smooth as
|
||||
possible.
|
||||
|
||||
\item {\bf Confirming compliance is a community effort.} The whole point
|
||||
of making sure that software distributors respect the terms of GPL is to
|
||||
|
@ -404,21 +417,21 @@ This case introduces a number of concepts regarding GPL enforcement.
|
|||
violators to make some attempt --- such as via newsletters and the
|
||||
company's website --- to inform those who already have the products as
|
||||
to their rights under GPL\@. One of the key thrusts of GPL's \S 1 and
|
||||
\S 3 is to {\em make sure the user knows he has these rights\/}. If a
|
||||
product was received out of compliance by a customer, they may never
|
||||
actually discover that they had such rights. Informing them, in a way
|
||||
that is not burdensome but has a high probability of successfully
|
||||
\S 3 is to {\em make sure the user knows she has these rights\/}. If a
|
||||
product was received out of compliance by a customer, she may never
|
||||
actually discover that she had such rights. Informing customers, in a
|
||||
way that is not burdensome but has a high probability of successfully
|
||||
reaching those who would seek to exercise their freedoms, is essential
|
||||
to properly remedy the mistake.
|
||||
|
||||
\item {\bf Lines between various copyright, patent, and other legal
|
||||
mechanisms must be precisely defined and considered.} The most
|
||||
difficult negotiation point of this compliance case was drafting
|
||||
language that simultaneously protected the Davrik's patent rights
|
||||
outside of the GPL'd source, but was consistent with the implicit patent
|
||||
grant in GPL\@. As we discussed in the first course in this series,
|
||||
there is indeed an implicit patent grant with GPL, thanks to \S 6 and \S
|
||||
7. However, many companies become nervous and wish to make the grant
|
||||
difficult negotiation point of the Davrik case was drafting language
|
||||
that simultaneously protected the Davrik's patent rights outside of the
|
||||
GPL'd source, but was consistent with the implicit patent grant in
|
||||
GPL\@. As we discussed in the first course in this series, there is
|
||||
indeed an implicit patent grant with GPL, thanks to \S 6 and \S 7.
|
||||
However, many companies become nervous and wish to make the grant
|
||||
explicit to assure themselves that the grant is sufficiently narrow for
|
||||
their needs. We understand that there is no reasonable way to determine
|
||||
what patent claims read on a company's GPL holdings and which do not, so
|
||||
|
@ -431,6 +444,11 @@ This case introduces a number of concepts regarding GPL enforcement.
|
|||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
\chapter{Bracken: a Minor Violation in a GNU/Linux Distribution}
|
||||
|
||||
In this case study, we consider a minor violation made by a company whose
|
||||
knowledge of the Free Software community and it functions is deep.
|
||||
|
||||
\section{The Facts}
|
||||
|
||||
Bracken produces a GNU/Linux operating system product that is sold
|
||||
primarily to OEM vendors to be placed in appliance devices that are used
|
||||
for a single purpose, such as an Internet-browsing-only device. The
|
||||
|
@ -439,8 +457,8 @@ related Free Software licenses.
|
|||
|
||||
FSF found out about this violation through a report first posted in a
|
||||
comment on a Slashdot\footnote{Slashdot is a popular news and discussion
|
||||
site for technical readers.} comment, and then later brought to our
|
||||
attention by another Free Software copyright holder who had discovered the
|
||||
site for technical readers.} comment, and then was brought to attention
|
||||
again by another Free Software copyright holder who had discovered the
|
||||
same violation.
|
||||
|
||||
Bracken's GNU/Linux product is delivered directly from their website.
|
||||
|
@ -458,7 +476,7 @@ online distribution:
|
|||
contradicted the permissions granted by GPL\@.
|
||||
\end{itemize}
|
||||
|
||||
FSF contacted Bracken and gave them the details of the violation. Bracken
|
||||
FSF contacted Bracken and gave them the details of the violation. Bracken
|
||||
immediately ceased distribution of the product temporarily, and set forth
|
||||
a plan to bring themselves back into compliance. This plan included the
|
||||
following steps:
|
||||
|
@ -473,14 +491,14 @@ following steps:
|
|||
ever they distributed that way).
|
||||
|
||||
\item Bracken attorneys would run an internal seminar for its engineers
|
||||
regarding GPL proper compliance, to help ensure that such oversights
|
||||
regarding proper GPL compliance, to help ensure that such oversights
|
||||
regarding source releases would not occur in the future.
|
||||
|
||||
\item Bracken would resume distribution of the product only after FSF
|
||||
formally restored Bracken's distribution rights.
|
||||
\end{itemize}
|
||||
|
||||
This work was completed in the matter of about a month. FSF approved the
|
||||
This case was completed in the matter of about a month. FSF approved the
|
||||
new EULA text. They key portion in the EULA relating to GPL read as
|
||||
follows:
|
||||
|
||||
|
@ -511,7 +529,7 @@ completed as described.
|
|||
|
||||
\section{Lessons Learned}
|
||||
|
||||
This case was probably them most quickly and easily resolved of all GPL
|
||||
This case was probably the most quickly and easily resolved of all GPL
|
||||
violations in the history of FSF's Compliance Lab. The ease with which
|
||||
the problem was resolved shows a number of cultural factors that play a
|
||||
role in GPL compliance.
|
||||
|
@ -520,13 +538,13 @@ role in GPL compliance.
|
|||
|
||||
\item {\bf Companies that understand Free Software culture better have an
|
||||
easier time with compliance.} Bracken's products were designed and
|
||||
build around the GNU/Linux system and Free Software components. Their
|
||||
built around the GNU/Linux system and Free Software components. Their
|
||||
engineers were deeply familiar with the Free Software ecosystem, and
|
||||
their lawyers had seen and reviewed GPL before. The violation was
|
||||
completely an honest mistake, and since the culture inside the company
|
||||
had already adapted to the cooperative style of resolution to problems
|
||||
in the Free Software world, there was very little work for either
|
||||
party to bring the product into compliance.
|
||||
completely an honest mistake. Since the culture inside the company had
|
||||
already adapted to the cooperative style of resolution in the Free
|
||||
Software world, there was very little work for either party to bring the
|
||||
product into compliance.
|
||||
|
||||
\item {\bf When people in key positions understand the Free Software
|
||||
nature of their software products, compliance concerns are as mundane as
|
||||
|
@ -534,26 +552,26 @@ role in GPL compliance.
|
|||
its problems, and successful business often depends on agile response to
|
||||
the problems that do come up; avoiding problems altogether is a pipe
|
||||
dream. Minor GPL violations can and do happen even with well-informed
|
||||
redistributors, but when the company --- and in particular, the lawyers,
|
||||
managers, and engineers working on the Free Software product lines --
|
||||
have adapted to the cooperate Free Software culture, resolving such
|
||||
problems are merely a mundane details of typical operation and resolved
|
||||
just as easily.
|
||||
redistributors. However, when the company --- and in particular, the
|
||||
lawyers, managers, and engineers working on the Free Software product
|
||||
lines --- have adapted to the cooperative Free Software culture,
|
||||
resolving such problems is merely a mundane detail of typical operation
|
||||
and resolution is reached quickly.
|
||||
|
||||
\item {\bf Legally, distribution must stop when a violation is
|
||||
identified.} In our opinion, Bracken went above and beyond the call by
|
||||
ceasing distribution while the violation was being resolved. Under GPL
|
||||
\S 4, the redistributor loses the right to distribute the software, and
|
||||
thus they are in ongoing violation of copyright law as they distribute.
|
||||
It is FSF's policy to temporarily allow distribution while compliance
|
||||
negotiations are ongoing and only in the most extreme cases where the
|
||||
other party appears to be negotiating in bad faith does FSF even
|
||||
threaten an injunction on copyright grounds. However, Bracken --- as a
|
||||
good Free Software citizen --- chose to be on the safe side and do the
|
||||
legally correct thing while the violation case was pending. Since from
|
||||
start to finish it took less than am month to resolve, this lapse in
|
||||
distribute did not, to FSF's knowledge, impact their business in any
|
||||
way.
|
||||
identified.} In our opinion, Bracken went above and beyond the call of
|
||||
duty by ceasing distribution while the violation was being resolved.
|
||||
Under GPL \S 4, the redistributor loses the right to distribute the
|
||||
software, and thus they are in ongoing violation of copyright law if
|
||||
they distribute before rights are restored. It is FSF's policy to
|
||||
temporarily allow distribution while compliance negotiations are ongoing
|
||||
and only in the most extreme cases (where the other party appears to be
|
||||
negotiating in bad faith) does FSF even threaten an injunction on
|
||||
copyright grounds. However, Bracken --- as a good Free Software citizen
|
||||
--- chose to be on the safe side and do the legally correct thing while
|
||||
the violation case was pending. Since from start to finish it took less
|
||||
than am month to resolve, this lapse in distribution did not, to FSF's
|
||||
knowledge, impact Bracken's business in any way.
|
||||
|
||||
\item {\bf EULAs are a common area for GPL problems.} Often, EULAs are
|
||||
drafted from boilerplate text that a company uses for all its products.
|
||||
|
@ -562,8 +580,8 @@ role in GPL compliance.
|
|||
licenses. Drafting a EULA that accounts for such licenses is
|
||||
straightforward; the text quoted above works just fine. The EULA must
|
||||
be designed so that it does not trump and rights and permissions already
|
||||
granted by GPL\@, and it must be certain that if there is a conflict
|
||||
between EULA and GPL, with regard to GPL'd code, that the GPL is the
|
||||
granted by GPL\@, and it clearly state that if there is a conflict
|
||||
between the EULA and GPL, with regard to GPL'd code, that the GPL is the
|
||||
overriding license.
|
||||
|
||||
\item {\bf Compliance Officers are rarely necessary when companies are
|
||||
|
@ -601,15 +619,15 @@ a derivative work of GNU tar; the extraneous utilities merely made
|
|||
compliance with GPL by releasing the source of GNU tar, with the
|
||||
cryptographic modifications, to its customers.
|
||||
|
||||
Vigorien released the GNU tar sources, but kept the cryptographic library
|
||||
proprietary. They argued that the security of their system depending on
|
||||
keeping the software proprietary and that regardless, USA export
|
||||
restrictions on cryptographic software prohibited such a release. FSF
|
||||
disputed the claim on the first count, pointing out that Vigorien's had
|
||||
only one option if they did not want to release the source: they would
|
||||
have to remove GNU tar from the software and not distribute it further.
|
||||
Vigorien rejected this suggestion, since GNU tar was an integral part of
|
||||
the product and the security changes were useless without GNU tar.
|
||||
Vigorien released the original GNU tar sources, but kept the cryptographic
|
||||
modifications proprietary. They argued that the security of their system
|
||||
depending on keeping the software proprietary and that regardless, USA
|
||||
export restrictions on cryptographic software prohibited such a release.
|
||||
FSF disputed the first claim, pointing out that Vigorien had only one
|
||||
option if they did not want to release the source: they would have to
|
||||
remove GNU tar from the software and not distribute it further. Vigorien
|
||||
rejected this suggestion, since GNU tar was an integral part of the
|
||||
product and the security changes were useless without GNU tar.
|
||||
|
||||
Regarding the export control claims, FSF proposed a number of options,
|
||||
including release of the source from one of Vigorien's divisions overseas
|
||||
|
@ -629,18 +647,26 @@ did so, and the violation was resolved.
|
|||
|
||||
\item {\bf Removing the GPL'd portion of the product is always an option.}
|
||||
Many violators' first response is to simply refuse to release the source
|
||||
code as GPL required. FSF offers the option to simply remove the GPL'd
|
||||
code as GPL requires. FSF offers the option to simply remove the GPL'd
|
||||
portions from the product and continue along without them indefinitely.
|
||||
Every case where this has been suggested has led to the same conclusion.
|
||||
Like Vigorien, the violator argues that the product cannot function
|
||||
without the GPL'd components and they cannot effectively replace them.
|
||||
|
||||
Such an outcome of course is further evidence that the combined work in
|
||||
Such an outcome is simply further evidence that the combined work in
|
||||
question is indeed a derivative work of the original GPL'd component.
|
||||
If the other components cannot stand on their own and be useful without
|
||||
the GPL'd portions, then one cannot effectively argue that the work as a
|
||||
whole is not a derivative of the GPL'd portions.
|
||||
|
||||
\item {\bf The whole product is not always covered.} In this case,
|
||||
Vigorien had additional works aggregated. The backup system was a suite
|
||||
of utilities, some of which were GPL and some of which were not. While
|
||||
the cryptographic routines were tightly coupled with GNU tar and clearly
|
||||
derivative works, the various GUI utilities were separate and
|
||||
independent works merely aggregated with the distribution of the
|
||||
GNU-tar-based product.
|
||||
|
||||
|
||||
\item {\bf ``Security'' concerns do not exonerate a distributor from GPL
|
||||
obligations, and ``security through obscurity'' does not work anyway.}
|
||||
|
@ -662,11 +688,11 @@ did so, and the violation was resolved.
|
|||
by identifying them early.
|
||||
|
||||
\item {\bf External regulatory problems can be difficult to resolve.}
|
||||
GPL, though copyright law, does not have the power to trump regulations
|
||||
like export controls. While Vigorien's ``security concerns'' were
|
||||
specious, their export control concerns were not. It is indeed a
|
||||
difficult problem that FSF acknowledges. We want compliance with GPL
|
||||
and respect for users' freedoms, but we certainly do not expect
|
||||
GPL, though grounded in copyright law, does not have the power to trump
|
||||
regulations like export controls. While Vigorien's ``security
|
||||
concerns'' were specious, their export control concerns were not. It is
|
||||
indeed a difficult problem that FSF acknowledges. We want compliance
|
||||
with GPL and respect for users' freedoms, but we certainly do not expect
|
||||
companies to commit criminal offenses for the sake of compliance. We
|
||||
will see more about this issue in our next case study.
|
||||
\end{enumerate}
|
||||
|
@ -676,8 +702,8 @@ did so, and the violation was resolved.
|
|||
\chapter{Haxil, Polgara, and Thesulac: Mergers, Upstream Providers and Radio Devices}
|
||||
|
||||
This case study considers an ongoing (at the time of writing) violation
|
||||
that occurred. By the end of the investigation period, three companies
|
||||
were involved and many complex issues arose.
|
||||
that has occurred. By the end of the investigation period, three
|
||||
companies were involved and many complex issues arose.
|
||||
|
||||
\section{The Facts}
|
||||
|
||||
|
@ -695,10 +721,10 @@ arms about the violation.
|
|||
|
||||
Meanwhile, Haxil was in the midst of being acquired by Polgara. Polgara
|
||||
was as surprised as everyone else to discover the product was based on
|
||||
GPL'd software; it had not been part of the disclosures made during
|
||||
GPL'd software; this fact had not been part of the disclosures made during
|
||||
acquisition. FSF contacted both Haxil and Polgara, and product managers
|
||||
who had transitioned into the ``Haxil division'' of newly merged Polgara
|
||||
company worked and Polgara's General Counsel's office worked with FSF on
|
||||
who had transitioned into the ``Haxil division'' of the newly-merged
|
||||
Polgara company and Polgara's General Counsel's office worked with FSF on
|
||||
the matter.
|
||||
|
||||
FSF meanwhile formed a coalition with the other primary copyright holders
|
||||
|
@ -738,8 +764,8 @@ regarding the problem.
|
|||
\begin{enumerate}
|
||||
|
||||
\item {\bf Community outrage, while justified, can often make negotiation
|
||||
more difficult.} FSF has a strong policy to not publicized names of GPL
|
||||
violators if they are negotiating in a friendly way and operating in
|
||||
more difficult.} FSF has a strong policy never to publicize names of
|
||||
GPL violators if they are negotiating in a friendly way and operating in
|
||||
good faith toward compliance. Most violations are honest mistakes, and
|
||||
FSF sees no reason to publicly admonish violators who genuinely see to
|
||||
come into compliance with GPL and to work hard staying in compliance.
|
||||
|
@ -758,19 +784,21 @@ regarding the problem.
|
|||
during the acquisition process. While GPL compliance is not a
|
||||
particularly difficult matter, it is an additional obligation that comes
|
||||
along with the product line. When planning mergers and joint ventures,
|
||||
include lists of GPL'd components contained in the products discussed.
|
||||
one should include lists of GPL'd components contained in the products
|
||||
discussed.
|
||||
|
||||
\item {\bf Compliance problems of upstream providers do not excuse a
|
||||
violation for the downstream distributor.} To paraphrase \S 6, upstream
|
||||
providers are not responsible for enforcing compliance of their
|
||||
downstream, nor are downstream distributors responsible for compliance
|
||||
problems of upstream providers. However, engaging in distribution of
|
||||
GPL'd works out of compliance is still just that --- a compliance
|
||||
problem. When FSF carries out enforcement, we are patient and
|
||||
sympathetic when the problem appears to be upstream. In fact, we urge
|
||||
the violator to point us to the upstream provider to talk to them, and
|
||||
in this case we were happy to begin negotiations with Thesulac. However,
|
||||
Polgara still has an obligation to bring their product into compliance.
|
||||
GPL'd works out of compliance is still just that: a compliance problem.
|
||||
When FSF carries out enforcement, we are patient and sympathetic when
|
||||
the problem appears to be upstream. In fact, we urge the violator to
|
||||
point us to the upstream provider so we may talk to them directly. In
|
||||
this case we were happy to begin negotiations with Thesulac. However,
|
||||
Polgara still has an obligation to bring their product into compliance,
|
||||
regardless of Thesulac's response.
|
||||
|
||||
\item {\bf It behooves upstream providers to advise downstream
|
||||
distributors about compliance matters.} FSF has encouraged Thesulac to
|
||||
|
@ -779,7 +807,7 @@ regarding the problem.
|
|||
product, and it is conceivable that such additions can introduce
|
||||
compliance. In FSF's opinion, Thesulac is no way legally responsible
|
||||
for such a violation introduced by their customer, but it behooves them
|
||||
from a business standpoint to educate their customers about using the
|
||||
from a marketing standpoint to educate their customers about using the
|
||||
product. We can argue whether or not it is your coffee vendor's fault
|
||||
if you burn yourself with their product, but (likely) no one on either
|
||||
side would dispute the prudence of placing a ``caution: hot'' label on
|
||||
|
@ -803,6 +831,7 @@ regarding the problem.
|
|||
simple rule to follow, and following that rule to FSF's satisfaction
|
||||
usually means you are following it to the satisfaction of the entire
|
||||
Free Software community.
|
||||
|
||||
\end{enumerate}
|
||||
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
|
@ -853,4 +882,4 @@ distribute products based on GPL'd software:
|
|||
% LocalWords: Lessig Lessig's UCITA pre PDAs CDs reshifts GPL's Gentoo glibc
|
||||
% LocalWords: TrollTech administrivia LGPL's MontaVista Davrik Davrik's Darvik
|
||||
% LocalWords: Darvik's Slashdot sublicensed Vigorien Vigorien's Haxil Polgara
|
||||
% LocalWords: Thesulac Polgara's Haxil's Thesulac's
|
||||
% LocalWords: Thesulac Polgara's Haxil's Thesulac's SDK CD's
|
||||
|
|
Binary file not shown.
|
@ -41,7 +41,7 @@ Sponsored by the Free Software Foundation \\
|
|||
|
||||
Columbia Law School, New York, NY, USA \\
|
||||
\vspace{.1in}
|
||||
Tuesday 20 January 2003
|
||||
Tuesday 20 January 2004
|
||||
}
|
||||
|
||||
\vspace{.7in}
|
||||
|
@ -125,6 +125,15 @@ learned the following:
|
|||
works of software.
|
||||
\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}
|
||||
|
||||
\tableofcontents
|
||||
|
@ -600,6 +609,8 @@ economy.
|
|||
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
\chapter{Running Software And Verbatim Copying}
|
||||
\label{run-and-verbatim}
|
||||
|
||||
|
||||
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
|
||||
|
@ -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
|
||||
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
|
||||
even the GNU GPL --- can be blamed for this. Legislators and court
|
||||
opinions must give us guidance to decide the border cases.
|
||||
|
||||
\section{GPL \S 1: Verbatim Copying}
|
||||
|
@ -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
|
||||
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
|
||||
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
|
||||
revisions, annotations, elaborations, or other modifications which, as a
|
||||
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
|
||||
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}
|
||||
\label{source-and-binary}
|
||||
|
||||
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
|
||||
|
@ -1496,49 +1510,50 @@ with respect to the licensed software.
|
|||
\newcommand{\compB}{$\mathcal{B}$}
|
||||
\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
|
||||
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
|
||||
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 of the patent, because the implied patent license only
|
||||
extends to use of the software in accordance with the GPL. Further, if
|
||||
Company \compB distributes a competitive advanced web browsing program,
|
||||
Company \compA is free to assert its patent against any user or
|
||||
Company \compB{} distributes a competitive advanced web browsing program,
|
||||
Company \compA{} is free to assert its patent against any user or
|
||||
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.
|
||||
|
||||
This result also reassures companies that they need not fear loosing their
|
||||
proprietary value in patents to competitors through the GPL implied patent
|
||||
license, as only those competitors who adopt and comply with the GPL's
|
||||
terms can benefit from the implied patent license. To continue the
|
||||
example above, Company \compB does not receive a free ride on Company
|
||||
\compA's patent, as Company \compB has not licensed-in and then
|
||||
example above, Company \compB{} does not receive a free ride on Company
|
||||
\compA's patent, as Company \compB{} has not licensed-in and then
|
||||
redistributed Company A's advanced web browser under the GPL. If Company
|
||||
\compB does do that, however, Company \compA still has not lost
|
||||
competitive advantage against Company \compB, as Company \compB must then,
|
||||
\compB{} does do that, however, Company \compA{} still has not lost
|
||||
competitive advantage against Company \compB{}, as Company \compB{} must then,
|
||||
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
|
||||
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
|
||||
\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
|
||||
implied patent license to any of its patents that cover that program.
|
||||
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
\chapter{Defending Freedom On Many Fronts}
|
||||
|
||||
The last chapter presented the core freedom-defending provisions of GPL\@,
|
||||
which are in \S\S 0--3. \S\S 4--7 of the GPL are designed to ensure that
|
||||
\S\S 0--3 are not infringed, are enforceable, are kept to the confines of
|
||||
copyright law and are not trumped by other copyright agreements or
|
||||
components of other entirely separate legal systems. In short, while \S\S
|
||||
0--3 are the parts of the license that defend the freedoms of users and
|
||||
programmers, \S\S 4--7 are the parts of the license that keep the playing
|
||||
field clear so that \S\S 0--3 can do their jobs.
|
||||
Chapters~\ref{run-and-verbatim} and ~\ref{source-and-binary} presented the
|
||||
core freedom-defending provisions of GPL\@, which are in \S\S 0--3. \S\S
|
||||
4--7 of the GPL are designed to ensure that \S\S 0--3 are not infringed,
|
||||
are enforceable, are kept to the confines of copyright law and are not
|
||||
trumped by other copyright agreements or components of other entirely
|
||||
separate legal systems. In short, while \S\S 0--3 are the parts of the
|
||||
license that defend the freedoms of users and programmers, \S\S 4--7 are
|
||||
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}
|
||||
\label{GPLs4}
|
||||
|
@ -1591,12 +1606,12 @@ That is FSF's steadfast position in a violation negotiation --- comply
|
|||
with the license and respect freedom.
|
||||
|
||||
However, other entities who do not share the full ethos of software
|
||||
freedom as institutionalized by FSF pursue GPL violations differently. MySQL
|
||||
AB, a company that produces the GPL'd MySQL database, upon discovering
|
||||
GPL violations typically negotiates a proprietary software license
|
||||
separately for a fee. While this practice is not one that FSF would ever
|
||||
consider undertaking or even endorsing, it is a legal way for copyright
|
||||
holders to proceed.
|
||||
freedom as institutionalized by FSF pursue GPL violations differently.
|
||||
MySQL AB, a company that produces the GPL'd MySQL database, upon
|
||||
discovering GPL violations typically negotiates a proprietary software
|
||||
license separately for a fee. While this practice is not one that FSF
|
||||
would ever consider undertaking or even endorsing, it is a legal way for
|
||||
copyright holders to proceed.
|
||||
|
||||
\section{GPL \S 5: Acceptance, Copyright Style}
|
||||
\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
|
||||
the world as possible, particular tactical situations of software freedom
|
||||
dictate different means. Extending the copyleft effect as far as
|
||||
copyright law allows is not always the most prudent course to 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 that goal. The GNU Lesser General Public
|
||||
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
|
||||
be (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
|
||||
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 GNU 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
|
||||
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 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
|
||||
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
|
||||
in modern GNU/Linux systems, which all use the GNU C Library).
|
||||
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.
|
||||
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
|
||||
|
@ -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
|
||||
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 C libraries on GNU/Linux would likely become not
|
||||
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 C libraries 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 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
|
||||
that the existence of proprietary applications for GNU/Linux was
|
||||
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 (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
|
||||
of proprietary applications on GNU/Linux. However, loosening the
|
||||
restrictions on the licensing of glibc was able to ensure 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\@.
|
||||
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 GPL because they are looking
|
||||
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
|
||||
software. However, understanding FSF's reasoning behind the creation of
|
||||
the LGPL is helpful when studying the license.
|
||||
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 change of changing the word ``Program''
|
||||
to ``Library''.
|
||||
identical, or that have the minor modifications of changing the word
|
||||
``Program'' to ``Library''.
|
||||
|
||||
First, \S 1 of LGPL, the rules for verbatim copying of source, are
|
||||
equivalent to those in GPL's \S 1.
|
||||
|
@ -2025,14 +2038,14 @@ the library'', works as follows:
|
|||
\end{itemize}
|
||||
|
||||
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
|
||||
logic related to how the LGPL places requirements on the license of
|
||||
\lplusi{}. Note, first of all, the similarity between this explanation
|
||||
and that in Section~\ref{separate-and-independent}, which discussed the
|
||||
combining otherwise separate and independent works with GPL'd code.
|
||||
Effectively, what LGPL is doing is saying that when a new work is
|
||||
otherwise separate and independent, but has interface calls out to an
|
||||
LGPL'd library, then it is considered a ``work that uses the library''.
|
||||
use the library'' in detail in Section~\ref{lgpl-section-6}. For now,
|
||||
focus on the logic related to how the LGPL places requirements on the
|
||||
license of \lplusi{}. Note, first of all, the similarity between this
|
||||
explanation and that in Section~\ref{separate-and-independent}, which
|
||||
discussed the combination of otherwise separate and independent works with
|
||||
GPL'd code. Effectively, what LGPL is doing is saying that when a new
|
||||
work is otherwise separate and independent, but has interface calls out to
|
||||
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
|
||||
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.
|
||||
|
||||
To understand this subtle point, we must recall the way that a compiler
|
||||
operates, which we discussed in Section~\ref{FIXME}. The compiler first
|
||||
generates object code, which are the binary representations of various
|
||||
programming modules. Each of those modules is usually not useful by
|
||||
itself; it becomes useful to a user a a full program when those modules
|
||||
are {\em assembled\/} into a full binary executable.
|
||||
operates. The compiler first generates object code, which are the binary
|
||||
representations of various programming modules. Each of those modules is
|
||||
usually not useful by itself; it becomes useful to a user a full program
|
||||
when those modules are {\em assembled\/} into a full binary executable.
|
||||
|
||||
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
|
||||
|
@ -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
|
||||
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
|
||||
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
|
||||
implications of the license to be the same regardless of the specific
|
||||
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.
|
||||
|
||||
\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
|
||||
``use'' and works that ``are based on'' the library, we will consider the
|
||||
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.
|
||||
|
||||
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
|
||||
consider the option given by \S 6(b), which describes the most common way
|
||||
that is currently used for LGPL compliance on a ``work that uses the
|
||||
library''.
|
||||
granting the freedom to modify that library source to users. We will
|
||||
first consider the option given by \S 6(b), which describes the most
|
||||
common way that is currently used for LGPL compliance on a ``work that
|
||||
uses the library''.
|
||||
|
||||
\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
|
||||
|
@ -2214,17 +2226,18 @@ based on the library'', so that the user can relink the application and
|
|||
build a new binary.
|
||||
|
||||
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
|
||||
us in this course to go into those additional options. In almost all
|
||||
cases of distribution under LGPL, either \S 6(a) or \S 6(b) are exercised.
|
||||
provided by GPL \S 3. There are some additional options, and time does
|
||||
not permit us in this course to go into those additional options. In
|
||||
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}
|
||||
|
||||
Essential, ``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
|
||||
2 is nearly identical in its terms and requirements to GPL's \S 2. There
|
||||
are again subtle differences and additions, which time does not permit us
|
||||
to cover in this course.
|
||||
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 2 is nearly identical in its terms and requirements to GPL's \S 2.
|
||||
There are again subtle differences and additions, which time does not
|
||||
permit us to cover in this course.
|
||||
|
||||
\section{And the Rest}
|
||||
|
||||
|
@ -3400,6 +3413,7 @@ That's all there is to it!
|
|||
% LocalWords: proprietarize redistributors sublicense yyyy Gnomovision EULAs
|
||||
% LocalWords: Yoyodyne FrontPage improvers Berne copyrightable Stallman's GPLs
|
||||
% LocalWords: Lessig Lessig's UCITA pre PDAs CDs reshifts GPL's Gentoo glibc
|
||||
% LocalWords: TrollTech administrivia LGPL's MontaVista OpenTV Mitek Arce
|
||||
% LocalWords: unprotectable protectable Unfreedonia chipset CodeSourcery
|
||||
% LocalWords: impermissibly
|
||||
% LocalWords: TrollTech administrivia LGPL's MontaVista OpenTV Mitek Arce DVD
|
||||
% LocalWords: unprotectable protectable Unfreedonia chipset CodeSourcery Iqtel
|
||||
% LocalWords: impermissibly Bateman faire minimis Borland uncopyrightable Mgmt
|
||||
% LocalWords: franca downloadable
|
||||
|
|
Loading…
Reference in a new issue