Subject: Re: LGPL clarification
From: Ian Lance Taylor <ian@airs.com>
Date: 1 Nov 2000 09:49:21 -0800

   Date: Wed, 01 Nov 2000 12:37:07 -0500
   From: Bryan George <bgeorge@mitre.org>

   > The LGPL is basically designed to support shared libraries.  If you
   > can distribute your package as a shared library, then the LGPL does
   > not put any restrictions on the program which uses the library.  This
   > is how you avoid the restriction in section 5--the work is linked with
   > the library at run time, so there are restrictions on the end user
   > (the end user effectively can not distribute the linked program), but
   > not on the program which uses the library.

   Unfortunately, what you say doesn't seem to square with what the LGPL
   says on the subject of static vs. dynamic linking (from the Preamble):

   "When a program is linked with a library, whether statically or using a
   shared library, the combination of the two is legally speaking a
   combined
   work, a derivative of the original library..."

   Since dynamically-linked executables are considered derivative works,
   Sections 5 and 6 apply.

Yes.  But think about when the two cases happen.  If you distribute a
shared library L, and somebody distributes a proprietary program P
which is intended to use L, then P has not been linked against L.  The
LGPL puts no restrictions on P.

The LGPL puts restrictions on P when it is linked with L.  But so
what?  That linking will only happen on the end user system.  The
typical effect is that the end user is not permitted to distribute the
executable now found in memory, because it is impossible to satisfy
both the conditions of the vendor of P and the conditions of the LGPL.

But the LGPL puts no restrictions on the distribution of P, which is
what the proprietary user cares about.

   >    - Assuming I'm interpreting the LGPL text correctly, are there any
   >    reasonable circumstances under which a company might be able to develop
   >    and deploy a binary executable without being subject to the stated
   >    conditions?
   > 
   > Distribute your package as a shared library.

   Sure, and all that has to happen then is for every company developing
   embedded systems to design a dynamic linker into their next-generation
   products.  I'm sure they'd be happy to comply. %b

I didn't realize that this was for an embedded system.  The LGPL won't
help you.

Ian