achille-martin / pyqt-crom

Create cross-platform apps (Android for now) using only Python and the Qt Framework (PyQt5 for now).
MIT License
29 stars 2 forks source link

Reflection: Understand the constraints of PyQt and Qt licences #11

Closed achille-martin closed 1 year ago

achille-martin commented 1 year ago

According to Riverbank Computing website:

It depends entirely on what license you are going to use to distribute your application. If your license is incompatible with the GPL then you need a commercial PyQt license. If your license is also incompatible with the LGPL then you also need a commercial Qt license. (Note that some parts of Qt, QtCharts and Qt Data Visualization for example, are licensed under the GPL rather than the LGPL.)

A brief introduction of the GPL licence conditions is given on mend.io blog. One main condition is that:

The source code of the software must be made available to anyone who receives a copy`.

This means that you can sell your software but you also need to share the source code with it.

On the other hand, the LGPL licence is a bit more permissive, as explained on Fossa website. For instance:

As a copyleft license, LGPL requires users to release the source code of any changes to the original software. However, this requirement applies to a narrower set of code than the “regular” GPL.

If the GPL licence is too restrictive, then consider moving from PyQt5 to PySide2 (which is under LGPL). Or if you really want to make your app proprietary, you would need to buy a PyQt licence (which applies to current version so PyQt6?) AND a Qt licence.

At the moment, as an open source repo, using the app for prototypes is perfectly viable and practical.