* Finished initial writing on LGPL
This commit is contained in:
		
							parent
							
								
									02819d4d97
								
							
						
					
					
						commit
						ce82a1d116
					
				
					 1 changed files with 107 additions and 44 deletions
				
			
		
							
								
								
									
										151
									
								
								gpl-lgpl.tex
									
										
									
									
									
								
							
							
						
						
									
										151
									
								
								gpl-lgpl.tex
									
										
									
									
									
								
							|  | @ -1311,13 +1311,13 @@ So ends the terms and conditions of the GNU General Public License. | ||||||
| \chapter{The Lesser GPL} | \chapter{The Lesser GPL} | ||||||
| 
 | 
 | ||||||
| As we have seen in our consideration of the GPL, its text is specifically | As we have seen in our consideration of the GPL, its text is specifically | ||||||
| designed to cover all possible deriviative works under copyright law.  Our | designed to cover all possible derivative works under copyright law.  Our | ||||||
| goal in desiging GPL was to make sure that any derivative work of GPL'd | goal in designing GPL was to make sure that any derivative work of GPL'd | ||||||
| software was itself released under GPL when distributed.  Reaching as far | software was itself released under GPL when distributed.  Reaching as far | ||||||
| as copyright law will allow is the most direct way to reach that goal. | 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 tatical 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 to the goal. | ||||||
| In particular situations, even those of us with the goal of building a | In particular situations, even those of us with the goal of building a | ||||||
|  | @ -1330,16 +1330,16 @@ License (``GNU LGPL'') was designed as a solution for such situations. | ||||||
| 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 | be (and today, now is) a drop-in replacement for existing C Libraries.  On | ||||||
| a Unix-like operating system, C is the linga franca and the C library is | a Unix-like operating system, C is the lingua franca and the C library is | ||||||
| an essential component for all programs.  It is extremely difficult to | 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 GNU C Library -- | ||||||
| even if the program is written in a langauge other than C\@.  Effectively, | even if the program is written in a language other than C\@.  Effectively, | ||||||
| all user application programs that run on any modern Unix-like system must | all 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 | ||||||
| were already many C libraries in existance from a variety of vendors. | 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 | ||||||
|  | @ -1368,7 +1368,7 @@ 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 exellent opportunity to license their C libraries to | vendors would see the excellent opportunity to license their C libraries to | ||||||
| anyone who wished to write proprietary software for GNU/Linux systems. | 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 become not | ||||||
| glibc, but the most popular proprietary one. | glibc, but the most popular proprietary one. | ||||||
|  | @ -1380,7 +1380,7 @@ be users of a proprietary C library, not glibc. | ||||||
| 
 | 
 | ||||||
| The Lesser GPL was first conceived to handle this scenario.  It was clear | The Lesser GPL was first conceived to handle this scenario.  It was clear | ||||||
| that the existence of proprietary applications for GNU/Linux was | that the existence of proprietary applications for GNU/Linux was | ||||||
| inevitable.  Since there were so many C libraries already in existance, 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 | ||||||
| to link with it, but (b) made sure that the library itself remained Free, | to link with it, but (b) made sure that the library itself remained Free, | ||||||
|  | @ -1390,7 +1390,7 @@ the application itself, would have the freedom to do so with respect to | ||||||
| the C library. | 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 propreitary 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 was able to ensure that nearly all | ||||||
| proprietary applications at least used a Free C library rather than a | proprietary applications at least used a Free C library rather than a | ||||||
| proprietary one.  This trade-off is central to the reasoning behind the | proprietary one.  This trade-off is central to the reasoning behind the | ||||||
|  | @ -1406,7 +1406,7 @@ 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 identitcal 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 change of changing the word ``Program'' | ||||||
| to ``Library''. | to ``Library''. | ||||||
|  | @ -1429,13 +1429,13 @@ restrictions are imposed. | ||||||
| 
 | 
 | ||||||
