Calling GPL code from a Python application

Heiko Wundram modelnine at
Tue Jan 3 20:21:35 EST 2006

Michel Sanner wrote:
> A google search about GPL and dynamic linking came up with an equal
> number of pages saying that dynamic linking of GPL
> code into non GPL applications is allowed as it is the end user who
> cretes the derived work, as pages saying the opposite !
> So does anyone know what to do about this ?

The stance the FSF (and it's lawyers) take on this is that it is illegal to
dynamically link applications that are not under a GPL-compatible license
to GPL works, as you are creating a derived work of the GPL-led library by
using it directly in your runtime environment (that is in the same
process). That's what the LGPL (the lesser or library GPL) is for, which
explicitly permits closed source (amongst other) packages to link to
LGPL-led libraries.

If you call the extension program by os.system(), you are not creating a
derived work, though, as the resulting program might have a runtime
dependency on the GPL-led program, but both never share a runtime
environment (they are seperate processes, and as such you have not created
a derived work of the GPL-led library).

Note that I did never used the term "you must GPL your application" above,
but rather said that it is paramount that your application is under a
GPL-compatible license. See the FSF for more details on what licenses are
compatible (most modern BSD-derived are, e.g.).

--- Heiko.

More information about the Python-list mailing list