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