| LGPL's \S 11 is GPL's \S 7.  As discussed, it is used to ensure that | LGPL's \S 11 is GPL's \S 7.  As discussed, it is used to ensure that | ||||||
| other claims and legal realities, such as patent licenses and court | other claims and legal realities, such as patent licenses and court | ||||||
| judgements, do not trump the rights and permissions granted by these | judgments, do not trump the rights and permissions granted by these | ||||||
| licenses, and requires that distribution be halted if such a trump is | licenses, and requires that distribution be halted if such a trump is | ||||||
| known to exist. | known to exist. | ||||||
| 
 | 
 | ||||||
| LGPL's \S 12 adds the same features as GPL's \S 8.  These sections are | LGPL's \S 12 adds the same features as GPL's \S 8.  These sections are | ||||||
| used to allow original copyright holders to forbid distribution in | used to allow original copyright holders to forbid distribution in | ||||||
| countries with draconian laws that would otherwise contridict these | countries with draconian laws that would otherwise contradict these | ||||||
| licenses. | licenses. | ||||||
| 
 | 
 | ||||||
| LGPL's \S 13 sets up FSF as the steward of the LGPL, just as GPL's \S 9 | LGPL's \S 13 sets up FSF as the steward of the LGPL, just as GPL's \S 9 | ||||||
|  | @ -1448,16 +1448,16 @@ identical; thus LGPL's \S 15 and \S 16 are the same as GPL's \S 11 and \S | ||||||
| 12. | 12. | ||||||
| 
 | 
 | ||||||
| Thus, as we see, the entire latter half of the license is identical. | Thus, as we see, the entire latter half of the license is identical. | ||||||
| The parts which set up the legal boundries and meta-rules for the license | The parts which set up the legal boundaries and meta-rules for the license | ||||||
| are the same.  It is our intent that the two licenses operate under the | are the same.  It is our intent that the two licenses operate under the | ||||||
| same legal meachanisms and are enforced precisely the same way. | same legal mechanisms and are enforced precisely the same way. | ||||||
| 
 | 
 | ||||||
| We strike a difference only in the early portions of the license. | We strike a difference only in the early portions of the license. | ||||||
| Namely, we go into deeper detail of granting various permissions to | Namely, we go into deeper detail of granting various permissions to | ||||||
| create derivative works, so the redistributors can make some proprietary | create derivative works, so the redistributors can make some proprietary | ||||||
| derivatives.  Since we simply do not allow the license to stretch as far | derivatives.  Since we simply do not allow the license to stretch as far | ||||||
| as copyright law does regarding what derivative works must be relicensed | as copyright law does regarding what derivative works must be relicensed | ||||||
| under the same terms, we must go further to explain which dervative works | under the same terms, we must go further to explain which derivative works | ||||||
| we will allow to be proprietary.  Thus, we'll see that the front matter | we will allow to be proprietary.  Thus, we'll see that the front matter | ||||||
| of the LGPL is a bit more wordy and detailed with regards to the | of the LGPL is a bit more wordy and detailed with regards to the | ||||||
| permissions granted to those who modify or redistribute the software. | permissions granted to those who modify or redistribute the software. | ||||||
|  | @ -1466,7 +1466,7 @@ permissions granted to those who modify or redistribute the software. | ||||||
| 
 | 
 | ||||||
| Most of LGPL's Preamble is identical, but the last seven paragraphs | Most of LGPL's Preamble is identical, but the last seven paragraphs | ||||||
| introduce the concepts and reasoning behind creation of the license, | introduce the concepts and reasoning behind creation of the license, | ||||||
| persenting a more generalized and briefer version of the story with which | presenting a more generalized and briefer version of the story with which | ||||||
| we began our consideration of LGPL\@. | we began our consideration of LGPL\@. | ||||||
| 
 | 
 | ||||||
