If you want to make a living from your work, you need a commerical license.
You can only distribute your App, if you have a valid license subscription.
Over 4500$ for each developer and a one year subscription!
https://www.qt.io/pricing
No. This has been discussed before, but heck, why not, let's repeat.
If you use the LGPL-licensed (License mode: LGPL v3)
Qt, and dynamically link your project against those unmodified libraries, you do not require a commercial license, and you do not need to pay a cent to anybody, and your own code is yours, free to sell or distribute as you wish.
Here is how you, as a proprietary software vendor, can trivially fulfill the LGPL requirements. There are other options, but this set is basically bulletproof and exactly what the Qt developers want, so if you ever find yourself targeted, you can simply ask the copyright owners (Qt developers) a statement you're not breaking their copyrights; and complying in the following way is likely to make the copyright owners happy to help.
- Provide the exact sources for the Qt libraries you use, for every version you distribute or have distributed, as freely downloadable files.
- Include the configure configuration you used to build the binaries, and the exact compiler and compiler version used, so that anyone interested can trivially replicate the exact same binaries. This can be useful for certain infosec reasons as well (if tainted binaries are suspected). All this incurs zero risk, and costs you almost nothing to provide these, even if not explicitly required by the LGPL. This is how you garner goodwill among both users and developers, really.
- Use dynamic linking to use the Qt libraries. This is automatic if you use Python; in C and C++ you just compile normally, not statically, so your binaries will refer to the libraries in separate files. This is important, because it is the standard accepted way you explicitly show non-derivative-ness when using LGPL'd libraries. Since this is the standard practice anyway, the cost of this is zero.
- In your user-visible documentation, proudly mention you use LGPL-licensed Qt [version] libraries, and provide a link to where you provide the exact sources (and configuration needed to replicate the binaries). Qt is a brand, and proudly proclaiming its use is taking advantage of the brand visibility; and you'll make the Qt developers happy too.
To obtain the sources to the Qt libraries, go to the Qt site, and scroll to the bottom of the page. Near the bottom right corner, under "Community", pick the "Downloads" link. On that page, in the "Downloads for Open Source users" block, click the "Go open source" link. For the sources, on the following pages that continue to scare you away from open source to the commercial licenses, you'll finally end up at
https://code.qt.io/, with build/compile instructions at
[url=https://wiki.qt.io/Building_Qt_5_from_Git]https://wiki.qt.io/Building_Qt_5_from_Git[/URL]. These two pages are the ones you need to bookmark, as you'll often return there, and going through the Qt site is a pain.
Or, you can just grab e.g. the entire Qt 5.15 long-term release (latest as of 2021-11-01) via git command-line utilities:
git clone https://code.qt.io/qt/qt5.git cd qt5 git checkout 5.15You'll need Perl, Python, and a C++ compiler; see
Building_Qt_5_from_Git for details.
The Qt 5.12.11 long-term release binaries (application development Qt libraries and the Qt Creator tool) are available as
offline installers (also grab the sources for them on the same page!), if you don't want or cannot compile the binaries you want/need with your own application.
That's it.
Now, although the Qt libraries needed for application development, Qt Creator (including Qt Designer for UI design), and even PySide2 (if you want Python bindings too) are all LGPL-licensed, you do want to verify the license for the modules you need. In particular, for Qt 5, you can consult
doc.qt.io/qt-5/licensing.html and
doc.qt.io/qt-5/qtmodules.html: Qt Essentials (QtCore, QtGui, QtWidgets, QtMultimedia, QtMultimediaWidgets, QtNetwork, QtSql, etc.) are all LGPL-licensed, and so are most add-on modules (Qt3D, QtConcurrent, QtBluetooth, QtGamepad, QtHelp, QtImageFormats, QtLocation, QtOpengl, QtPrintSupport, QtRemoteObjects, QtSerialPort, QtSerialBus (CAN, Modbus), QtSpeech, QtSVG, QtUiTools, QtWebChannel, QtWebEngine, QtWebSockets, QtWebView). Modules listed under "Add-ons available under Commercial Licenses, or GNU General Public License v3", like QtCharts and so on, are NOT LGPL-licensed, so those you cannot include in your proprietary projects. Similarly, "Value-add modules" like "Qt for Device Creation" and "Qt for MCUs" require a commercial license, and are NOT LGPL-licensed.
Because
Python is licensed under the zero-clause BSD license, it is perfectly legal and allowed, even encouraged by the developers, to create a proprietary application that uses the Python interpreter for a permissively licensed UI (granting users permission to modify the UI and pass those changes on to other users), Qt libraries (dynamically linked, used under the LGPL license), and proprietary C and/or C++ libraries (containing the secret application magick). While it sounds like a mess, in some cases this has the best of all worlds: keeps the nitty-gritty details that users cannot and should not really mess with and makes the application stand apart from competitors completely proprietary, leverages known existing LGPL libraries for the UI functionality, but lets the end users fix any niggling issues with the UI itself with permission (but obviously no guarantees after modifications have been done!) from the vendor. This kind of complete control over the UI is extremely powerful, and may open up completely new, customized uses, for institutional/company clients, while still keeping all licensing issues clear.
It's not difficult to achieve, neither legally nor technically, if properly designed from the get go, instead of just aggregating something together first and then checking how to make it legally/safely distributable.