Subject: Re: LGPL... variations on a theme
From: Ian Lance Taylor <ian@airs.com>
Date: 04 Jul 2001 23:31:56 -0700

Bernard Lang <Bernard.Lang@inria.fr> writes:

> 2- Another organization is producing a free compiler, and an associated
> run-time library. The run-time library is LGPLed.
>    They are concerned that potential users will not like the
> constraint of the LGPL on "work that uses the Library" as described in
> section 6 of the LGPL, namely that one must provide a relinkable
> version of the program (so as to allow free modification of the
> library components used).
>    The problem is not so much that people do not want to give that
> freedom, but that the hassle of being contrained to do it for ever may
> discourage potential users at the onset of their project.
>    So the idea is to remove that constraint (possibly while
> encouraging people to do it anyway).
>    The idea is that a free system that is a bit more lax on GPLing is
> better than a dead system (they want, need their system to live).
>    I am not too keen on this, but I would welcome comments.

If you remove that constraint, then they can pretty much do anything.
They can modify the library, add all sorts of proprietary goop, and
then release a fully linked program without providing the source to
the modified library.  I'm not sure how this is different from the
libgcc exception license, which is the GPL plus this paragraph:

    In addition to the permissions in the GNU General Public License, the
    Free Software Foundation gives you unlimited permission to link the
    compiled version of this file into combinations with other programs,
    and to distribute those combinations without any restriction coming
    from the use of this file.  (The General Public License restrictions
    do apply in other respects; for example, they cover modification of
    the file, and distribution when not linked into a combine
    executable.)

> BTW, do the millions of developers using GCC and LIBC actually follow
> the rule ?

Sure.  glibc is a shared object, and programs link against it
dynamically.  The relinkable version of the program required by the
LGPL is simply the executable itself.  The user may change and
recompile glibc, and use the program with the newly modified glibc.

Ian