[Twisted-Python] Twisted & Qt

Ed Suominen general at eepatents.com
Sat Sep 30 11:35:25 EDT 2006

> On Tue, 26 Sep 2006 14:14:24 -0400, glyph at divmod.com wrote: I've got
> what I believe is the final word on this.  Phil Thompson (again,
> Riverbank) says:
> """ The reactor must be licensed under the GPL, but the rest of
> Twisted doesn't. A Twisted application that doesn't use the reactor
> can be licensed under the Twisted license. A Twisted application that
> uses the reactor must be licensed under the GPL. """
> The best course of action, then, would be to distribute qtreactor
> separately, since we can no longer say that Twisted is all MIT
> licensed if we do not.  The practical ramifications of this are not
> earth-shattering, so I think that we do not need to, e.g. release a
> 2.4.1 which does not include qtreactor, but 2.5+ should definitely
> not include it.
> I also asked specifically about not interfering with the PyQt/Qt
> commercial license, and Mr. Thompson suggested wording like this:
> """ This code is licensed under either the Twisted license or the GPL
>  depending on the license of the copy of PyQt being used.
> If the GPL version of PyQt is being used then this code is also
> licensed under the GPL. Given the viral nature of the GPL this means
> that any application must also be licensed under the GPL.
> If any other version of PyQt is being used (eg. commercial,
> evaluation, educational) then this code is licensed under the Twisted
> license. """
> I suggest that we leave that wording mostly unchanged.

I agree and think (see disclaimer below) that this is just fine. It does
not seem to inhibit the developer's flexibility at all.

If you are developing with GPL PyQt, it looks like you can use freely
qtreactor, under the condition that distributions of your application
(including the copy of qtreactor that it incorporates) are made under
the terms of the GPL. Nothing in the licensing of qtreactor could remove
that requirement.

If you are developing with commercial PyQt, Mr. Thomson's suggested
wording indicates that your commercial application can also use
qtreactor without any adverse impact on the proprietary nature of your work.

This allows people to develop Twisted-based PyQt applications as free
software (GPL) or commercially with the purchase of a commercial PyQt
license, which is the desirable outcome for both Riverbank Computing and
Twisted fans alike.

I would think that Mr. Thompson's authorization from TrollTech to
dual-license PyQt gives him the ability  to authorize this sensible
arrangement regarding qtreactor's use of PyQt. It would be nice to have
confirmation of that from him as well, however, since anything importing
PyQt ultimately has a dependency on Qt itself.

If you need someone to host qtreactor, I'd be willing to do so from
http://foss.eepatents.com, as long as I had direct assurance from Mr.
Thompson that all these questions are settled. I could also contribute a
few Twisted-friendly enhancements like the deferred-returning modal
dialog box I posted a while back. However, such enhancements will have
been developed with the GPL version of PyQt and would not be subject to
the special provisions above unless Mr. Thompson chose to offer that as

Best regards, Ed

DISCLAIMER: Nothing in this comment is to be construed as legal advice.
Although I probably think about things legal more often than the average
person, being a registered patent agent, I am not a lawyer qualified to
practice copyright law or anything else outside the representation of
patent applicants before the US patent office. Nobody related to this
topic is my client in even that capacity.

More information about the Twisted-Python mailing list