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

Attachment: pgpLqIAuigoJR.pgp
Description: PGP signature

Reply via email to