[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: LGPL-library (tntdb) linked with GPL-library (mysql)

On Sat, Aug 26, 2006 at 12:55:45PM +0200, Tommi Mäkitalo wrote:
> This means, that it wouldn't be possible to create e.g. a program, which 
> accesses a mysql- and a postgresql-database at the same time?

Creating such a program and distributing it in source form would be
ok.  With binary, I think that the libraries it links to would be
considered a part of the derivative work.

> Are dlopened libraries similar to regulary linked libraries? I think there are 
> other projects (curl?), which dlopens openssl-libraries to bypass the 
> license-restrictions.

At least on my system "objdump -p /usr/lib/libcurl.so.3" lists
"NEEDED libssl.so.0.9.8", so that's a case of plain dynamic linking.
But libcurl is available as a version that uses GNU TLS, so in that
particular case it would be easy to avoid any ambiguity regarding GPL
compatibility anyway.

But it is trivial to dlopen a library instead of defining the
dependency at compile time with -l$FOO.  I don't think that it's quite
that easy to bypass GPL.

> What about closed source-applications linked with a 
> LGPLed tntdb, which are configured to use mysql?

Yes, they'd have to factor in having to deal with GPL.  Just because
there's a non-GPL library in between doesn't quite insulate them from
it.  I think MySQL AB is pretty much counting on that happen.

I think that the usual way to regard if something is derived from a
library it uses that is under GPL is that if there is a non-GPL
library that can be used as a drop-in replacement for the GPLed

> I also thought about LGPL-licsense for libtntdb and GPL for tntdb-mysql and 
> GPL+openssl-clause for tntdb-postgresql. This way it will not be possible to 
> publish improved drivers based on tntdb-drivers without source, which would 
> be good. What about that combination?

LGPL and GPL would both ensure that modifications to the library would
have to be published on distribution.  The difference is with having
to publish the program itself too under compatible terms.  Having
tntdb under LGPL and the drivers under GPL (with or without expections
regarding linking) would allow closed source programs to use tntdb
only if they don't actually use any of the drivers...  If that's what
you want, I'd recommend to let tntdb itself remain GPL too, with
OpenSSL exception at least for tntdb and the postgresql driver.

> As Don told, it looks like it will be ok to LGPL the whole thing. But when 
> linking with mysql the LGPL-extension is invalid already, so it seems to make
> sense to leave the LGPL-part away from the mysql-driver.

Hmm...  I, for one, don't see any problems with having a library under
LGPL link to a library under GPL.

Attachment: signature.asc
Description: Digital signature

Reply to: