[DB-SIG] Popy - Psycopg - PyPgSQL - PyGreSQL

M.-A. Lemburg mal@lemburg.com
Tue, 01 Oct 2002 17:53:22 +0200

Gerhard H=E4ring wrote:
> * Federico Di Gregorio <fog@initd.org> [2002-10-01 16:30 +0200]:
>>Il mar, 2002-10-01 alle 16:08, Magnus Lycka ha scritto:
>>>[psycopg is licensed under the GPL]
>>>I suppose that means that applications that import
>>>that module will be GPL as well...
>>well, no. you're not directly linking to it, python does and python
>>license is GPL-compatible. then you call psycopg *through* python using
>>a well defined api, so your code can be anything. this is an edge case,
>>but my interpretation is that as long as:
>>	1/ you don't use psycopg code without python, by linking
>>           directly into your app; and
>>	2/ you release modifications to psycopg
>>you should be ok. this is just an interpretation, i hope FSF will
>>clarify this dark corner in a future version of the GPL.
> Hey, cool. This was my interpretation, too. What made me a little unsur=
> is that I haven't seen this interpretation anywhere else. At least unti=
> today.

Probably because it's likely not to work out in court :-)

Note that the GPL is only important if you want to redistribute
whatever code you write against the GPLed piece of the application.
Only in that case you are forced to ship the source code
to whoever wants to take a look. Placing a non-GPLed piece
of code between the rest of your application and the GPLed
part doesn't secure your application from the GPL: you are
forming a new complete work and that's what the GPL applies
to if you redistribute the work to someone else. It doesn't
matter whether you are linking, loading byte code or simply
using GPLed static data in your application.

The only safe way to deal with this is to stick to LGPLed

Marc-Andre Lemburg
CEO eGenix.com Software GmbH
eGenix.com -- Makers of the Python mx Extensions: mxDateTime,mxODBC,...
Python Consulting:                               http://www.egenix.com/
Python Software:                    http://www.egenix.com/files/python/