On Tue, 26 Sep 2006 11:42:18 -0400, James Y Knight
On Sep 26, 2006, at 9:45 AM, firstname.lastname@example.org 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 core.
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.