Michel Sanner <[EMAIL PROTECTED]> wrote:
> 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).

There was a long discussion of this issue on this list in Feb 2005 - do a 
search on Google Groups for that. The gist of my contribution to that 
discussion was that Section 0., Para 1 (assuming zero-based 
paragraph numbering...) of the GPL unequivocably says: 

"Activities other than copying, distribution and modification are not 
covered by this License; they are outside its scope. The act of running 
the Program is not restricted,..." 

Therefore if what you want to do does not involve copying, distribution or 
modification of GPLed code, then you are on safe ground and need not feel bad 
about not respecting the wishes of the licensors of the GPLed code in question. 
Our approach to thsi issue has been to instruct end users to obtain third party 
GPLed code from its original source, and to install both it and our non-GPLed 
code (it is Mozilla licensed) on their system. In that way what we are doing 
cannot possibly be construed as "copying, distributing or modifying" that 
third-party GPLed code. Rather, our code just calls it at run-time on the end 
user's system. Nevertheless, it is always good practice to ask their permission 
anyway. But if they refuse, ask them about the above clause in the GPL.

If using SWIG or other wrapping mechanisms, do be careful that you are not 
statically linking using header files or other GPLed API definition files as 
part of the wrapping process, and then distributin the linked object files. 
Some GPLed projects (eg the R statistical environment) license their API header 
files under a different license (the LGPL) in order to allow non-GPLed code to 
use the header files.

Of course, the GPL propogation provisions only apply if you (or anyone else) is 
distributing GPLed code to thrid parties. Thus, if your non-GPLed SWIG source 
code needs to use GPLed header files, there is nothing to stop you distributing 
your code to an end user, and then instructing the end user to download the 
GPLed coded needed by your non-GPLed code, and to then compile everything, all 
within teh confines of their system. Provided that the end results of this 
compilation are not then distributed to anyone else, then the GPL is not 
violated, not in letter nor in spirit.

It-pays-to-actually-read-the-GPL-before-you-distribute-your-code-under-it-ly 
yours,

Tim C
-- 
http://mail.python.org/mailman/listinfo/python-list

Reply via email to