[Twisted-Python] Twisted & Qt
James Y Knight
foom at fuhm.net
Tue Sep 26 11:01:50 MDT 2006
On Sep 26, 2006, at 12:12 PM, glyph at divmod.com wrote:
> 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.
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
>
More information about the Twisted-Python
mailing list