Re: why LGPL 2.0?



>Yes, because of section 6. However, UPTO section 5, the above it true.
>No, it's not true about the entire license, but if you consider the 
>license up to that point:
>
>(1) - The executable is a derivative work.
>(2) - Derivative works require full release of source (see section 2)

You (or your legal friend) have misunderstood what section 2 is all
about, perhaps because of failing to distinguish between work done
*on* the library and work done *using* the library.  Re-read section 2
carefully. It begins:

  2. You may modify your copy or copies of the Library or any portion
  of it, thus forming a work based on the Library, and copy and
  distribute such modifications or work under the terms of Section 1
  above, provided that you also meet all of these conditions:

What is describing are cases where you modify the library. What the
license is describing here are cases such as:

     * you change a function to be more efficient
     * you add debugging info to a function
     * you change the API of part of the library

What the license says is that if you create a new work from such
modifications, and if that work can be considered to be derived from
the library, the new work must be LGPLed. This means that if you take
libfoo, modify the source code to create libbar, then libbar must be
LGPL'ed as well. Likewise if you rip the source code out of libfoo,
put into your application "app", with or without modifications. "app"
must still be LGPLed.

on the other hand, if you create some new functions that are in some
related to the library, but are not derived from it, your functions
are not LGPL'ed unless you distribute them along with the library or a
modified version thereof.

This section of the license does not cover use of the library when
creating programs that just link to the library. 

>There is a certain sub-set of cases in which releasing the source
>code is not required. This is the case in which your program is a
>"work that uses the library", and as such although a derivative of
>the library, does NOT require the release of source code. Any other
>program under LGPL requires the release of source code. Any update 
>to a program under LGPL requires the release of source code.

If you write a program that does nothing more than link to the
library, it is a "work that uses the library" and no source code
release is necessary. This covers the vast majority of all programs
that use LGPL'ed libraries.

The exceptions arise only where authors, instead of linking against a
library, extract source code the source of the library, and insert it
into their source code. Under these circumstances, they will need to 
release under the LGPL as well (i.e. with source). There are few
"good" reasons to do this, but lots of bad ones, and its the bad ones
that are one of the reasons why the LGPL exists: to prevent someone
from taking a library, putting the source into the application, and
thus creating a closed, proprietary version of it.

>really what it was set out to be, and I'll point out that LGPL is NOT 
>the magic use-free-stuff-in-commerical-products magic blanket that some 
>people seem to think it is. Like any other license agreement, it has terms 
>and conditions that need to be considered. Section 5 and 6 simply make it 
>a bit more flexible than the pure GPL.

for people who write programs that do nothing more than link to an
LGPL'ed library, the LGPL *is* the magic use-free-stuff-
in-commerical-products blanket. although its not quite free because of
the relinking requirement, but then dynamic linkage has just about got
that one beaten,

for people who do other things with LGPL'ed libraries, it definitely
is not a magic blanket, and thats just as intended.




[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]