GPL and Python modules.

Ian Bicking ianb at
Mon Oct 25 22:38:03 CEST 2004

Istvan Albert wrote:
> Ian Bicking wrote:
>> don't even have to GPL your code, you just have to abide by the GPL 
>> (i.e., provide source); you could distribute your code under any 
>> GPL-compatible license, such as a BSD-style license.
> No if you derive from GPL then you must release your program
> as GPL and you may not release it with a "GPL compatible"
> license.

If you derive the code, yes -- like, you take the GPL code and edit it. 
  At that point there's little way to distinguish your modifications 
from the original code.

If the code is a separate entity, but used in the same program, then 
it's not so clear.  You can always release it under multiple licenses, 
but that's usually only done if there is a question of GPL-compatibility 
(e.g., Artistic License).

When you release code under the GPL you retain copyright to that code, 
including a copyright to any changes or additions you make.  You can 
take that code and release it under any license, though you can only 
relicense code you have the copyright to.

So if you use libreadline (or some GPL library) in your program, you 
must abide by the *terms* of the GPL, which implies some licensing that 
allows people to view and edit the source, since those rights are not 
implied.  If you use, say, a BSD-style license (w/o advertising clause, 
to make it GPL-compatible), that's cool.  If someone comes along and 
takes your code and separates it from libreadline (reimplements the 
functionality, just stubs it out, whatever), they would then only be 
bound by the terms of the BSD license.

> Otherwise it would be to easy to circumvent it, just get a
> GPL program, add a comment, call it something else
> and re-release it as BSD.
>  From the GPL FAQ:
> Q: If a library is released under the GPL (not the LGPL),
> does that mean that any program which uses it has to be under the GPL?
> A: Yes, because the program as it is actually run includes the library.

Well, that doesn't seem right to me.  But since dual licensing is common 
and allowed under the GPL, putting your code under the BSD license is 
equivalent to dual licensing.  (Especially since anyone *can* make 
modifications to a piece of BSD, and release it under the GPL.)

The GPL definitely does not require any transfer of copyright, so you 
can look at it a bunch of different ways, but in the end the effect is 
the same.

Ian Bicking  /  ianb at  /

More information about the Python-list mailing list