[Twisted-Python] Twisted & Qt

glyph at divmod.com glyph at divmod.com
Sat Sep 30 05:54:17 EDT 2006

On Tue, 26 Sep 2006 14:14:24 -0400, glyph at divmod.com wrote:
>On Tue, 26 Sep 2006 13:01:50 -0400, James Y Knight <foom at fuhm.net> wrote:

>>If it is truly their position that the  textual source code of qtreactor is 
>>a derivative work of PyQT, I  think they are quite confused.

>If it is your opinion that the "textual source code" is not a derivative 
>work because it merely refers to, but does not incorporate, the text of 
>qtreactor or qt, then the GPL is completely meaningless in the context of 
>Python and there was no point in licensing it that way in the first place. 
>Python bytecode does not make any additional references to the code it is 
>importing beyond what Python source code does.

I've got what I believe is the final word on this.  Phil Thompson (again, Riverbank) says:

The reactor must be licensed under the GPL, but the rest of Twisted
doesn't. A Twisted application that doesn't use the reactor can be
licensed under the Twisted license. A Twisted application that uses the
reactor must be licensed under the GPL.

The best course of action, then, would be to distribute qtreactor separately, since we can no longer say that Twisted is all MIT licensed if we do not.  The practical ramifications of this are not earth-shattering, so I think that we do not need to, e.g. release a 2.4.1 which does not include qtreactor, but 2.5+ should definitely not include it.

I also asked specifically about not interfering with the PyQt/Qt commercial license, and Mr. Thompson suggested wording like this:

This code is licensed under either the Twisted license or the GPL
depending on the license of the copy of PyQt being used.

If the GPL version of PyQt is being used then this code is also licensed
under the GPL. Given the viral nature of the GPL this means that any
application must also be licensed under the GPL.

If any other version of PyQt is being used (eg. commercial, evaluation,
educational) then this code is licensed under the Twisted license.

I suggest that we leave that wording mostly unchanged.

More information about the Twisted-Python mailing list