*** 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 \\
|
Columbia Law School, New York, NY, USA \\
|
||||||
\vspace{.1in}
|
\vspace{.1in}
|
||||||
Wednesday 21 January 2003
|
Wednesday 21 January 2004
|
||||||
}
|
}
|
||||||
|
|
||||||
\vspace{.7in}
|
\vspace{.7in}
|
||||||
|
@ -85,7 +85,6 @@ any medium, provided this notice is preserved.
|
||||||
|
|
||||||
\begin{abstract}
|
\begin{abstract}
|
||||||
|
|
||||||
|
|
||||||
This one-day course presents the details of five different GPL compliance
|
This one-day course presents the details of five different GPL compliance
|
||||||
cases handled by FSF's GPL Compliance Laboratory. Each case offers unique
|
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
|
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
|
managers and executives whose businesses use or distribute Free Software
|
||||||
will also find the course very helpful.
|
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}
|
\end{abstract}
|
||||||
|
|
||||||
\tableofcontents
|
\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
|
As we have learned, the assurance that Free Software under GPL remains
|
||||||
Free Software is accomplished through various terms of GPL: \S 3 ensures
|
Free Software is accomplished through various terms of GPL: \S 3 ensures
|
||||||
that binaries are always accompanied with source; \S 2 ensures that the
|
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
|
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
|
legal agreements or licenses trump GPL. It is \S 4, however, that ensures
|
||||||
enforced.
|
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
|
clause is where the legal teeth of the license are rooted. As a copyright
|
||||||
license, GPL governs only the activities governed by copyright law ---
|
license, GPL governs only the activities governed by copyright law ---
|
||||||
copying, modifying and redistributing computer software. Unlike most
|
copying, modifying and redistributing computer software. Unlike most
|
||||||
copyright licenses, GPL gives wide grants of permission for engaging with
|
copyright licenses, GPL gives wide grants of permission for engaging with
|
||||||
these activities. Such permissions continue and all parties may exercise
|
these activities. Such permissions continue and all parties may exercise
|
||||||
until such time as one party violates the terms of GPL\@. At the moment
|
them until such time as one party violates the terms of GPL\@. At the
|
||||||
of such a violation --- the engaging of copying, modifying or
|
moment of such a violation (i.e., the engaging of copying, modifying or
|
||||||
redistributing in ways not permitted by GPL --- \S 4 is invoked.
|
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
|
in the permissions that otherwise granted by GPL\@. Effectively, their
|
||||||
permission go back to the copyright defaults --- no permission to copy,
|
permissions go back to the copyright defaults --- no permission is granted
|
||||||
modify, or redistribute the work. Meanwhile, \S 5 points out that if
|
to copy, modify, nor redistribute the work. Meanwhile, \S 5 points out
|
||||||
if the violator has no rights under GPL --- as they will not once they
|
that if if the violator has no rights under GPL --- as they will not once
|
||||||
have violated it --- then they otherwise have no right and are prohibited
|
they have violated it --- then they otherwise have no rights and are
|
||||||
by copyright law from engaging in the activities of copying, modifying
|
prohibited by copyright law from engaging in the activities of copying,
|
||||||
and distributing.
|
modifying and distributing.
|
||||||
|
|
||||||
\section{Ongoing Violations}
|
\section{Ongoing Violations}
|
||||||
|
|
||||||
In conjunction with \S 4's termination of violators' rights, there is one
|
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
|
final industry fact added to the mix: rarely, does one engage in a single,
|
||||||
single, solitary act of copying, distributing or modifying software.
|
solitary act of copying, distributing or modifying software. Almost
|
||||||
Almost always, a violator will have legitimately acquired a copy a GPL'd
|
always, a violator will have legitimately acquired a copy a GPL'd program,
|
||||||
program --- either made modifications or not --- and then begun a ongoing
|
either making modifications or not, and then began a ongoing activity of
|
||||||
activity of distributing that work. For example, the violator may have
|
distributing that work. For example, the violator may have put the
|
||||||
put the software in boxes and sold them at stores. Or perhaps the
|
software in boxes and sold them at stores. Or perhaps the software was
|
||||||
software was put up for download on the Internet. Regardless of the
|
put up for download on the Internet. Regardless of the delivery
|
||||||
delivery mechanism, violators almost always are engaged in {\em ongoing\/}
|
mechanism, violators almost always are engaged in {\em ongoing\/}
|
||||||
violation of GPL\@.
|
violation of GPL\@.
|
||||||
|
|
||||||
In fact, when we discover a GPL violation that occurred only once --- for
|
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
|
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
|
source at one meeting --- we rarely pursue it with a high degree of
|
||||||
diligence. In our minds, that is an educational problem, and unless the
|
tenacity. In our minds, such a violation is an educational problem, and
|
||||||
user group becomes a repeat offender (as it turns out, the never do) we
|
unless the user group becomes a repeat offender (as it turns out, the
|
||||||
simply send an FAQ entry that best explains how user groups can most
|
never do) we simply forward along an FAQ entry that best explains how user
|
||||||
easily comply with GPL, and send them on there merry way.
|
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
|
It is only the cases of {\em ongoing\/} GPL violation that warrant our
|
||||||
active attention. We vehemently pursue those cases where dozens, hundreds
|
active attention. We vehemently pursue those cases where dozens, hundreds
|
||||||
or thousands of customers are receiving software that is out of
|
or thousands of customers are receiving software that is out of
|
||||||
compliance, and the company continually puts for sale (or distributes
|
compliance, and where the company continually puts for sale (or
|
||||||
gratis as a demo) software distributions that include GPL'd components out
|
distributes gratis as a demo) software distributions that include GPL'd
|
||||||
of compliance. Our goal is to maximize the impact of enforcement and
|
components out of compliance. Our goal is to maximize the impact of
|
||||||
educate industries who are making a mistake on a large scale.
|
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
|
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
|
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.
|
commons about proper procedures to contribute to the community.
|
||||||
|
|
||||||
Our central goal is not, in fact, to merely clear up particular violation.
|
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
|
In fact, over time, we hope that our compliance lab will be out of
|
||||||
seek to educate the businesses that engage in commerce related to GPL'd
|
business. We seek to educate the businesses that engage in commerce
|
||||||
software to obey the rules of the road and allow them to operate freely
|
related to GPL'd software to obey the rules of the road and allow them to
|
||||||
under them. Just as a traffic officer would not revel in reminding people
|
operate freely under them. Just as a traffic officer would not revel in
|
||||||
which side of the road to drive in, so we do not revel in violations. By
|
reminding people which side of the road to drive on, so we do not revel in
|
||||||
contrast, we revel in the successes of educating an ongoing violator about
|
violations. By contrast, we revel in the successes of educating an
|
||||||
GPL so that GPL compliance becomes a second-nature matter, and they join
|
ongoing violator about GPL so that GPL compliance becomes a second-nature
|
||||||
the GPL ecosystem as contributors.
|
matter, allowing that company to join the GPL ecosystem as a contributor.
|
||||||
|
|
||||||
\section{How are Violations Discovered?}
|
\section{How are Violations Discovered?}
|
||||||
|
|
||||||
Our enforcement of GPL is not a fund-raising effort; in fact, FSF's GPL
|
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
|
donors). Our violation reports come from volunteers, who have encountered
|
||||||
in their business or personal life, a device or software product that
|
in their business or personal life, a device or software product that
|
||||||
appears to contain GPL'd software; these reports are usually sent via
|
appears to contain GPL'd software. These reports are almost always sent
|
||||||
email to $<$license-violation@fsf.org$>$.
|
via email to $<$license-violation@fsf.org$>$.
|
||||||
|
|
||||||
Our first order of business, upon receiving such a report, is to seek
|
Our first order of business, upon receiving such a report, is to seek
|
||||||
independent confirmation. When possible, we get a copy of the software
|
independent confirmation. When possible, we get a copy of the software
|
||||||
product. For example, if it is an offering that is downloadable from a
|
product. For example, if it is an offering that is downloadable from a
|
||||||
website, we download it and investigate ourselves. When it is not
|
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
|
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
|
By rough estimation, about 95\% of violations at this stage can be
|
||||||
confirmed by simple commands. Since almost all violators have merely made
|
confirmed by simple commands. Almost all violators have merely made an
|
||||||
an error, and have no nefarious intentions, they have made no attempt to
|
error and have no nefarious intentions. They have made no attempt to
|
||||||
remove our copyright notices from the software. Given the third-party
|
remove our copyright notices from the software. Thus, given the
|
||||||
binary, {\tt tpb}, usually, a simple command (on a GNU/Linux system) such
|
third-party binary, {\tt tpb}, usually, a simple command (on a GNU/Linux
|
||||||
as the following will find an Free Software copyright notice and GPL
|
system) such as the following will find a Free Software copyright notice
|
||||||
reference:
|
and GPL reference:
|
||||||
\begin{quotation}
|
\begin{quotation}
|
||||||
{\tt string tpb | grep Copyright}
|
{\tt strings tpb | grep Copyright}
|
||||||
\end{quotation}
|
\end{quotation}
|
||||||
In other words, it is usually more than trivial to confirm that GPL'd
|
In other words, it is usually more than trivial to confirm that GPL'd
|
||||||
software is included.
|
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
|
FSF does not have the power to enforce GPL in all cases. Since GPL
|
||||||
operates under copyright law, the powers of enforcement --- to seek
|
operates under copyright law, the powers of enforcement --- to seek
|
||||||
redress once \S 4 has been invoked --- lies with the copyright holder of
|
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
|
the software. FSF is one of the largest copyright holders in the world of
|
||||||
of GPL'd software, but we are by no means the only one. Thus, we
|
GPL'd software, but we are by no means the only one. Thus, we sometimes
|
||||||
sometimes discover that while GPL'd code is present in the software,
|
discover that while GPL'd code is present in the software, there is no
|
||||||
there is no software copyrighted by FSF.
|
software copyrighted by FSF present.
|
||||||
|
|
||||||
In cases where FSF does not hold copyright interest in the software, but
|
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
|
we have confirmed a violation, we contact the copyright holders of the
|
||||||
software, and encourage them to enforce GPL\@. We offer our good offices
|
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
|
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
|
third party to settle such GPL violations. However, what we will describe
|
||||||
describe in this course is FSF's first-hand experience enforcing its own
|
primarily in this course is FSF's first-hand experience enforcing its own
|
||||||
copyrights and GPL\@.
|
copyrights and GPL\@.
|
||||||
|
|
||||||
\section{First Contact}
|
\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,
|
works best when you assume the best of others, and only change policy,
|
||||||
procedures and attitudes when some specific event or occurrence indicates
|
procedures and attitudes when some specific event or occurrence indicates
|
||||||
that a change is necessary. We treat the process of GPL enforcement in
|
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
|
community of software sharing, so we want to open our hand in friendship
|
||||||
to them.
|
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
|
In our first case study, we will consider Davrik, a company that produces
|
||||||
software and hardware toolkits to assist OEM vendors who products consumer
|
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.
|
more evidence was discovered.
|
||||||
|
|
||||||
FSF was later able to confirm the violation when two additional reports
|
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
|
professional and noticed clear similarities to FSF's GNU GCC\@. FSF's
|
||||||
Compliance Engineer asked the reporters to run standard tests to confirm
|
Compliance Engineer asked the reporters to run standard tests to confirm
|
||||||
the violation, and it was confirmed that the product was indeed a
|
the violation, and it was confirmed that Davrik's SDK was indeed a
|
||||||
derivative work of GCC, ported to Windows and with a number of features
|
derivative work of GCC\@. Davrik had ported to Windows and added a number
|
||||||
added, including support for a specific consumer device chipset and
|
of features, including support for a specific consumer device chipset and
|
||||||
additional features to aid in the linking process (``LP'') for the
|
additional features to aid in the linking process (``LP'') for those
|
||||||
specific devices. FSF explained the rights that the GPL afforded these
|
specific devices. FSF explained the rights that the GPL afforded these
|
||||||
customers and pointed out, for example, that Davrik only needed to provide
|
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
|
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
|
FSF brought the matter to the attention of Davrik, who immediately
|
||||||
escalated the matter to their attorneys. After a long negotiation, Davrik
|
escalated the matter to their attorneys. After a long negotiation, Davrik
|
||||||
acknowledged that their SDK was indeed a derivative work of GCC\@. 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
|
released most of the source, but some disagreement occurred over whether
|
||||||
was a derivate work of GCC\@. After repeated FSF inquiries, Davrik
|
LP was a derivate work of GCC\@. After repeated FSF inquiries, Davrik
|
||||||
reaudited the source and discovered that FSF's analysis was correct and
|
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.
|
code-base.
|
||||||
|
|
||||||
\label{davrik-build-problems}
|
\label{davrik-build-problems}
|
||||||
Once the full software release was made available, FSF asked the
|
Once the full software release was made available, FSF asked the violation
|
||||||
violation reporters if it addressed the problem. Reports came back that
|
reporters if it addressed the problem. Reports came back that the source
|
||||||
in fact the source did not properly build. FSF asked Davrik to provide
|
did not properly build. FSF asked Davrik to provide better build
|
||||||
better build instructions with the software, and such build instructions
|
instructions with the software, and such build instructions were
|
||||||
were incorporated into the next software release.
|
incorporated into the next software release.
|
||||||
|
|
||||||
At FSF's request as well, Davrik informed customers who had previously
|
At FSF's request as well, Davrik informed customers who had previously
|
||||||
purchased the product that the source was now available, by announcing
|
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
|
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
|
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.
|
exercised in their GPL'd software release.
|
||||||
|
|
||||||
Finally, a GPL Compliance Officer inside Davrik was appointed who is
|
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
|
is responsible for informing FSF if the position is given to someone else
|
||||||
inside the company, and making sure that FSF has direct contact
|
inside the company, and making sure that FSF has direct contact
|
||||||
information with Darvik's Compliance Officer.
|
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
|
GPL education, many users do not fully understand their rights and the
|
||||||
obligations that companies have. By working through the investigation
|
obligations that companies have. By working through the investigation
|
||||||
with reporters, the violation can be properly confirmed, and {\bf the
|
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}.
|
user of the software can be educated about what to expect with GPL'd
|
||||||
When users and customers of GPL'd products know their rights, what to
|
software}. When users and customers of GPL'd products know their
|
||||||
expect, and how to properly exercise their rights (particularly under \S
|
rights, what to expect, and how to properly exercise their rights
|
||||||
3(b)), it reduces the chances for user frustration and inappropriate
|
(particularly under \S 3(b)), it reduces the chances for user
|
||||||
community outcry about an alleged GPL violation.
|
frustration and inappropriate community outcry about an alleged GPL
|
||||||
|
violation.
|
||||||
|
|
||||||
\item {\bf GPL compliance requires friendly negotiation and
|
\item {\bf GPL compliance requires friendly negotiation and cooperation.}
|
||||||
cooperation.} Often, attorneys and managers are legitimately surprised
|
Often, attorneys and managers are legitimately surprised to find out
|
||||||
to find out GPL'd software is included in their company's products.
|
GPL'd software is included in their company's products. Engineers
|
||||||
Engineers sometimes include GPL'd software without understanding the
|
sometimes include GPL'd software without understanding the requirements.
|
||||||
requirements. This does not excuse companies from their obligations
|
This does not excuse companies from their obligations under the license,
|
||||||
under the license, but it does mean that care and patience are
|
but it does mean that care and patience are essential for reaching GPL
|
||||||
essential for reaching GPL compliance. We want companies to understand
|
compliance. We want companies to understand that participating and
|
||||||
that participating and benefiting from a collaborative Free Software
|
benefiting from a collaborative Free Software community is not a burden,
|
||||||
community is not a burden, so we strive to make the process of coming
|
so we strive to make the process of coming into compliance as smooth as
|
||||||
into compliance when a problem occurs as smooth as possible.
|
possible.
|
||||||
|
|
||||||
\item {\bf Confirming compliance is a community effort.} The whole point
|
\item {\bf Confirming compliance is a community effort.} The whole point
|
||||||
of making sure that software distributors respect the terms of GPL is to
|
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
|
violators to make some attempt --- such as via newsletters and the
|
||||||
company's website --- to inform those who already have the products as
|
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
|
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
|
\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, they may never
|
product was received out of compliance by a customer, she may never
|
||||||
actually discover that they had such rights. Informing them, in a way
|
actually discover that she had such rights. Informing customers, in a
|
||||||
that is not burdensome but has a high probability of successfully
|
way that is not burdensome but has a high probability of successfully
|
||||||
reaching those who would seek to exercise their freedoms, is essential
|
reaching those who would seek to exercise their freedoms, is essential
|
||||||
to properly remedy the mistake.
|
to properly remedy the mistake.
|
||||||
|
|
||||||
\item {\bf Lines between various copyright, patent, and other legal
|
\item {\bf Lines between various copyright, patent, and other legal
|
||||||
mechanisms must be precisely defined and considered.} The most
|
mechanisms must be precisely defined and considered.} The most
|
||||||
difficult negotiation point of this compliance case was drafting
|
difficult negotiation point of the Davrik case was drafting language
|
||||||
language that simultaneously protected the Davrik's patent rights
|
that simultaneously protected the Davrik's patent rights outside of the
|
||||||
outside of the GPL'd source, but was consistent with the implicit patent
|
GPL'd source, but was consistent with the implicit patent grant in
|
||||||
grant in GPL\@. As we discussed in the first course in this series,
|
GPL\@. As we discussed in the first course in this series, there is
|
||||||
there is indeed an implicit patent grant with GPL, thanks to \S 6 and \S
|
indeed an implicit patent grant with GPL, thanks to \S 6 and \S 7.
|
||||||
7. However, many companies become nervous and wish to make the grant
|
However, many companies become nervous and wish to make the grant
|
||||||
explicit to assure themselves that the grant is sufficiently narrow for
|
explicit to assure themselves that the grant is sufficiently narrow for
|
||||||
their needs. We understand that there is no reasonable way to determine
|
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
|
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}
|
\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
|
Bracken produces a GNU/Linux operating system product that is sold
|
||||||
primarily to OEM vendors to be placed in appliance devices that are used
|
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
|
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
|
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
|
comment on a Slashdot\footnote{Slashdot is a popular news and discussion
|
||||||
site for technical readers.} comment, and then later brought to our
|
site for technical readers.} comment, and then was brought to attention
|
||||||
attention by another Free Software copyright holder who had discovered the
|
again by another Free Software copyright holder who had discovered the
|
||||||
same violation.
|
same violation.
|
||||||
|
|
||||||
Bracken's GNU/Linux product is delivered directly from their website.
|
Bracken's GNU/Linux product is delivered directly from their website.
|
||||||
|
@ -458,7 +476,7 @@ online distribution:
|
||||||
contradicted the permissions granted by GPL\@.
|
contradicted the permissions granted by GPL\@.
|
||||||
\end{itemize}
|
\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
|
immediately ceased distribution of the product temporarily, and set forth
|
||||||
a plan to bring themselves back into compliance. This plan included the
|
a plan to bring themselves back into compliance. This plan included the
|
||||||
following steps:
|
following steps:
|
||||||
|
@ -473,14 +491,14 @@ following steps:
|
||||||
ever they distributed that way).
|
ever they distributed that way).
|
||||||
|
|
||||||
\item Bracken attorneys would run an internal seminar for its engineers
|
\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.
|
regarding source releases would not occur in the future.
|
||||||
|
|
||||||
\item Bracken would resume distribution of the product only after FSF
|
\item Bracken would resume distribution of the product only after FSF
|
||||||
formally restored Bracken's distribution rights.
|
formally restored Bracken's distribution rights.
|
||||||
\end{itemize}
|
\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
|
new EULA text. They key portion in the EULA relating to GPL read as
|
||||||
follows:
|
follows:
|
||||||
|
|
||||||
|
@ -511,7 +529,7 @@ completed as described.
|
||||||
|
|
||||||
\section{Lessons Learned}
|
\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
|
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
|
the problem was resolved shows a number of cultural factors that play a
|
||||||
role in GPL compliance.
|
role in GPL compliance.
|
||||||
|
@ -520,13 +538,13 @@ role in GPL compliance.
|
||||||
|
|
||||||
\item {\bf Companies that understand Free Software culture better have an
|
\item {\bf Companies that understand Free Software culture better have an
|
||||||
easier time with compliance.} Bracken's products were designed and
|
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
|
engineers were deeply familiar with the Free Software ecosystem, and
|
||||||
their lawyers had seen and reviewed GPL before. The violation was
|
their lawyers had seen and reviewed GPL before. The violation was
|
||||||
completely an honest mistake, and since the culture inside the company
|
completely an honest mistake. Since the culture inside the company had
|
||||||
had already adapted to the cooperative style of resolution to problems
|
already adapted to the cooperative style of resolution in the Free
|
||||||
in the Free Software world, there was very little work for either
|
Software world, there was very little work for either party to bring the
|
||||||
party to bring the product into compliance.
|
product into compliance.
|
||||||
|
|
||||||
\item {\bf When people in key positions understand the Free Software
|
\item {\bf When people in key positions understand the Free Software
|
||||||
nature of their software products, compliance concerns are as mundane as
|
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
|
its problems, and successful business often depends on agile response to
|
||||||
the problems that do come up; avoiding problems altogether is a pipe
|
the problems that do come up; avoiding problems altogether is a pipe
|
||||||
dream. Minor GPL violations can and do happen even with well-informed
|
dream. Minor GPL violations can and do happen even with well-informed
|
||||||
redistributors, but when the company --- and in particular, the lawyers,
|
redistributors. However, when the company --- and in particular, the
|
||||||
managers, and engineers working on the Free Software product lines --
|
lawyers, managers, and engineers working on the Free Software product
|
||||||
have adapted to the cooperate Free Software culture, resolving such
|
lines --- have adapted to the cooperative Free Software culture,
|
||||||
problems are merely a mundane details of typical operation and resolved
|
resolving such problems is merely a mundane detail of typical operation
|
||||||
just as easily.
|
and resolution is reached quickly.
|
||||||
|
|
||||||
\item {\bf Legally, distribution must stop when a violation is
|
\item {\bf Legally, distribution must stop when a violation is
|
||||||
identified.} In our opinion, Bracken went above and beyond the call by
|
identified.} In our opinion, Bracken went above and beyond the call of
|
||||||
ceasing distribution while the violation was being resolved. Under GPL
|
duty by ceasing distribution while the violation was being resolved.
|
||||||
\S 4, the redistributor loses the right to distribute the software, and
|
Under GPL \S 4, the redistributor loses the right to distribute the
|
||||||
thus they are in ongoing violation of copyright law as they distribute.
|
software, and thus they are in ongoing violation of copyright law if
|
||||||
It is FSF's policy to temporarily allow distribution while compliance
|
they distribute before rights are restored. It is FSF's policy to
|
||||||
negotiations are ongoing and only in the most extreme cases where the
|
temporarily allow distribution while compliance negotiations are ongoing
|
||||||
other party appears to be negotiating in bad faith does FSF even
|
and only in the most extreme cases (where the other party appears to be
|
||||||
threaten an injunction on copyright grounds. However, Bracken --- as a
|
negotiating in bad faith) does FSF even threaten an injunction on
|
||||||
good Free Software citizen --- chose to be on the safe side and do the
|
copyright grounds. However, Bracken --- as a good Free Software citizen
|
||||||
legally correct thing while the violation case was pending. Since from
|
--- chose to be on the safe side and do the legally correct thing while
|
||||||
start to finish it took less than am month to resolve, this lapse in
|
the violation case was pending. Since from start to finish it took less
|
||||||
distribute did not, to FSF's knowledge, impact their business in any
|
than am month to resolve, this lapse in distribution did not, to FSF's
|
||||||
way.
|
knowledge, impact Bracken's business in any way.
|
||||||
|
|
||||||
\item {\bf EULAs are a common area for GPL problems.} Often, EULAs are
|
\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.
|
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
|
licenses. Drafting a EULA that accounts for such licenses is
|
||||||
straightforward; the text quoted above works just fine. The EULA must
|
straightforward; the text quoted above works just fine. The EULA must
|
||||||
be designed so that it does not trump and rights and permissions already
|
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
|
granted by GPL\@, and it clearly state that if there is a conflict
|
||||||
between EULA and GPL, with regard to GPL'd code, that the GPL is the
|
between the EULA and GPL, with regard to GPL'd code, that the GPL is the
|
||||||
overriding license.
|
overriding license.
|
||||||
|
|
||||||
\item {\bf Compliance Officers are rarely necessary when companies are
|
\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
|
compliance with GPL by releasing the source of GNU tar, with the
|
||||||
cryptographic modifications, to its customers.
|
cryptographic modifications, to its customers.
|
||||||
|
|
||||||
Vigorien released the GNU tar sources, but kept the cryptographic library
|
Vigorien released the original GNU tar sources, but kept the cryptographic
|
||||||
proprietary. They argued that the security of their system depending on
|
modifications proprietary. They argued that the security of their system
|
||||||
keeping the software proprietary and that regardless, USA export
|
depending on keeping the software proprietary and that regardless, USA
|
||||||
restrictions on cryptographic software prohibited such a release. FSF
|
export restrictions on cryptographic software prohibited such a release.
|
||||||
disputed the claim on the first count, pointing out that Vigorien's had
|
FSF disputed the first claim, pointing out that Vigorien had only one
|
||||||
only one option if they did not want to release the source: they would
|
option if they did not want to release the source: they would have to
|
||||||
have to remove GNU tar from the software and not distribute it further.
|
remove GNU tar from the software and not distribute it further. Vigorien
|
||||||
Vigorien rejected this suggestion, since GNU tar was an integral part of
|
rejected this suggestion, since GNU tar was an integral part of the
|
||||||
the product and the security changes were useless without GNU tar.
|
product and the security changes were useless without GNU tar.
|
||||||
|
|
||||||
Regarding the export control claims, FSF proposed a number of options,
|
Regarding the export control claims, FSF proposed a number of options,
|
||||||
including release of the source from one of Vigorien's divisions overseas
|
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.}
|
\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
|
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.
|
portions from the product and continue along without them indefinitely.
|
||||||
Every case where this has been suggested has led to the same conclusion.
|
Every case where this has been suggested has led to the same conclusion.
|
||||||
Like Vigorien, the violator argues that the product cannot function
|
Like Vigorien, the violator argues that the product cannot function
|
||||||
without the GPL'd components and they cannot effectively replace them.
|
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.
|
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
|
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
|
the GPL'd portions, then one cannot effectively argue that the work as a
|
||||||
whole is not a derivative of the GPL'd portions.
|
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
|
\item {\bf ``Security'' concerns do not exonerate a distributor from GPL
|
||||||
obligations, and ``security through obscurity'' does not work anyway.}
|
obligations, and ``security through obscurity'' does not work anyway.}
|
||||||
|
@ -662,11 +688,11 @@ did so, and the violation was resolved.
|
||||||
by identifying them early.
|
by identifying them early.
|
||||||
|
|
||||||
\item {\bf External regulatory problems can be difficult to resolve.}
|
\item {\bf External regulatory problems can be difficult to resolve.}
|
||||||
GPL, though copyright law, does not have the power to trump regulations
|
GPL, though grounded in copyright law, does not have the power to trump
|
||||||
like export controls. While Vigorien's ``security concerns'' were
|
regulations like export controls. While Vigorien's ``security
|
||||||
specious, their export control concerns were not. It is indeed a
|
concerns'' were specious, their export control concerns were not. It is
|
||||||
difficult problem that FSF acknowledges. We want compliance with GPL
|
indeed a difficult problem that FSF acknowledges. We want compliance
|
||||||
and respect for users' freedoms, but we certainly do not expect
|
with GPL and respect for users' freedoms, but we certainly do not expect
|
||||||
companies to commit criminal offenses for the sake of compliance. We
|
companies to commit criminal offenses for the sake of compliance. We
|
||||||
will see more about this issue in our next case study.
|
will see more about this issue in our next case study.
|
||||||
\end{enumerate}
|
\end{enumerate}
|
||||||
|
@ -676,8 +702,8 @@ did so, and the violation was resolved.
|
||||||
\chapter{Haxil, Polgara, and Thesulac: Mergers, Upstream Providers and Radio Devices}
|
\chapter{Haxil, Polgara, and Thesulac: Mergers, Upstream Providers and Radio Devices}
|
||||||
|
|
||||||
This case study considers an ongoing (at the time of writing) violation
|
This case study considers an ongoing (at the time of writing) violation
|
||||||
that occurred. By the end of the investigation period, three companies
|
that has occurred. By the end of the investigation period, three
|
||||||
were involved and many complex issues arose.
|
companies were involved and many complex issues arose.
|
||||||
|
|
||||||
\section{The Facts}
|
\section{The Facts}
|
||||||
|
|
||||||
|
@ -695,10 +721,10 @@ arms about the violation.
|
||||||
|
|
||||||
Meanwhile, Haxil was in the midst of being acquired by Polgara. Polgara
|
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
|
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
|
acquisition. FSF contacted both Haxil and Polgara, and product managers
|
||||||
who had transitioned into the ``Haxil division'' of newly merged Polgara
|
who had transitioned into the ``Haxil division'' of the newly-merged
|
||||||
company worked and Polgara's General Counsel's office worked with FSF on
|
Polgara company and Polgara's General Counsel's office worked with FSF on
|
||||||
the matter.
|
the matter.
|
||||||
|
|
||||||
FSF meanwhile formed a coalition with the other primary copyright holders
|
FSF meanwhile formed a coalition with the other primary copyright holders
|
||||||
|
@ -738,8 +764,8 @@ regarding the problem.
|
||||||
\begin{enumerate}
|
\begin{enumerate}
|
||||||
|
|
||||||
\item {\bf Community outrage, while justified, can often make negotiation
|
\item {\bf Community outrage, while justified, can often make negotiation
|
||||||
more difficult.} FSF has a strong policy to not publicized names of GPL
|
more difficult.} FSF has a strong policy never to publicize names of
|
||||||
violators if they are negotiating in a friendly way and operating in
|
GPL violators if they are negotiating in a friendly way and operating in
|
||||||
good faith toward compliance. Most violations are honest mistakes, and
|
good faith toward compliance. Most violations are honest mistakes, and
|
||||||
FSF sees no reason to publicly admonish violators who genuinely see to
|
FSF sees no reason to publicly admonish violators who genuinely see to
|
||||||
come into compliance with GPL and to work hard staying in compliance.
|
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
|
during the acquisition process. While GPL compliance is not a
|
||||||
particularly difficult matter, it is an additional obligation that comes
|
particularly difficult matter, it is an additional obligation that comes
|
||||||
along with the product line. When planning mergers and joint ventures,
|
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
|
\item {\bf Compliance problems of upstream providers do not excuse a
|
||||||
violation for the downstream distributor.} To paraphrase \S 6, upstream
|
violation for the downstream distributor.} To paraphrase \S 6, upstream
|
||||||
providers are not responsible for enforcing compliance of their
|
providers are not responsible for enforcing compliance of their
|
||||||
downstream, nor are downstream distributors responsible for compliance
|
downstream, nor are downstream distributors responsible for compliance
|
||||||
problems of upstream providers. However, engaging in distribution of
|
problems of upstream providers. However, engaging in distribution of
|
||||||
GPL'd works out of compliance is still just that --- a compliance
|
GPL'd works out of compliance is still just that: a compliance problem.
|
||||||
problem. When FSF carries out enforcement, we are patient and
|
When FSF carries out enforcement, we are patient and sympathetic when
|
||||||
sympathetic when the problem appears to be upstream. In fact, we urge
|
the problem appears to be upstream. In fact, we urge the violator to
|
||||||
the violator to point us to the upstream provider to talk to them, and
|
point us to the upstream provider so we may talk to them directly. In
|
||||||
in this case we were happy to begin negotiations with Thesulac. However,
|
this case we were happy to begin negotiations with Thesulac. However,
|
||||||
Polgara still has an obligation to bring their product into compliance.
|
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
|
\item {\bf It behooves upstream providers to advise downstream
|
||||||
distributors about compliance matters.} FSF has encouraged Thesulac to
|
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
|
product, and it is conceivable that such additions can introduce
|
||||||
compliance. In FSF's opinion, Thesulac is no way legally responsible
|
compliance. In FSF's opinion, Thesulac is no way legally responsible
|
||||||
for such a violation introduced by their customer, but it behooves them
|
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
|
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
|
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
|
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
|
simple rule to follow, and following that rule to FSF's satisfaction
|
||||||
usually means you are following it to the satisfaction of the entire
|
usually means you are following it to the satisfaction of the entire
|
||||||
Free Software community.
|
Free Software community.
|
||||||
|
|
||||||
\end{enumerate}
|
\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: Lessig Lessig's UCITA pre PDAs CDs reshifts GPL's Gentoo glibc
|
||||||
% LocalWords: TrollTech administrivia LGPL's MontaVista Davrik Davrik's Darvik
|
% LocalWords: TrollTech administrivia LGPL's MontaVista Davrik Davrik's Darvik
|
||||||
% LocalWords: Darvik's Slashdot sublicensed Vigorien Vigorien's Haxil Polgara
|
% 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 \\
|
Columbia Law School, New York, NY, USA \\
|
||||||
\vspace{.1in}
|
\vspace{.1in}
|
||||||
Tuesday 20 January 2003
|
Tuesday 20 January 2004
|
||||||
}
|
}
|
||||||
|
|
||||||
\vspace{.7in}
|
\vspace{.7in}
|
||||||
|
@ -125,6 +125,15 @@ learned the following:
|
||||||
works of software.
|
works of software.
|
||||||
\end{itemize}
|
\end{itemize}
|
||||||
|
|
||||||
|
\bigskip
|
||||||
|
|
||||||
|
These course materials are merely a summary of the highlights of the
|
||||||
|
course presented. Readers of this material should assume that they have
|
||||||
|
missed the bulk of the material, as the detailed discussion of about these
|
||||||
|
issues is the true education about GPL and LPGL\@. Merely reading this
|
||||||
|
material is akin to matriculating into a college course and read only the
|
||||||
|
textbook instead of going to class.
|
||||||
|
|
||||||
\end{abstract}
|
\end{abstract}
|
||||||
|
|
||||||
\tableofcontents
|
\tableofcontents
|
||||||
|
@ -600,6 +609,8 @@ economy.
|
||||||
|
|
||||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||||
\chapter{Running Software And Verbatim Copying}
|
\chapter{Running Software And Verbatim Copying}
|
||||||
|
\label{run-and-verbatim}
|
||||||
|
|
||||||
|
|
||||||
This chapter begins the deep discussion of the details of the terms of
|
This chapter begins the deep discussion of the details of the terms of
|
||||||
GPL\@. In this chapter, we consider the first two sections: GPL \S\S
|
GPL\@. In this chapter, we consider the first two sections: GPL \S\S
|
||||||
|
@ -668,7 +679,7 @@ matter is left up to copyright law, not the licenses that utilize it.
|
||||||
It is certainly true that copyright law as a whole does not propose clear
|
It is certainly true that copyright law as a whole does not propose clear
|
||||||
and straightforward guidelines for what is and is not a derivative
|
and straightforward guidelines for what is and is not a derivative
|
||||||
software work under copyright law. However, no copyright license --- not
|
software work under copyright law. However, no copyright license --- not
|
||||||
even the GNU GPL -- can be blamed for this. Legislators and court
|
even the GNU GPL --- can be blamed for this. Legislators and court
|
||||||
opinions must give us guidance to decide the border cases.
|
opinions must give us guidance to decide the border cases.
|
||||||
|
|
||||||
\section{GPL \S 1: Verbatim Copying}
|
\section{GPL \S 1: Verbatim Copying}
|
||||||
|
@ -761,6 +772,7 @@ of a derivative work of software. However, the applicable provisions do
|
||||||
provide some, albeit quite cursory, guidance. Section 101 of the Copyright
|
provide some, albeit quite cursory, guidance. Section 101 of the Copyright
|
||||||
Act sets forth the following definitions:
|
Act sets forth the following definitions:
|
||||||
|
|
||||||
|
\begin{quotation}
|
||||||
A ``computer program'' is a set of statements or instructions to be used
|
A ``computer program'' is a set of statements or instructions to be used
|
||||||
directly or indirectly in a computer in order to bring about a certain
|
directly or indirectly in a computer in order to bring about a certain
|
||||||
result.
|
result.
|
||||||
|
@ -772,6 +784,7 @@ reproduction, abridgment, condensation, or any other form in which a work
|
||||||
may be recast, transformed, or adapted. A work consisting of editorial
|
may be recast, transformed, or adapted. A work consisting of editorial
|
||||||
revisions, annotations, elaborations, or other modifications which, as a
|
revisions, annotations, elaborations, or other modifications which, as a
|
||||||
whole, represent an original work of authorship, is a ``derivative work''.
|
whole, represent an original work of authorship, is a ``derivative work''.
|
||||||
|
\end{quotation}
|
||||||
|
|
||||||
These are the only provisions in the Copyright Act relevant to the
|
These are the only provisions in the Copyright Act relevant to the
|
||||||
determination of what constitutes a derivative work of a computer
|
determination of what constitutes a derivative work of a computer
|
||||||
|
@ -1041,6 +1054,7 @@ adopts norms avoiding such risk.
|
||||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||||
|
|
||||||
\chapter{Modified Source and Binary Distribution}
|
\chapter{Modified Source and Binary Distribution}
|
||||||
|
\label{source-and-binary}
|
||||||
|
|
||||||
In this chapter, we discuss the two core sections that define the rights
|
In this chapter, we discuss the two core sections that define the rights
|
||||||
and obligations for those who modify, improve, and/or redistribute GPL'd
|
and obligations for those who modify, improve, and/or redistribute GPL'd
|
||||||
|
@ -1496,49 +1510,50 @@ with respect to the licensed software.
|
||||||
\newcommand{\compB}{$\mathcal{B}$}
|
\newcommand{\compB}{$\mathcal{B}$}
|
||||||
\newcommand{\compA}{$\mathcal{A}$}
|
\newcommand{\compA}{$\mathcal{A}$}
|
||||||
|
|
||||||
For example, if Company \compA has a patent on advanced web browsing, but
|
For example, if Company \compA{} has a patent on advanced web browsing, but
|
||||||
also licenses a web browsing software program under the GPL, then it
|
also licenses a web browsing software program under the GPL, then it
|
||||||
cannot assert the patent against any party that takes a license to its
|
cannot assert the patent against any party that takes a license to its
|
||||||
program under the GPL. However, if a party uses that program without
|
program under the GPL. However, if a party uses that program without
|
||||||
complying with the GPL, then Company \compA can assert, not just copyright
|
complying with the GPL, then Company \compA{} can assert, not just copyright
|
||||||
infringement claims against the non-GPL-compliant party, but also
|
infringement claims against the non-GPL-compliant party, but also
|
||||||
infringement of the patent, because the implied patent license only
|
infringement of the patent, because the implied patent license only
|
||||||
extends to use of the software in accordance with the GPL. Further, if
|
extends to use of the software in accordance with the GPL. Further, if
|
||||||
Company \compB distributes a competitive advanced web browsing program,
|
Company \compB{} distributes a competitive advanced web browsing program,
|
||||||
Company \compA is free to assert its patent against any user or
|
Company \compA{} is free to assert its patent against any user or
|
||||||
distributor of that product. It is irrelevant whether Company \compB's
|
distributor of that product. It is irrelevant whether Company \compB's
|
||||||
program is distributed under the GPL, as Company \compB can not grant
|
program is distributed under the GPL, as Company \compB{} can not grant
|
||||||
implied licenses to Company \compA's patent.
|
implied licenses to Company \compA's patent.
|
||||||
|
|
||||||
This result also reassures companies that they need not fear loosing their
|
This result also reassures companies that they need not fear loosing their
|
||||||
proprietary value in patents to competitors through the GPL implied patent
|
proprietary value in patents to competitors through the GPL implied patent
|
||||||
license, as only those competitors who adopt and comply with the GPL's
|
license, as only those competitors who adopt and comply with the GPL's
|
||||||
terms can benefit from the implied patent license. To continue the
|
terms can benefit from the implied patent license. To continue the
|
||||||
example above, Company \compB does not receive a free ride on Company
|
example above, Company \compB{} does not receive a free ride on Company
|
||||||
\compA's patent, as Company \compB has not licensed-in and then
|
\compA's patent, as Company \compB{} has not licensed-in and then
|
||||||
redistributed Company A's advanced web browser under the GPL. If Company
|
redistributed Company A's advanced web browser under the GPL. If Company
|
||||||
\compB does do that, however, Company \compA still has not lost
|
\compB{} does do that, however, Company \compA{} still has not lost
|
||||||
competitive advantage against Company \compB, as Company \compB must then,
|
competitive advantage against Company \compB{}, as Company \compB{} must then,
|
||||||
when it re-distributes Company \compA's program, grant an implied license
|
when it re-distributes Company \compA's program, grant an implied license
|
||||||
to any of its patents that cover the program. Further, if Company \compB
|
to any of its patents that cover the program. Further, if Company \compB{}
|
||||||
relicenses an improved version of Company A's program, it must do so under
|
relicenses an improved version of Company A's program, it must do so under
|
||||||
the GPL, meaning that any patents it holds that cover the improved version
|
the GPL, meaning that any patents it holds that cover the improved version
|
||||||
are impliedly licensed to any licensee. As such, the only way Company
|
are impliedly licensed to any licensee. As such, the only way Company
|
||||||
\compB can benefit from Company \compA's implied patent license, is if it,
|
\compB{} can benefit from Company \compA's implied patent license, is if it,
|
||||||
itself, distributes Company \compA's software program and grants an
|
itself, distributes Company \compA's software program and grants an
|
||||||
implied patent license to any of its patents that cover that program.
|
implied patent license to any of its patents that cover that program.
|
||||||
|
|
||||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||||
\chapter{Defending Freedom On Many Fronts}
|
\chapter{Defending Freedom On Many Fronts}
|
||||||
|
|
||||||
The last chapter presented the core freedom-defending provisions of GPL\@,
|
Chapters~\ref{run-and-verbatim} and ~\ref{source-and-binary} presented the
|
||||||
which are in \S\S 0--3. \S\S 4--7 of the GPL are designed to ensure that
|
core freedom-defending provisions of GPL\@, which are in \S\S 0--3. \S\S
|
||||||
\S\S 0--3 are not infringed, are enforceable, are kept to the confines of
|
4--7 of the GPL are designed to ensure that \S\S 0--3 are not infringed,
|
||||||
copyright law and are not trumped by other copyright agreements or
|
are enforceable, are kept to the confines of copyright law and are not
|
||||||
components of other entirely separate legal systems. In short, while \S\S
|
trumped by other copyright agreements or components of other entirely
|
||||||
0--3 are the parts of the license that defend the freedoms of users and
|
separate legal systems. In short, while \S\S 0--3 are the parts of the
|
||||||
programmers, \S\S 4--7 are the parts of the license that keep the playing
|
license that defend the freedoms of users and programmers, \S\S 4--7 are
|
||||||
field clear so that \S\S 0--3 can do their jobs.
|
the parts of the license that keep the playing field clear so that \S\S
|
||||||
|
0--3 can do their jobs.
|
||||||
|
|
||||||
\section{GPL \S 4: Termination on Violation}
|
\section{GPL \S 4: Termination on Violation}
|
||||||
\label{GPLs4}
|
\label{GPLs4}
|
||||||
|
@ -1591,12 +1606,12 @@ That is FSF's steadfast position in a violation negotiation --- comply
|
||||||
with the license and respect freedom.
|
with the license and respect freedom.
|
||||||
|
|
||||||
However, other entities who do not share the full ethos of software
|
However, other entities who do not share the full ethos of software
|
||||||
freedom as institutionalized by FSF pursue GPL violations differently. MySQL
|
freedom as institutionalized by FSF pursue GPL violations differently.
|
||||||
AB, a company that produces the GPL'd MySQL database, upon discovering
|
MySQL AB, a company that produces the GPL'd MySQL database, upon
|
||||||
GPL violations typically negotiates a proprietary software license
|
discovering GPL violations typically negotiates a proprietary software
|
||||||
separately for a fee. While this practice is not one that FSF would ever
|
license separately for a fee. While this practice is not one that FSF
|
||||||
consider undertaking or even endorsing, it is a legal way for copyright
|
would ever consider undertaking or even endorsing, it is a legal way for
|
||||||
holders to proceed.
|
copyright holders to proceed.
|
||||||
|
|
||||||
\section{GPL \S 5: Acceptance, Copyright Style}
|
\section{GPL \S 5: Acceptance, Copyright Style}
|
||||||
\label{GPLs5}
|
\label{GPLs5}
|
||||||
|
@ -1788,23 +1803,23 @@ as copyright law will allow is the most direct way to reach that goal.
|
||||||
However, while the strategic goal is to bring as much Free Software into
|
However, while the strategic goal is to bring as much Free Software into
|
||||||
the world as possible, particular tactical situations of software freedom
|
the world as possible, particular tactical situations of software freedom
|
||||||
dictate different means. Extending the copyleft effect as far as
|
dictate different means. Extending the copyleft effect as far as
|
||||||
copyright law allows is not always the most prudent course to the goal.
|
copyright law allows is not always the most prudent course in reaching the
|
||||||
In particular situations, even those of us with the goal of building a
|
goal. In particular situations, even those of us with the goal of
|
||||||
world where all published software is Free Software realize that full
|
building a world where all published software is Free Software realize
|
||||||
copyleft does not best serve that goal. The GNU Lesser General Public
|
that full copyleft does not best serve us. The GNU Lesser General Public
|
||||||
License (``GNU LGPL'') was designed as a solution for such situations.
|
License (``GNU LGPL'') was designed as a solution for such situations.
|
||||||
|
|
||||||
\section{The First LGPL'd Program}
|
\section{The First LGPL'd Program}
|
||||||
|
|
||||||
The first example that FSF encountered where such altered tactics were
|
The first example that FSF encountered where such altered tactics were
|
||||||
needed was when work began on the GNU C Library. The GNU C Library would
|
needed was when work began on the GNU C Library. The GNU C Library would
|
||||||
be (and today, now is) a drop-in replacement for existing C Libraries. On
|
become (and today, now is) a drop-in replacement for existing C Libraries.
|
||||||
a Unix-like operating system, C is the lingua franca and the C library is
|
On a Unix-like operating system, C is the lingua franca and the C library
|
||||||
an essential component for all programs. It is extremely difficult to
|
is an essential component for all programs. It is extremely difficult to
|
||||||
construct a program that will run with ease on a Unix-like operating
|
construct a program that will run with ease on a Unix-like operating
|
||||||
system without making use of services provided by the GNU C Library --
|
system without making use of services provided by the C Library --- even
|
||||||
even if the program is written in a language other than C\@. Effectively,
|
if the program is written in a language other than C\@. Effectively, all
|
||||||
all user application programs that run on any modern Unix-like system must
|
user application programs that run on any modern Unix-like system must
|
||||||
make use of the C Library.
|
make use of the C Library.
|
||||||
|
|
||||||
By the time work began on the GNU implementation of the C Library, there
|
By the time work began on the GNU implementation of the C Library, there
|
||||||
|
@ -1812,15 +1827,15 @@ were already many C libraries in existence from a variety of vendors.
|
||||||
Every proprietary Unix vendor had one, and many third parties produced
|
Every proprietary Unix vendor had one, and many third parties produced
|
||||||
smaller versions for special purpose use. However, our goal was to create
|
smaller versions for special purpose use. However, our goal was to create
|
||||||
a C library that would provide equivalent functionality to these other C
|
a C library that would provide equivalent functionality to these other C
|
||||||
Libraries on a Free Software operating system (which in fact happens today
|
libraries on a Free Software operating system (which in fact happens today
|
||||||
in modern GNU/Linux systems, which all use the GNU C Library).
|
on modern GNU/Linux systems, which all use the GNU C Library).
|
||||||
|
|
||||||
Unlike existing GNU application software, however, the licensing
|
Unlike existing GNU application software, however, the licensing
|
||||||
implications of releasing the GNU C Library (``glibc'') under GPL were
|
implications of releasing the GNU C Library (``glibc'') under GPL were
|
||||||
somewhat different. Applications released under GPL would never
|
somewhat different. Applications released under GPL would never
|
||||||
themselves become part of proprietary software. However, if glibc were
|
themselves become part of proprietary software. However, if glibc were
|
||||||
released under GPL, it would require that any application distributed for
|
released under GPL, it would require that any application distributed for
|
||||||
the GNU/Linux platform be released under GPL.
|
the GNU/Linux platform be released under GPL\@.
|
||||||
|
|
||||||
Since all applications on a Unix-like system depend on the C library, it
|
Since all applications on a Unix-like system depend on the C library, it
|
||||||
means that they must link with that library to function on the system. In
|
means that they must link with that library to function on the system. In
|
||||||
|
@ -1837,18 +1852,18 @@ advocates, since it stops all proprietary software development on
|
||||||
GNU/Linux systems. However, the outcome is a bit more subtle. In a world
|
GNU/Linux systems. However, the outcome is a bit more subtle. In a world
|
||||||
where many C Libraries already exist, many of which could easily be ported
|
where many C Libraries already exist, many of which could easily be ported
|
||||||
to GNU/Linux, a GPL'd glibc would be unlikely to succeed. Proprietary
|
to GNU/Linux, a GPL'd glibc would be unlikely to succeed. Proprietary
|
||||||
vendors would see the excellent opportunity to license their C libraries to
|
vendors would see the excellent opportunity to license their C libraries
|
||||||
anyone who wished to write proprietary software for GNU/Linux systems.
|
to anyone who wished to write proprietary software for GNU/Linux systems.
|
||||||
The de-facto standard for C libraries on GNU/Linux would likely become not
|
The de-facto standard for C libraries on GNU/Linux would likely be not
|
||||||
glibc, but the most popular proprietary one.
|
glibc, but the most popular proprietary one.
|
||||||
|
|
||||||
Meanwhile, the actual goal of releasing glibc under GPL --- to ensure no
|
Meanwhile, the actual goal of releasing glibc under GPL --- to ensure no
|
||||||
proprietary applications on GNU/Linux --- would be unattainable in this
|
proprietary applications on GNU/Linux --- would be unattainable in this
|
||||||
scenario. Furthermore, users of those proprietary applications would also
|
scenario. Furthermore, users of those proprietary applications would also
|
||||||
be users of a proprietary C library, not glibc.
|
be users of a proprietary C library, not the Free glibc.
|
||||||
|
|
||||||
The Lesser GPL was first conceived to handle this scenario. It was clear
|
The Lesser GPL was initially conceived to handle this scenario. It was
|
||||||
that the existence of proprietary applications for GNU/Linux was
|
clear that the existence of proprietary applications for GNU/Linux was
|
||||||
inevitable. Since there were so many C libraries already in existence, a
|
inevitable. Since there were so many C libraries already in existence, a
|
||||||
new one under GPL would not stop that tide. However, if the new C library
|
new one under GPL would not stop that tide. However, if the new C library
|
||||||
were released under a license that (a) permitted proprietary applications
|
were released under a license that (a) permitted proprietary applications
|
||||||
|
@ -1860,25 +1875,23 @@ the C library.
|
||||||
|
|
||||||
There was no way the license of glibc could stop or even slow the creation
|
There was no way the license of glibc could stop or even slow the creation
|
||||||
of proprietary applications on GNU/Linux. However, loosening the
|
of proprietary applications on GNU/Linux. However, loosening the
|
||||||
restrictions on the licensing of glibc was able to ensure that nearly all
|
restrictions on the licensing of glibc ensured that nearly all proprietary
|
||||||
proprietary applications at least used a Free C library rather than a
|
applications at least used a Free C library rather than a proprietary one.
|
||||||
proprietary one. This trade-off is central to the reasoning behind the
|
This trade-off is central to the reasoning behind the LGPL\@.
|
||||||
LGPL\@.
|
|
||||||
|
|
||||||
Of course, many people who use the LGPL today are not thinking in these
|
Of course, many people who use the LGPL today are not thinking in these
|
||||||
terms. In fact, they are often choosing the GPL because they are looking
|
terms. In fact, they are often choosing the LGPL because they are looking
|
||||||
for a ``compromise'' between the GPL and the X11-style liberal licensing
|
for a ``compromise'' between the GPL and the X11-style liberal licensing.
|
||||||
that does not reserve any rights to ensure the future freedom of the
|
However, understanding FSF's reasoning behind the creation of the LGPL is
|
||||||
software. However, understanding FSF's reasoning behind the creation of
|
helpful when studying the license.
|
||||||
the LGPL is helpful when studying the license.
|
|
||||||
|
|
||||||
|
|
||||||
\section{What's the Same?}
|
\section{What's the Same?}
|
||||||
|
|
||||||
Much of the text of the LGPL is identical to the GPL\@. As we begin our
|
Much of the text of the LGPL is identical to the GPL\@. As we begin our
|
||||||
discussion of the LGPL, we will first eliminate the sections that are
|
discussion of the LGPL, we will first eliminate the sections that are
|
||||||
identical, or that have the minor change of changing the word ``Program''
|
identical, or that have the minor modifications of changing the word
|
||||||
to ``Library''.
|
``Program'' to ``Library''.
|
||||||
|
|
||||||
First, \S 1 of LGPL, the rules for verbatim copying of source, are
|
First, \S 1 of LGPL, the rules for verbatim copying of source, are
|
||||||
equivalent to those in GPL's \S 1.
|
equivalent to those in GPL's \S 1.
|
||||||
|
@ -2025,14 +2038,14 @@ the library'', works as follows:
|
||||||
\end{itemize}
|
\end{itemize}
|
||||||
|
|
||||||
We will talk about the specific restrictions LGPL places on ``works that
|
We will talk about the specific restrictions LGPL places on ``works that
|
||||||
use the library'' in detail in Section~\ref{FIXME}. For now, focus on the
|
use the library'' in detail in Section~\ref{lgpl-section-6}. For now,
|
||||||
logic related to how the LGPL places requirements on the license of
|
focus on the logic related to how the LGPL places requirements on the
|
||||||
\lplusi{}. Note, first of all, the similarity between this explanation
|
license of \lplusi{}. Note, first of all, the similarity between this
|
||||||
and that in Section~\ref{separate-and-independent}, which discussed the
|
explanation and that in Section~\ref{separate-and-independent}, which
|
||||||
combining otherwise separate and independent works with GPL'd code.
|
discussed the combination of otherwise separate and independent works with
|
||||||
Effectively, what LGPL is doing is saying that when a new work is
|
GPL'd code. Effectively, what LGPL is doing is saying that when a new
|
||||||
otherwise separate and independent, but has interface calls out to an
|
work is otherwise separate and independent, but has interface calls out to
|
||||||
LGPL'd library, then it is considered a ``work that uses the library''.
|
an LGPL'd library, then it is considered a ``work that uses the library''.
|
||||||
|
|
||||||
In addition, the only reason that LGPL has any control over the licensing
|
In addition, the only reason that LGPL has any control over the licensing
|
||||||
of a ``work that uses the library'' is for the same reason that GPL has
|
of a ``work that uses the library'' is for the same reason that GPL has
|
||||||
|
@ -2122,11 +2135,10 @@ the license only so that when such a border case is hit, the implications
|
||||||
of using LGPL continue in the expected way.
|
of using LGPL continue in the expected way.
|
||||||
|
|
||||||
To understand this subtle point, we must recall the way that a compiler
|
To understand this subtle point, we must recall the way that a compiler
|
||||||
operates, which we discussed in Section~\ref{FIXME}. The compiler first
|
operates. The compiler first generates object code, which are the binary
|
||||||
generates object code, which are the binary representations of various
|
representations of various programming modules. Each of those modules is
|
||||||
programming modules. Each of those modules is usually not useful by
|
usually not useful by itself; it becomes useful to a user a full program
|
||||||
itself; it becomes useful to a user a a full program when those modules
|
when those modules are {\em assembled\/} into a full binary executable.
|
||||||
are {\em assembled\/} into a full binary executable.
|
|
||||||
|
|
||||||
As we have discussed, the assembly of modules can happen at compile-time
|
As we have discussed, the assembly of modules can happen at compile-time
|
||||||
or at runtime. Legally, there is no distinction between the two --- both
|
or at runtime. Legally, there is no distinction between the two --- both
|
||||||
|
@ -2154,7 +2166,7 @@ based on the library''. However, since the compiler copies verbatim,
|
||||||
copyrighted portions of the library into the object code for the otherwise
|
copyrighted portions of the library into the object code for the otherwise
|
||||||
separate and independent work, it would actually cause that object file a
|
separate and independent work, it would actually cause that object file a
|
||||||
``work based on the library''. It is not FSF's intent that a mere
|
``work based on the library''. It is not FSF's intent that a mere
|
||||||
compilation idiosyncrasy changes the requirements on the users of the
|
compilation idiosyncrasy would change the requirements on the users of the
|
||||||
LGPL'd software. This paragraph removes that restriction, allowing the
|
LGPL'd software. This paragraph removes that restriction, allowing the
|
||||||
implications of the license to be the same regardless of the specific
|
implications of the license to be the same regardless of the specific
|
||||||
mechanisms the compiler uses underneath to create the ``work that uses the
|
mechanisms the compiler uses underneath to create the ``work that uses the
|
||||||
|
@ -2170,7 +2182,7 @@ them understand that the full implications of LGPL are the same regardless
|
||||||
of the details of the compilation progress.
|
of the details of the compilation progress.
|
||||||
|
|
||||||
\section{LGPL \S 6: Distributing Works that Use the Library}
|
\section{LGPL \S 6: Distributing Works that Use the Library}
|
||||||
|
\label{lgpl-section-6}
|
||||||
Now that we have a established a good working definition of works that
|
Now that we have a established a good working definition of works that
|
||||||
``use'' and works that ``are based on'' the library, we will consider the
|
``use'' and works that ``are based on'' the library, we will consider the
|
||||||
rules for distributing these two different works.
|
rules for distributing these two different works.
|
||||||
|
@ -2184,10 +2196,10 @@ source form. However, there are also conditions in LGPL \S 6 to make sure
|
||||||
that a user who wishes to modify or update the library can do so.
|
that a user who wishes to modify or update the library can do so.
|
||||||
|
|
||||||
LGPL \S 6 lists five choices with regard to supplying library source and
|
LGPL \S 6 lists five choices with regard to supplying library source and
|
||||||
the freedom to modify that library source the users. We will first
|
granting the freedom to modify that library source to users. We will
|
||||||
consider the option given by \S 6(b), which describes the most common way
|
first consider the option given by \S 6(b), which describes the most
|
||||||
that is currently used for LGPL compliance on a ``work that uses the
|
common way that is currently used for LGPL compliance on a ``work that
|
||||||
library''.
|
uses the library''.
|
||||||
|
|
||||||
\S 6(b) allows the distributor of a ``work that uses the library'' to
|
\S 6(b) allows the distributor of a ``work that uses the library'' to
|
||||||
simply use a dynamically linked, shared library mechanism to link with the
|
simply use a dynamically linked, shared library mechanism to link with the
|
||||||
|
@ -2214,17 +2226,18 @@ based on the library'', so that the user can relink the application and
|
||||||
build a new binary.
|
build a new binary.
|
||||||
|
|
||||||
The remaining options in \S 6 are very similar to the other choices
|
The remaining options in \S 6 are very similar to the other choices
|
||||||
provided by GPL \S 3. There are some additions, and time does not permit
|
provided by GPL \S 3. There are some additional options, and time does
|
||||||
us in this course to go into those additional options. In almost all
|
not permit us in this course to go into those additional options. In
|
||||||
cases of distribution under LGPL, either \S 6(a) or \S 6(b) are exercised.
|
almost all cases of distribution under LGPL, either \S 6(a) or \S 6(b) are
|
||||||
|
exercised.
|
||||||
|
|
||||||
\section{Distribution of Works Based on the Library}
|
\section{Distribution of Works Based on the Library}
|
||||||
|
|
||||||
Essential, ``works based on the library'' must be distributed under the
|
Essentially, ``works based on the library'' must be distributed under the
|
||||||
same conditions as works under full GPL\@. In fact, we note that LGPL's \S
|
same conditions as works under full GPL\@. In fact, we note that LGPL's
|
||||||
2 is nearly identical in its terms and requirements to GPL's \S 2. There
|
\S 2 is nearly identical in its terms and requirements to GPL's \S 2.
|
||||||
are again subtle differences and additions, which time does not permit us
|
There are again subtle differences and additions, which time does not
|
||||||
to cover in this course.
|
permit us to cover in this course.
|
||||||
|
|
||||||
\section{And the Rest}
|
\section{And the Rest}
|
||||||
|
|
||||||
|
@ -3400,6 +3413,7 @@ That's all there is to it!
|
||||||
% LocalWords: proprietarize redistributors sublicense yyyy Gnomovision EULAs
|
% LocalWords: proprietarize redistributors sublicense yyyy Gnomovision EULAs
|
||||||
% LocalWords: Yoyodyne FrontPage improvers Berne copyrightable Stallman's GPLs
|
% LocalWords: Yoyodyne FrontPage improvers Berne copyrightable Stallman's GPLs
|
||||||
% LocalWords: Lessig Lessig's UCITA pre PDAs CDs reshifts GPL's Gentoo glibc
|
% LocalWords: Lessig Lessig's UCITA pre PDAs CDs reshifts GPL's Gentoo glibc
|
||||||
% LocalWords: TrollTech administrivia LGPL's MontaVista OpenTV Mitek Arce
|
% LocalWords: TrollTech administrivia LGPL's MontaVista OpenTV Mitek Arce DVD
|
||||||
% LocalWords: unprotectable protectable Unfreedonia chipset CodeSourcery
|
% LocalWords: unprotectable protectable Unfreedonia chipset CodeSourcery Iqtel
|
||||||
% LocalWords: impermissibly
|
% LocalWords: impermissibly Bateman faire minimis Borland uncopyrightable Mgmt
|
||||||
|
% LocalWords: franca downloadable
|
||||||
|
|
Loading…
Reference in a new issue