On Tue, 28 Dec 2004 11:58:58 -0600 Adam Majer wrote: > This is backwards. If we have, > > A - GPL > B - LGPL > C - LGPL > D - BSD, non-free, LGPL or whatever > > The above states that A cannot link with B, which is not what I meant.
Right. A *can* indeed link with B.
> I meant that,
>
> A links with B (ex. a system library like glibc). ok
That's fine for B license: the GNU LGPL permits (dynamic) linking with
any other piece of software, provided that some loose conditions are met
(see section 6. of LGPLv2.1).
That's fine even for A license: the GNU GPL requires that the resulting
binary be licensed as a whole under the terms of the GPL itself (clause
2b of GPLv2), but B is licensed under the GNU LGPL which may be
converted into the ordinary GNU GPL (clause 3 of LGPLv2.1) and thus it
is also available under the GPL itself.
So we are OK and A+B binary is under the GPL.
> C links with A and B
Similarly fine.
C+A+B binary is under the GPL.
> D links with C and B
In my understanding, no problem whatsoever for a D+C+B binary
(regardless of the D license).
On the other hand, if the resulting binary is the result of all the
above linkings, you get a D+C+B+A binary and this must be licensed as
whole under the GNU GPL.
This is possible, provided that D license is GPL-compatible: a BSD
license is GPL-compatible as long as it does not include the OAC
(Obnoxious Advertising Clause), the GNU LGPL license is GPL-compatible
(as seen above), a non-free license is *not* GPL-compatible (unless you
have a very weird definition for the term "non-free"...).
>
> but C links with A. So can we have a C that is LGPL if it depends on a
> GPL library?
As stated above, AFAIK there are no problems with this.
>
> What about D? It only uses LGPL API. Or is it the problem of D to look
> after *all* of the dependencies of B and C?
I'm afraid you must follow the link chain...
>
> Also, does the license of binary C changes automatically to GPL as
> soon as it links with A?
AFAICT, yes.
> Can the license of source code C remain
> whatever even if it links against A?
In my understanding, yes.
As long as C license is GPL-compatible, the resulting binary is under
the GPL.
Otherwise, if C license is GPL-incompatible, the resulting binary is
undistributable: end users can link C against A, but the result cannot
be redistributed to anyone else (not a concern for Gentoo Linux users,
but an issue for Debian!).
--
Today is the tomorrow you worried about yesterday.
......................................................................
Francesco Poli GnuPG Key ID = DD6DFCF4
Key fingerprint = C979 F34B 27CE 5CD8 DC12 31B5 78F4 279B DD6D FCF4
pgpLqIAuigoJR.pgp
Description: PGP signature

