*** empty log message ***

This commit is contained in:
Bradley M. Kuhn 2004-02-12 21:08:33 +00:00
parent 72f969b8a2
commit c19b9d2557
3 changed files with 293 additions and 250 deletions

View file

@ -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.

View file

@ -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