Not that I mean to beat a dead horse, but the use of a single word or phrase in a document doesn't fall under the derivative work clause of copyright. Instead in comes from trademark law. For instance to xerox something is one of those cases where the mark Xerox was lost to the common use of to copy something. Google is undergoing just such an issue right now. At no point can't you use one word or phase in an document and have it magically copyrighted. On the other hand using a trademark means you have to acknowledge ownership. Now this isn't to say that you can use the idea of Professor X in a document - a story - and not run into problems. That is a totally different beast and isn't covered by Trademark or Copyright law. Instead it is a part of intellectual property law. But none of this applies to QT. You can easily use a library - with an MIT license or not - to link to a GPL'ed library. What you can't do is assume the entire work produce as the lesser of the two libraries. This means that you can link something with Twisted's QT reactor and still link it with PyQT or QT. The heart of the issue is that the entire product will fall under the more restrictive of the libraries, in this case GPL. GPL doesn't say you can't link with anything other than GPL; it only says the resulting work must be GPL. Since neither the MIT or BSD licenses say that you must have a resulting work product of MIT or BSD, you are safe. In no case, do I believe you need to remove the QT reactor from the Twisted. It has no impact other than to make things more difficult to use. Is this what is really wanted here? FWIW, Chuck Wegrzyn firstname.lastname@example.org wrote:
On Tue, 26 Sep 2006 11:42:18 -0400, James Y Knight
On Sep 26, 2006, at 9:45 AM, email@example.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 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.
_______________________________________________ Twisted-Python mailing list Twisted-Python@twistedmatrix.com http://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python