| In short, FSF designed LGPL for those edge cases where the freedom of the | In short, FSF designed LGPL for those edge cases where the freedom of the | ||||||
|  | @ -1522,24 +1522,24 @@ compiled and linked with GPL'd software are derivative works of that GPL'd | ||||||
| software.  This includes both linking that happens at compile-time (when | software.  This includes both linking that happens at compile-time (when | ||||||
| the binary is created) or at runtime (when the binary -- including library | the binary is created) or at runtime (when the binary -- including library | ||||||
| and main program both -- is loaded into memory by the user).  In GPL, | and main program both -- is loaded into memory by the user).  In GPL, | ||||||
| binary derivative works are controled by the terms of the license (in GPL | binary derivative works are controlled by the terms of the license (in GPL | ||||||
| \S 3), and distributors of such binary derivatives must release full | \S 3), and distributors of such binary derivatives must release full | ||||||
| correesponding source under terms of GPL\@. | corresponding source under terms of GPL\@. | ||||||
| 
 | 
 | ||||||
| In the case of LGPL, these are preceisely the types of derivative works | In the case of LGPL, these are precisely the types of derivative works | ||||||
| we wish to permit.  This scenario, defined in LGPL as ``a work that uses | we wish to permit.  This scenario, defined in LGPL as ``a work that uses | ||||||
| the library'', works as follows: | the library'', works as follows: | ||||||
| 
 | 
 | ||||||
| \begin{itemize} |  | ||||||
| 
 |  | ||||||
| \newcommand{\workl}{$\mathcal{L}$} | \newcommand{\workl}{$\mathcal{L}$} | ||||||
| \newcommand{\lplusi}{$\mathcal{L\!\!+\!\!I}$} | \newcommand{\lplusi}{$\mathcal{L\!\!+\!\!I}$} | ||||||
| 
 | 
 | ||||||
| \item A new copyright holder creates a separate and independant work, | \begin{itemize} | ||||||
|  | 
 | ||||||
|  | \item A new copyright holder creates a separate and independent work, | ||||||
|   \worki{}, that makes interface calls (e.g., function calls) to the |   \worki{}, that makes interface calls (e.g., function calls) to the | ||||||
|   LGPL'd work, called \workl{}, whose copyright is held by some other |   LGPL'd work, called \workl{}, whose copyright is held by some other | ||||||
|   party.  Note that since \worki{} and \workl{} are separate and |   party.  Note that since \worki{} and \workl{} are separate and | ||||||
|   indepedant works, there is no copyright obligation on this new copyright |   independent works, there is no copyright obligation on this new copyright | ||||||
|   holder with regard to the licensing of \worki{}, at least with regard to |   holder with regard to the licensing of \worki{}, at least with regard to | ||||||
|   the source code. |   the source code. | ||||||
| 
 | 
 | ||||||
|  | @ -1558,16 +1558,16 @@ the library'', works as follows: | ||||||
| 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{FIXME}.  For now, focus on the | ||||||
| logic related to how the LGPL places requirements on the license of | logic related to how the LGPL places requirements on the license of | ||||||
| \lplusi{}.  Note, first of all, the similarity between this explination | \lplusi{}.  Note, first of all, the similarity between this explanation | ||||||
| and that in Section~\ref{separate-and-independent}, which discussed the | and that in Section~\ref{separate-and-independent}, which discussed the | ||||||
| combining otherwise separate and independant works with GPL'd code. | combining otherwise separate and independent works with GPL'd code. | ||||||
| Effectively, what LGPL is doing is saying that when a new work is | Effectively, what LGPL is doing is saying that when a new work is | ||||||
| otherwise separate and independant, but has interface calls out to an | otherwise separate and independent, but has interface calls out to an | ||||||
| LGPL'ed library, then it is considered a ``work that uses the library''. | 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 | ||||||
| some say over separate and independant works.  Namely, such controls exist | some say over separate and independent works.  Namely, such controls exist | ||||||
| because the {\em binary combination\/} (\lplusi{}) that must be created to | because the {\em binary combination\/} (\lplusi{}) that must be created to | ||||||
| make the separate work (\worki{}) at all useful is a derivative work of | make the separate work (\worki{}) at all useful is a derivative work of | ||||||
| the LGPL'd software (\workl{}). | the LGPL'd software (\workl{}). | ||||||
|  | @ -1575,16 +1575,16 @@ the LGPL'd software (\workl{}). | ||||||
| Thus, a two-question test that will help indicate if a particular work is | Thus, a two-question test that will help indicate if a particular work is | ||||||
| a ``work that uses the library'' under LGPL is as follows: | a ``work that uses the library'' under LGPL is as follows: | ||||||
| 
 | 
 | ||||||
