Take the 2-minute tour ×

Disclaimer: I know there aren't any lawyers here, but I'd like to hear some opinions.

I'm making a Python application using PyQt4 for the GUI. It will be open source, maybe GPL, but rather MIT/BSD licence since I don't see the value of copyleft for it. Since I cannot rely on users to have PyQt installed (in fact, I'm safe to assume that less than 5% have), and I don't want to bother them with installing it manually, I thought I ship it with the PyQt binaries.

Now the legal issues start popping up:

  • Am I even allowed to distribute it, to begin with (I'm pretty sure, since it's GPL)
  • When I distribute it, do I have to distribute the whole thing, or can I simply omit everything I don't need? (I think so)
  • Of course I'll attribute Riverbank Comuting and Nokia (Trolltech) and include their licence file - will that suffice? (I hope so, because that was my plan)
  • ...

To make a long story short: I plan to include a few .pyd files from PyQt4 and the licence file they came with into the download and add something along the lines of

This application uses PyQt4 by Riverback Computing. The following files: [...] are licenced by Riverbank Computing under the licence found at [pyqt-licence.txt]

to the readme. Will I run into any legal trouble? (Not that I'm assuming Riverbank will even notice the application, much less sue me if I got some formality wrong - but I'd like to be sure).

share|improve this question

1 Answer 1

up vote 7 down vote accepted

EDIT: I was mistaken. Since they're using a GPL exception, I don't think you have to use the GPL for your app.

  1. Yes, you can distribute it. It's free software.
  2. You can also modify it however you wish.
  3. You do need to attribute them. However, there are other requirements.

PyQT is available under GPLv2, GPLv3, or a "commercial" license. Probably, you want to choose one of the first two, which are free software licenses. There are of course important differences, since GPLv3 made several fixes to deal with various issues (incl. patents, the termination clause, etc.). However, either way, you will have to release your application under the GPL (copyleft).

Correction: Since Riverbank uses the same GPL exception as Nokia (the license description says, "Like the GPL version of Qt, PyQt grants an exception to the GPL that specifies the list of licenses that you may use"), I believe you can use one of the listed licenses (which includes the MIT and BSD licenses), rather than the GPL.

Finally, to complicate things, Nokia has released their own Python bindings called PySide, under the LGPL 2.1. If you used that library, you would not have to release your own source code under the GPL.


share|improve this answer
Clarification: you have to release your own application under the GPL, if you use other GPL'd code, and distribute it. In-house, non-distributed software is still free to link GPL'd code. –  Staffan Jul 23 '10 at 1:14
@Staffan, true. The question makes it abundantly clear he is planning to distribute. –  Matthew Flaschen Jul 23 '10 at 1:19
Thanks, I was unsure whether I needed to go GPL myself. So it'll be this way... concerning PySlide, I heard of it, but it lacks both Python3 and Windows support, apart from being an incomplete work-in-progress. –  delnan Jul 23 '10 at 1:25
@delnan, I'm sorry. My answer was incorrect; I've updated it. I overlooked the fact that PyQt uses the same GPL exception as Qt. –  Matthew Flaschen Jul 23 '10 at 1:37
Even better - thanks again, this time for telling me I can use MIT/BSD. –  delnan Jul 23 '10 at 1:39

Your Answer


