achille-martin / pyqt-crom

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

Reflection: Understand licence to develop commercially #7

Closed achille-martin closed 5 months ago

achille-martin commented 11 months ago

RiverBank computing requires developers to buy a PyQt and a Qt licence to develop apps commercially.

Details can be found on RiverBank's website.

Note that:

You are not licensed to use older versions that were not current at the time of purchase.

Does it mean that I cannot access older versions of PyQt5 like 5.12.1 (the one I use for my pyqtdeploy extension project)?

achille-martin commented 11 months 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.

achille-martin commented 6 months ago

Very summarised version (might be wrong):

If using pyqtdeploy or Qt software as is, there is no need to buy any licence or release any source code (since covered by the GPL / LGPL licences).

If modifying pyqtdeploy or Qt software, there is a need to release the modifications made to it (so that other people can replace the libraries with whatever they want and the app will still work).

If you don't want to release the modifications made to the software, then you need to buy a commercial licence.

achille-martin commented 5 months ago

Licencing handled in v2.0.0