[Bf-committers] extension clause

David Jeske davidj at gmail.com
Tue Nov 23 18:50:36 CET 2010

On Mon, Nov 22, 2010 at 11:10 PM, Knapp <magick.crow at gmail.com> wrote:

> http://en.wikipedia.org/wiki/PyQt
> PyQt is developed by the British firm Riverbank Computing. It is
> available under similar terms to Qt versions older than 4.5; this
> means a variety of licenses including GNU General Public License (GPL)
> and commercial license, but not the GNU Lesser General Public License
> (LGPL).

Right. In both of these cases they are using the GPL to provide a free
version to the community for only GPL software development, attempting to
assure closed-source software development must license their commercial

Remember that while GPL software can "incorporate a closed source library as
a library exception", the GPL makes no such provision for a piece of
software to "incorporate GPL code without becoming GPL". If you depend on
details of GPL code and link against GPL code, then you must be GPL. Since
PyQt is a development framework, it's impractical for you to use it as a
development framework without depending on it's details and linking against

Relating this to our discussion... Someone could write a GPL open-source
application UI which depended on the GPL PyQT, but which called out to a
closed-source library which did some special functions. All code which
depended on GPL PyQt would need to be GPL, but the closed-source library
would be independent and depend on no details. For some commercial
applications, this would mean a huge amount of their code would be
open-source (i.e. if they are mostly UI), and if the company didn't want to
release all that code, they would need to license the commercial PyQt to
keep it closed.

This is analogous to GPL Blender today. As long as all pieces of code that
depend on blender details (UI, RNA manipulation, operator implementations)
are all GPL open-source, you're fine. Core-algorithms (such as something
that takes an array of points and modifies it in some way), can be closed
source. As the code which depends on blender details becomes substantial,
companies are less happy open-sourcing that part of the code.

If PyQt were offered under the LGPL, it would negate their attempt to use
dual-licensing as a revenue model, as any company would be free to link the
LGPL code into their closed-source code and distribute. The LGPL would
merely require them to release the complete source to the version of PyQt
they used, including any modifications or improvements. Their code built
around PyQt could remain closed under any liecnse they desired.

More information about the Bf-committers mailing list