linking BSD and GPL code via a plugin

Chuck Swiger chuck at codefab.com
Wed Jan 19 19:20:35 UTC 2011


On Jan 19, 2011, at 10:37 AM, Johannes Buchner wrote:
>> If the GPLed library is optional, the situation is much more relaxed.
> 
> A program (or library) that requires a GPL library to function must become GPL, even if the GPL library is not distributed.

A program which requires a GPL library to function must be distributed under the terms of the GPL, as well as under whatever license terms the non-GPL'ed parts might be under.

If the licenses are not miscible, then you are not allowed to redistribute the combination.  Nothing in the GPL causes non-GPL'ed code by itself to be "relicensed" any more than some other license could make GPL'ed code non-GPL'ed by "relicensing". [1]

There are also exceptions in the GPL (GPLv2 clause 3, LGPL clause 6, and I think clause 6 for GPLv3) for standard system libraries which permit one to ship proprietary programs which are not GPL-miscible, but link against the standard system libraries:

"However, as a special exception, the source code distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable."

Simply calling system library routines via the publicly published API in a GPL'ed glibc or similar does not bring a proprietary program under the auspices of the GPL.  However, I would agree that statically linking and then distributing a binary which includes GPL'ed software such as glibc would.

Regards,
-- 
-Chuck

[1]: I should note that some folks believe that sufficiently permissive licenses do permit such "relicensing" through some sort of implicit permission which they think was granted by the permissive license.




More information about the License-discuss mailing list