Calling GPL code from a Python application

Mike Meyer mwm at
Wed Jan 4 03:50:26 CET 2006

Peter Hansen <peter at> writes:
> Mike Meyer wrote:
>> What I *can't* do is distribute it (or work derived from it, etc.)
>> unless the entire work being distributed is under the GPL (unless the
>> license has changed recently, *not* a GPL-compatible license, but the
>> GPL itself), and meets the requirements of the that license. In
>> particular, if I distribute an application that has to be dynamically
>> linked with a GPL'ed library to run, I need to distribute my
>> application under the terms of the GPL.
> Is that really true, precisely as written?

Well, see my earlier post about how to *really* found out if you're
violating a license. But that is the intent of the GPL.

> It should be possible to distribute code which does have to be
> dynamically linked with a GPL'ed library in order to run *without*
> having to distribute under the GPL, provided your distribution *does
> not include* the GPL'ed library.

One would think so. The FSF disagrees. In particular, while they
explicitly state that putting GPL'ed code in a distribution doesn't
require that you distribute the entire distribution under the GPL, if
you then provide instructions on how to create a work derived from the
GPL'ed code from the contents of the distribution, they'll sue you
about it. At least, they sued NeXT when NeXT tried it. Failing to
include the GPL'ed code would seem to be no more a violation of the
letter, and no less a violate of the spirit.

> Am I totally misremembering that the terms of the GPL talk only about
> *distributing* GPLed code, not about using it, and certainly not about
> writing other applications which might require it but which might have
> entirely non-compatible licenses.

Correct. Which is why the first sentence of the above paragraph is
"What I *can't* do is distribute it ...". If I statically link a
GPL'ed library with my application, if I distribute it, it clearly has
to be under the terms of the GPL. If I dynamically link the library,
then it's not so clear, but the FSF clearly intends that this be the
same situation. If I fail to provide a library, and the only thing
that could be used is GPLed, it's the same situation. On the other
hand, if I provide a list of acceptable libraries, some GPL'ed, and
some not, then the situation is different, because you're not
depending on GPL'ed code, but allowing your clients to use it. Or
something like that.

> (Depending on one's definition of "application", you could still be
> right because what I describe -- a program that can't run without
> adding something else to it first -- might not be considered an
> application by some people.  I wonder what they'd call it though.)

I don't think the term "application" is used in the GPL, and I don't
think it has any bearing on IP laws.


Mike Meyer <mwm at>
Independent WWW/Perforce/FreeBSD/Unix consultant, email for more information.

More information about the Python-list mailing list