Dynamic linking, was: Re: Dispelling BSD License Misconceptions

Chuck Swiger chuck at codefab.com
Fri Jan 19 03:32:02 UTC 2007

On Jan 18, 2007, at 3:39 PM, Matthew Flaschen wrote:
>> Notice the key phrases "...where your code depends on static or  
>> dynamic
>> linking of a GPL'ed library..." & "...in order to operate".
> Sticking to the example of readline and Python, part of the code is
> still specifically written to depend on readline.  I think under  
> Eben's
> argument, this part would then be a derivative work.  Thus, that  
> part at
> least should be licensed under the GPL.

Well, Python's Modules/readline.c isn't under the GPL.  Python's  
README states:

> This Python distribution contains no GNU General Public Licensed
> (GPLed) code so it may be used in proprietary projects just like prior
> Python distributions.  There are interfaces to some GNU code but these
> are entirely optional.

...and the LICENSE states:

> (1) GPL-compatible doesn't mean that we're distributing Python under
>     the GPL.  All Python licenses, unlike the GPL, let you distribute
>     a modified version without making your changes open source.  The
>     GPL-compatible licenses make it possible to combine Python with
>     other software that is released under the GPL; the others don't.
> (2) According to Richard Stallman, 1.6.1 is not GPL-compatible,
>     because its license has a choice of law clause.  According to
>     CNRI, however, Stallman's lawyer has told CNRI's lawyer that 1.6.1
>     is "not incompatible" with the GPL.

Feel free to report Python to gpl-violations.org, if you like.

[ ... ]
>>   http://www.linuxdevices.com/files/misc/asay-paper.pdf
>> ...where he's quoted as saying (with regard to whether a situation  
>> would
>> create a derivative work, ppg 15-16):
>> "A module written to be plugged into an API defined specifically to
>> support dynamic loading?
>> Moglen:  No."
> This isn't quite the same thing.  Readline wasn't written to an  
> existing
> Python plugin API.  Part of Python was written to interact  
> specifically
> with readline.

Python is designed with a plugin API which can dynamically load  
optional modules if present.  It's entirely possible to add readline  
support to a version of Python compiled without it; for examples see:


> Also, Chuck, please don't CC list members to list mail, unless they  
> ask you to.

Sigh.  Different mailing lists have different conventions with regard  
to that;
I will be happy to refrain from CC:ing you in the future, or at least  
try not to do so....


More information about the License-discuss mailing list