[Twisted-Python] Twisted & Qt

glyph at divmod.com glyph at divmod.com
Tue Sep 26 12:12:20 EDT 2006

On Tue, 26 Sep 2006 11:42:18 -0400, James Y Knight <foom at fuhm.net> wrote:
>On Sep 26, 2006, at 9:45 AM, glyph at divmod.com wrote:
>>I've gotten in touch with Riverbank Computing, the copyright  holders on 
>>PyQt, and they are of the opinion that any Python code  that imports "qt" 
>>is, in fact, a derivative work and therefore  beholden to the GPL.

>The only issue here is that we don't want to confuse people by having  part 
>of Twisted (qtreactor) be GPL.

Twisted is ostensibly a derivative work of all of the parts of Twisted.

>But wait, the MIT license is compatible with the GPL.

And that's your professional legal opinion?

It may be that riverbank and trolltech agree with this interpretation.  The response I received wasn't entirely clear.  However, you are making a number of assumptions about intellectual propertly law which are both outside your expertise and, to my knowledge, still undecided by any case law.

I've asked the fellow at Riverbank for a clarification of his intent before reviewing and committing the removal.  However, the impression I got from my first exchange is that Trolltech regards the QT API as their intellectual property, so the presence of phrases like "QObject.connect" and "QSocketNotifier.__init__" would make qtreactor a derivative work of their intellectual property, much like simple mentions of a fictional character's name in a short story can also classify as a derivative work.

>>I'll be removing it from the Twisted repository and contributing it  to 
>>Riverbank for inclusion in PyQt at my next available  opportunity.  This is 
>>probably going to require an immediate  addition of a plugin API for 
>>reactors, so it can be loaded externally.
>I strongly object to this, regardless of the outcome of the above.  The 
>internal reactor supporting APIs (posixbase etc) are not stable  enough that 
>I'm at all comfortable with giving a reactor over to  external maintenance. 
>If we have to, please instead let's segment it  into a separate 
>distributable, but still develop and release it in  lockstep with twisted 

If we distribute it separately, I believe it will create license confusion due to the interaction of Qt and PyQt commercial licenses.  However, I'll let the people who are actually interested in Twisted and Qt integration work this out with the PyQt maintainer; I don't care, personally.

More information about the Twisted-Python mailing list