I want to start a cross-platform project. I had my researches and now I am almost certain Qt is the right deal. There is a big obstacle here though: licensing.
I want to sell my project and I also don't want to give out any source related to my work or pay for a license. I checked and noticed Qt offers both commercial and open source solutions. I have heard too many conflicting sayings on Qt licensing which confused me a lot. Some say that even if I use LGPL version of Qt, I still need to submit my code. Is this true?
Can someone give me a simple explanation on Qt licenses and tell me if I can sell my application without any kind of restrictions at all or not? Would anyone tell me any other equivalents to Qt for cross-platform development without any restrictions?
It is ok to sell you application that has been written using Qt when: your application is dynamically linked to Qt libs. the original source of Qt has not been modified.
Yes, you can distribute your software without making the source code public and without giving recipients the right to make changes to your software. The LGPL license explicitly allows such usages of libraries/packages released under that license. for LGPLv2.
You can use and distribute LGPL libraries on your website and use them in combination with commercial code. The only big restriction is that you must keep the library open source, including any modifications you make to it, and allow your users to obtain the source, licence and copyright information for the library.
What are my obligations when using Qt under the LGPL? Firstly, you have to note that all Qt open source modules are not available under LGPLv3 license. Some modules are available under GPLv3 for open source usage, and e.g. 3rd party components such as Chromium web engine are provided under LGPLv2. 1.
Just dynamically link to Qt. If you dynamically link to LGPL libraries, there's nothing to worry about.
If you statically link to them, you can just distribute your object files (not your source code), and you'll be fine.
The idea of the LGPL is that the end user has to be able to replace the LGPL library with a version they want. Dynamically linking to the LGPL library lets you do that, as does statically linking and distributing your object files. So long as you do this, you can sell your closed source program all you want.
Of course, there's more to the LGPL than just this, but that's the relevant part.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With