[kaffe] LGPL vs. GPL-with-exception

Casey Marshall rsdio@metastatic.org
Mon Jan 19 12:13:02 2004


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

>>>>> "Doug" == Doug Porter <dougporter@fastmail.fm> writes:

Doug> Here's the text of the exception from GPL-with-exception.

Doug>     As a special exception, if you link this library with other
Doug> files to produce an executable, this library does not by itself
Doug> cause the resulting executable to be covered by the GNU General
Doug> Public License.  This exception does not however invalidate any
Doug> other reasons why the executable file might be covered by the
Doug> GNU General Public License.

Doug> It says if you "link" this library, you're okay.

Doug> But what if you need to fix a bug in the library? Fixing a bug
Doug> is "modifying", not linking. Once you do more than link, the
Doug> exception doesn't help.

Neither does the LGPL.

Doug> Ordinary users are covered by the exception, but developers need
Doug> to fix bugs. In the case of GPL-with-exception, the standard GPL
Doug> takes over as soon as you take a single step past linking.

Doug> And the GPL is, intentionally, not very friendly to people who
Doug> do commercial software. That's why the LGPL originally came into
Doug> existence.

You mean "proprietary software".

Doug> Here's text from the LGPL that doesn't appear in the GPL:

Doug>     5. A program that contains no derivative of any portion of
Doug> the Library, but is designed to work with the Library by being
Doug> compiled or linked with it, is called a "work that uses the
Doug> Library".  Such a work, in isolation, is not a derivative work
Doug> of the Library, and therefore falls outside the scope of this
Doug> License.

Doug> So under LGPL, software that uses the library is not a
Doug> derivative work.  And that is very, very important, because a
Doug> derivative work doesn't belong to me. GPL, and
Doug> GPL-with-exception, don't have this advantage.  Under GPL,
Doug> software that uses a modified version of a GPL library appears
Doug> to be a derivative work, except in special
Doug> circumstanes. Otherwise the extra text in LGPL wouldn't be
Doug> needed.

Doug> So if you fix a bug in a library that uses GPL-with-exception,
Doug> it looks like you can lose ownership of your own code that calls
Doug> that library.  This would make Microsoft very happy.

NO FREE SOFTWARE LICENSE EVER TRANSFERS OWNERSHIP.

>> There's practically nothing that's permitted under the LGPL that
>> isn't also permitted under GPL-with-exception.

Doug> Keeping ownership of your code that calls a library when you fix
Doug> bugs in the library is more than "practically nothing".

Doug> I do a lot of GPL and LGPL work. But some of what I do is
Doug> proprietary.  When I release something as open source I want it
Doug> to be a conscious decision, not just because I fixed a library
Doug> bug and shipped the fix. You may disagree with this analysis,
Doug> and the people who wrote the licenses may not have intended the
Doug> result, but when commercial software is involved we have to be
Doug> conservative.

You are mistaken. Your code that uses a library and your bug fixes to
the library are unique and seperate things, so while the bug fix (or
rather, "the modified version of the library that encorporates the bug
fix") would be subject to the license of the library, be it the GPL or
the LGPL, your code that uses the library or modified version of the
library can still be classified as an independent work.

The GPL says this, in section 2:

   These requirements apply to the modified work as a whole. If
   identifiable sections of that work are not derived from the
   Program, and can be reasonably considered independent and separate
   works in themselves, then this License, and its terms, do not apply
   to those sections when you distribute them as separate works. But
   when you distribute the same sections as part of a whole which is a
   work based on the Program, the distribution of the whole must be on
   the terms of this License, whose permissions for other licensees
   extend to the entire whole, and thus to each and every part
   regardless of who wrote it.

   Thus, it is not the intent of this section to claim rights or
   contest your rights to work written entirely by you; rather, the
   intent is to exercise the right to control the distribution of
   derivative or collective works based on the Program.

Almost everyone who misunderstands the GPL misses this point.

So you always have rights to code that you wrote yourself under the
GPL, but you have additional rights under the GPL+exception with
respect to a certain class of derivative work. 

Doug> And after all, LGPL is still an open source license.

The LGPL is a free software license.

- -- 
Casey Marshall || rsdio@metastatic.org
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.3 (GNU/Linux)
Comment: Processed by Mailcrypt 3.5.7 <http://mailcrypt.sourceforge.net/>

iD8DBQFADDoEgAuWMgRGsWsRAkbNAJ9brj0HqfRnKQbKSaYii9ypqWw2bQCgidNH
1BbKnTI+PDpzmwYgKXWqLyI=
=dDXd
-----END PGP SIGNATURE-----