Calling GPL code from a Python application

Robert Kern robert.kern at gmail.com
Tue Jan 3 20:14:10 EST 2006


Michel Sanner wrote:
> Hello,
> 
> One of the greatest feature of Python in my opinion is the way the 
> interpreter can be used to integrate a wide variety of
> software packages by dynamically linking them.  This approach has been 
> extremely successful for us so far but now I run
> into a license nightmare.
> 
> Some the libraries we wrapped using SWIG are under GPL but the 
> applications we are distributing are not (mainly because
> we are asked by funding agencies to keep track of users and hence ask 
> people to download the source from our site).
> 
> 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 ?

This issue has never been tested in a court of law. However, the FSF does
believe that dynamic linking is enough to trigger the GPL provisions. Some
others don't, notably the lawyer Larry Rosen. However, because the FSF holds
this position, many people who GPL their code also hold this position as well.
It would be very rude, even if not strictly illegal, to violate the author's
intentions in this way.

However, try writing to the authors of the GPLed code and see what their
intentions are. They might be willing to grant an exception either just for you
or for dynamically linked distributions of their code in general. Even if they
don't take the FSF's view, you will probably want to get an explicit statement
from them to that effect just so your downstream users understand the situation.

> The second question I would like to get an answer for is whether doing 
> an "os.system('GPLapp')" violates GPL if I ship
> my Python code that does the os.system call and the GPLapp program ?

No, using the OS to run a GPLed program in another process and possibly
communicating with it through pipes or sockets does not trigger the GPL
provisions. Even the FSF agrees with that.

IANAL. TINLA.

-- 
Robert Kern
robert.kern at gmail.com

"In the fields of hell where the grass grows high
 Are the graves of dreams allowed to die."
  -- Richard Harter




More information about the Python-list mailing list