| \begin{emumerate} | \begin{enumerate} | ||||||
| 
 | 
 | ||||||
| \item Is the source code of the new copyrighted work, \worki{}, a | \item Is the source code of the new copyrighted work, \worki{}, a | ||||||
|   completely independant work that stands by itself, and includes no |   completely independent work that stands by itself, and includes no | ||||||
|   source code from \workl{}? |   source code from \workl{}? | ||||||
| 
 | 
 | ||||||
| \item When the source code is compiled, does it create a derivative work | \item When the source code is compiled, does it create a derivative work | ||||||
|   by combining with \workl{}, either by static (compile-time) or dynamic |   by combining with \workl{}, either by static (compile-time) or dynamic | ||||||
|   (runtime) linking, to create a new binary work, \lplusi{}? |   (runtime) linking, to create a new binary work, \lplusi{}? | ||||||
| \end{emumerate} | \end{enumerate} | ||||||
| 
 | 
 | ||||||
| If the answers to both questions are ``yes'', then \worki{} is most likely | If the answers to both questions are ``yes'', then \worki{} is most likely | ||||||
| a ``work that uses the library''.  If the answer to the first question | a ``work that uses the library''.  If the answer to the first question | ||||||
|  | @ -1604,7 +1604,7 @@ library'' extends the full width and depth of copyright derivative works, | ||||||
| in the same sense that GPL does. | in the same sense that GPL does. | ||||||
| 
 | 
 | ||||||
| Most typically, one creates a ``work based on the library'' by directly | Most typically, one creates a ``work based on the library'' by directly | ||||||
| modifing the source of the library.  Such a work could also be created by | modifying the source of the library.  Such a work could also be created by | ||||||
| tightly integrating new software with the library.  The lines are no doubt | tightly integrating new software with the library.  The lines are no doubt | ||||||
| fuzzy, just as they are with GPL'd works, since copyright law gives us no | fuzzy, just as they are with GPL'd works, since copyright law gives us no | ||||||
| litmus test for derivative works of a software program. | litmus test for derivative works of a software program. | ||||||
|  | @ -1637,7 +1637,7 @@ discovered that what we actually had were three distinct components -- the | ||||||
| original LGPL'd work, a specific set of works that used that library, and | original LGPL'd work, a specific set of works that used that library, and | ||||||
| a specific set of works that were based on the library.  Once such | a specific set of works that were based on the library.  Once such | ||||||
| distinctions are established, the licensing for each component can be | distinctions are established, the licensing for each component can be | ||||||
| considered independantly and the LGPL applied to each work as prescribed. | considered independently and the LGPL applied to each work as prescribed. | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| \section{Subtleties in Works that Use the Library} | \section{Subtleties in Works that Use the Library} | ||||||
|  | @ -1666,16 +1666,16 @@ mixing them with another.  However, under LGPL, there is a case in the | ||||||
| compilation process where the legal implications are different. | compilation process where the legal implications are different. | ||||||
| Specifically, while we know that a ``work that uses the library'' is one | Specifically, while we know that a ``work that uses the library'' is one | ||||||
| whose final binary is a derivative work, but whose source is not, there | whose final binary is a derivative work, but whose source is not, there | ||||||
| are cases where the object code --- that intermmediate step between source | are cases where the object code --- that intermediate step between source | ||||||
| and final binary --- is a derivative work created by copying verbatim code | and final binary --- is a derivative work created by copying verbatim code | ||||||
| from the LGPL'd software. | from the LGPL'd software. | ||||||
| 
 | 
 | ||||||
