On Sep 26, 2006, at 12:12 PM, 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.
More than ostensibly, since code has been _literally_ copied all around the codebase from file to file.
But wait, the MIT license is compatible with the GPL.
And that's your professional legal opinion?
It is a statement of indisputable fact that you can take MIT licensed source code and combine with GPL licensed source code and create a GPL licensed executable. We distribute MIT licensed source code. Apparently RMS said the following to a gnome mailing list circa 2003. I can't find the original message, but I have no reason to doubt its authenticity:
This exception would be redundant, because simple non-copyleft licenses such as X11 and BSD are compatible with the GPL already.
So if you want to write a non-copylefted application, release it under the X11 license, and link it with a GPL-covered library, that is allowed. The linked executable would be covered by the GPL, of course, but the app source code would be covered by the X11 license alone.
And let's take the example of Python itself, which has a readline module, distributed under the python license. Again, similar circumstance. If you actually make use of the readline module, your program will need to be distributed under the GPL. But the source code is still Python licensed.
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.
If you think that twisted is in imminent danger of a lawsuit from Riverbank or Trolltech, then by all means simply remove qtreactor completely. Even presuming we are not doing anything wrong, it would still not be worth a lawsuit to determine that. However, I don't think anybody is about to sue Twisted for including qtreactor. But, if we're not about to be sued, case law is much less important than accepted existing practice in the open source world.
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.
Please don't use the phrase "intellectual property". It is dangerously misleading and worse than meaningless. I assume you mean copyright, in which it is my unprofessional opinion that it is ridiculous to talk about copyright in the phrase QSocketNotifier.__init__. 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. There are numerous instances of programs using Qt (take KDE for example!) licensed under non-GPL terms. Parts of KDE are under LGPL, BSD, and Artistic licenses. See http://developer.kde.org/ documentation/books/kde-2.0-development/ch19.html If it's good enough for KDE, I don't see how it's not good enough for us. I'm sure many more people with actual legal experience have looked over the situation with KDE. James