Opensource iOS application
I'd like to start an iOS application using Qt/QML. The app will be opensource and I'll probably have future contributors sign a CLA.
What are my options in terms of licenses?
- If Qt is linked dynamically to my app, can I publish it as MIT or Apache? In that case, can I use the GPL parts of Qt?
- If the app is published as GPLv3, can I link Qt statically and still be able to publish it to the ios apple store without violating the gpl terms?
Those are really hard questions, as the Apple app store rules aren't the simplest out there.
The normal disclaimer of me not being a lawyer goes here.
The first question is answered by the GPL license compatibility. If you link to GPL you need to use GPL. LGPL is a different matter, that is more permissive.
For the second question, based on what I see, I would say GPL in the app store is not ok. I mean the GPL would be ok with it, but the Apple app store rules would not be ok with it.
There are pretty long discussions out there on exactly why this is not ok, but it looks like those discussions are valid and the app store rules do not like GPL.
With regards to Qt, afaict it's only Qt Charts, Qt Data Visualization & Qt Virtual Keyboard that is strictly GPLv3 or Commercial, so if you avoid using those, adhering to the LGPL should be fine. Since you plan on being open source, both static and dynamic linking is viable options in that case.
Thanks guys for the clarifications. So if my understanding is right:
- If I use the LGPL-only parts of Qt I may publish the app with any license I may see fit. And I can still use static linking as long as it is "work that uses the Library" (which will be the case). Therefore, I shouldn't worry about publishing to Apple's app store.
- If I use the GPL parts too I should publish it as GPL and I'd better ask Apple if they're Ok with it. Since there's already some GPL apps on the app store, I think GPL apps are allowed. But do the Qt company allow gpl apps that use qt to be published to the app store or do this specific scenario require a commercial license?
@darkmarouane this is always complicated :)
LGPL only parts and static linking means that you need to have everything under LGPL. It's not just a use-relationship when you static link, it becomes part of the whole work (there is only one executable in the end).
With dynamic linking you could use whatever license, but then you can't get into the app store (as far as I know).
The GPL apps in the app store are in a pretty gray area. The app store rules are the problem, they have strange clauses in there that have not been tested properly, and would need a real lawyer (and probably a court case).
The Qt Company doesn't really have a say with GPL licensed software, the GPL license is the document to live by.
And when submitting to the app store, the Apple guide/agreement, which is the problematic paper. It really isn't compatible with the GPL.