Re: Plugins for non-free software in orig.tar.gz
On Mon, Jul 12, 2010 at 11:15:59PM +0200, Francesco Poli wrote:
> I think that probably the safest course of action is summarizing the
> issues to upstream copyright holders, without directly involving
> them in debian-legal discussions.
I have another such case where I would be upstream. I currently have a library
that I am the only copyright holder of, that is currently under the LGPL and
uses libgmp for big number arithmetics.
However, if anyone wants to use the library commercially, he'd sure prefer a
version of it that uses OpenSSL instead, as that gets rid of the requirement to
have infrastructure to distribute the source code of the libraries in use,
while personally I prefer the libgmp variant as it is about 10% faster in my
The library uses libgmp, as the main intended use for my purposes is use as
part of a program under the GPL.
Now assume I do this:
library.c - main code
bignum-gmp.c - libgmp bignum wrapper
bignum-openssl.c - openssl bignum wrapper
and I change the license of library.c to a BSD-style license. Also, the library
would by default compile against libgmp, and would have to explicitly told so
in configure to use bignum-openssl.c instead.
Do I then get into trouble with the GPL, as the source tarball contains code
that links to non-GPL compatible code? Would GPL users have to split up my
tarball (remove bignum-openssl.c from it) to comply with the GPL? Or can they
safely distribute my source in full, because bignum-openssl.c is not compiled
into the final binary?
This BTW affects the FreeBSD project too - you can compile a "GPL contaminated"
kernel by including the ext2fs driver, but the source tree also contains files
under the CDDL that are not compiled in by default. Would a distributor of a
"GPL contaminated" kernel have to roll his own GPL-compatible source archive,
removing the CDDL files and the references to them, or can he just tar up
everything (including kernel config) and the CDDL source files do no harm as
they are not part of the configuration?