| For effeciency, when a compiler turns source code into object code, it | For efficiency, when a compiler turns source code into object code, it | ||||||
| sometimes places literal portions of the copyrighted library code into the | sometimes places literal portions of the copyrighted library code into the | ||||||
| object code for an otherwise separate independant work.  In the normal | object code for an otherwise separate independent work.  In the normal | ||||||
| scenario, the derivative would not be created until final assembly and | scenario, the derivative would not be created until final assembly and | ||||||
| linking of the executible occured.  However, when the compiler does this | linking of the executable occurred.  However, when the compiler does this | ||||||
| effeciency optimization, at the intermediate object code step, a | efficiency optimization, at the intermediate object code step, a | ||||||
| derivative work is created. | derivative work is created. | ||||||
| 
 | 
 | ||||||
| LGPL's \S 5, \P 4 is designed to handle this specific case.  The intent of | LGPL's \S 5, \P 4 is designed to handle this specific case.  The intent of | ||||||
|  | @ -1683,7 +1683,7 @@ the license is clearly that simply compiling software to ``make use'' of | ||||||
| the library does not in itself cause the compiled work to be a ``work | the library does not in itself cause the compiled work to be a ``work | ||||||
| based on the library''.  However, since the compiler copies verbatim, | 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 independant 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 changes 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 | ||||||
|  | @ -1694,7 +1694,7 @@ library''. | ||||||
| As it turns out, we have only once had anyone worry about this specific | As it turns out, we have only once had anyone worry about this specific | ||||||
| idiosyncrasy, because that particular vendor wanted to ship object code | idiosyncrasy, because that particular vendor wanted to ship object code | ||||||
| (rather than final binaries) to their customers and were worried about | (rather than final binaries) to their customers and were worried about | ||||||
| this edge condition.  The intent of clarifing this edge condition is | this edge condition.  The intent of clarifying this edge condition is | ||||||
| primarily to quell the worries of software engineers who understand the | primarily to quell the worries of software engineers who understand the | ||||||
| level of verbatim code copying that a compiler often does, and to help | level of verbatim code copying that a compiler often does, and to help | ||||||
| them understand that the full implications of LGPL are the same regardless | them understand that the full implications of LGPL are the same regardless | ||||||
|  | @ -1712,11 +1712,74 @@ of source when a binary version of the LGPL'd software is released.  Of | ||||||
| course, it only requires that source code for the library itself be made | course, it only requires that source code for the library itself be made | ||||||
| available.  The work that ``uses'' the library need not be provided in | available.  The work that ``uses'' the library need not be provided in | ||||||
| source form.  However, there are also conditions in LGPL \S 6 to make sure | source form.  However, there are also conditions in LGPL \S 6 to make sure | ||||||
| that a user who wishes to modify or udpate 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  | LGPL \S 6 lists five choices with regard to supplying library source and | ||||||
|  | the freedom to modify that library source the users.  We will first | ||||||
|  | consider the option given by \S 6(b), which describes the most common way | ||||||
|  | that is currently used for LGPL compliance on a ``work that uses the | ||||||
|  | library''. | ||||||
|  | 
 | ||||||
|  | \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 | ||||||
|  | library.  This is by far the easiest and most straightforward option for | ||||||
|  | distribution.  In this case, the executable of the work that uses the | ||||||
|  | library will contain only the ``stub code'' that is put in place by the | ||||||
|  | shared library mechanism, and at runtime the executable will combine with | ||||||
|  | the shared version of the library already resident on the user's computer. | ||||||
|  | If such a mechanism is used, it must allow the user to upgrade and | ||||||
|  | replace the library with interface-compatible versions and still be able | ||||||
|  | to use the ``work that use the library''.  However, all modern shared | ||||||
|  | library mechanisms function as such, and thus \S 6(b) is the simplest | ||||||
|  | option, since it does not even require that the distributor of the ``work | ||||||
|  | based on the library'' ship copies of the library itself. | ||||||
|  | 
 | ||||||
|  | \S 6(a) is the option to use when, for some reason, a shared library | ||||||
|  | mechanism cannot be used.  It requires that the source for the library be | ||||||
|  | included, in the typical GPL fashion, but it also has a requirement beyond | ||||||
|  | that.  The user must be able to exercise her freedom to modify the library | ||||||
|  | to its fullest extent, and that means recombining it with the ``work based | ||||||
|  | on the library''.  If the full binary is linked without a shared library | ||||||
|  | mechanism, the user must have available the object code for the ``worked | ||||||
|  | based on the library'', so that the user can relink the application and | ||||||
|  | build a new binary. | ||||||
|  | 
 | ||||||
|  | The remaining options in \S 6 are very similar to the other choices | ||||||
|  | provided by GPL \S 3.  There are some additions, and time does not permit | ||||||
|  | us in this course to go into those additional options.  In almost all | ||||||
|  | cases of distribution under LGPL, either \S 6(a) or \S 6(b) are exercised. | ||||||
|  | 
 | ||||||
|  | \section{Distribution of Works Based on the Library} | ||||||
|  | 
 | ||||||
|  | Essential, ``works based on the library'' must be distributed under the | ||||||
|  | same conditions as works under full GPL\@.  In fact, we note that LGPL's \S | ||||||
|  | 2 is nearly identical in its terms and requirements to GPL's \S 2.  There | ||||||
|  | are again subtle differences and additions, which time does not permit us | ||||||
|  | to cover in this course. | ||||||
|  | 
 | ||||||
|  | \section{And the Rest} | ||||||
|  | 
 | ||||||
|  | The remaining variations between LGPL and GPL cover the following | ||||||
|  | conditions: | ||||||
|  | 
 | ||||||
|  | \begin{itemize} | ||||||
|  | 
 | ||||||
|  | \item allowing a licensing ``upgrade'' from LGPL to GPL\@ (in LGPL \S 3), | ||||||
|  | 
 | ||||||
|  | \item binary distribution of the library only, covered in LGPL \S 4, | ||||||
|  |   which is effectively equivalent to LGPL \S 3, and | ||||||
|  | 
 | ||||||
|  | \item creating aggregates of libraries that are not derivative works of | ||||||
|  |   each other, and distributing them as a unit (in LGPL \S 7). | ||||||
|  | \end{itemize} | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
|  | Due to time constraints, we cannot cover these additional terms in detail, | ||||||
|  | but they are mostly straightforward.  The key to understanding LGPL is | ||||||
|  | understanding the difference between a ``work based on the library'' and a | ||||||
|  | ``work that uses the library''.  Once that distinction is clear, the | ||||||
|  | remainder of LGPL is close enough to GPL that the concepts discussed in | ||||||
|  | our more extensive GPL unit can be directly applied. | ||||||
| 
 | 
 | ||||||
| %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% | ||||||
| \chapter{Integrating the GPL into Business Practices} | \chapter{Integrating the GPL into Business Practices} | ||||||
|  | @ -2869,5 +2932,5 @@ 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 | % LocalWords:  Lessig Lessig's UCITA pre PDAs CDs reshifts GPL's Gentoo glibc | ||||||
| % LocalWords:  TrollTech | % LocalWords:  TrollTech administrivia LGPL's MontaVista OpenTV | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		
		Reference in a new issue
	
	 Bradley M. Kuhn
						Bradley M. Kuhn