Is it possible to make a closed-source application with Qt and PyQt5, using the open source licenses available for those libraries, in the way described below?

Suppose there are no changes made to the PyQt or Qt library themselves. Consider, for the purposes of this question, making use of PyQt5 via a Python import statement like this:

from PyQt5.QtWidgets import QApplication
from PyQt5.QtWidgets import QMainWindow
from PyQt5.QtWidgets import QWidget

To my knowledge, in order to distribute a closed-source binary that makes use of these libraries, it is necessary to buy a commercial PyQt license from Riverbank, plus a commercial Qt license from Qt. I'm interested in knowing if that's true for the case outlined in this question.

In support of the idea that it may be possible to use the LGPL option for Qt, my understanding from this post is that disclosing the source code for a main application is not necessary in the case that the main application dynamically links to the Qt library. My questions are

  1. Does this way of using the Qt library qualify as dynamically linking?
  2. Does such a proposed use of these libraries in a closed-source application fall under what is allowed by the (L)GPL options for Qt and/or PyQt (or would it be necessary to buy one or more commercial licenses to distribute such an app)?
  3. What if I hire someone who have commercial licenses do the GUI development for me?

I'm not seeking for legal advice, any answer to my question won't be considered as legal advice. No one should take any answer in this post as legal advice. This question asks about the requirements of the LGPL/GPL as applied to Python's import mechanism, within a potentially closed-source application.

  • I'm not sure what Q3 means. Could you clarify in another sentence or three what you propose and are curious about the implications of?
    – MadHatter
    Oct 26, 2019 at 8:53
  • @JohnL I hope you don't mind the cleanup I've done to de-personalize your question, so it has the broadest applicability for future readers with a similar question. Please let me know if I've misrepresented your question in any way via my edits. Also, please clarify what you mean in item #3, if possible.
    – apsillers
    Oct 28, 2019 at 19:03
  • Note that PyQt is GPL, but Qt (the C++ libraries) are LGPL. Those are two different licenses and two different packages you are going to distribute; the GPL places more requirements on you (you must open source everything). Also note that there are alternatives to PyQt which are LGPL just like Qt is, so perhaps you should look into those if you want a completely LGPL solution, which at least would allow separating your code (under one license) and the other code which is LGPL.
    – Brandin
    Oct 29, 2019 at 6:31


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Browse other questions tagged or ask your own question.