[Please also see the update.]
In my latest blog post, I briefly mentioned the KDE Free Qt Foundation. Today I have some news to announce that relate to this foundation, where I am a board member representing KDE.
What is the “KDE Free Qt Foundation”?
The KDE Free Qt Foundation is a legal entity, set up by KDE e.V. and Trolltech, the company originally developing Qt. It aims to safeguard the availability of Qt as Free Software and already fulfilled an important role. Trolltech was bought by Nokia, who sold Qt later to Digia. The contracts stayed valid during all these transitions.
The foundation has four voting board members (two from Digia, two from KDE e.V.) and two non-voting advisory board members (the Trolltech founders). In case of a tie, KDE e.V.’s board members have an extra vote.
Through a contract with Digia, the KDE Free Qt Foundation receives rights to all Free Qt releases “for the KDE Windowing System” (currently defined as X11 – we plan to extend this to Wayland) and for Android. As long as Digia keeps the contract, the KDE Free Qt Foundation will never make use of these rights.
How can it be made even better?
Today Digia announced a license update from LGPL version 2.1 to version 3. Compatibility with version 2.1 will be kept for all existing Qt modules. LGPL v3 is an improved version of LGPL v2.1 that does a better job of defending the freedom of the code (updated patent language, Tivoization).
Lars Knoll from Digia explains this in his blog post.
At the same time, Digia has agreed to work with us on three improvements for our contract:
- The contract will include the other desktop and mobile platforms (Windows, Mac, iOS and WinRT) for as long as Qt has support for running on them.
- Qt will be released under the “GPL v2 or later” in addition to LGPL v3, which helps to safeguard us for the future. (LGPL v2.1 itself contains a similar clause which was dropped in LGPL v3.)
- The KDE Free Qt Foundation will receive rights to Qt-project.org contributions that were not yet released.
I consider these to be major improvements to our contract.
When will new license combination take effect?
For the upcoming Qt 5.4 release, Digia will already release their new web engine as separate add-ons under the LGPL v3 (plus GPL v2 or later). The license of all other Qt modules will keep LGPL v2.1 and only add LGPL v3. In the KDE Free Qt Foundation, we have approved this approach for Qt 5.4.
We plan to update our legal agreement with Digia so that LGPLv3-licensed modules can be formally part of Qt – in combination with the other improvements mentioned above. (This depends on the KDE e.V. membership not objecting to the plan, see below.)
What does the license update mean for other existing GPL or LGPL software?
- All Qt modules already contained in Qt 5.3 will stay with LGPL v2.1 for the time being.
- Compatibility with GPL v2-software will be kept also for the new modules. The total license combination will be “LGPL v3, GPL v2 or any later version of the GPL”.
- GPL-licensed applications can additionally use the new modules without problems since “GPLv2 or later” is contained in the new license combination. (But within KDE, we have already started to move from GPL v2 to GPL v3 anyway for some applications.)
- Libraries under “LGPL v2.1 or later” can be updated to “LGPL v3 or later” to use the new modules. (It is possible to link to both LGPL v2.1 and LGPL v3, as long as the license of the application itself allows this, e.g. GPL v3.) The KDE Licensing Policy already requires compatibility with LGPL v3. To drop LGPL v2.1, however, a change of the policy will be needed.
- Libraries under “LGPL v2.1” only can be updated to the GPL using a clause of LGPL v2.1 to use the new modules.
Please inform me if you hear of a well-maintained Qt-based library that would use the new modules and cannot migrate to LGPL v3.
What does the license change mean for proprietary software?
Proprietary software can use LGPL code if a number of conditions are met (e.g. allowing reverse engineering, passing on the license rights to Qt itself, naming the Qt authors and allowing end users to use a different Qt version). Companies that do not like these conditions can buy an enterprise license of Qt (and thereby fund the development of new Qt versions).
The conditions worded are slightly differently in v2.1 and in v3. LGPLv3 tends to have more legal “teeth”, but the principles are the same.
What are the next steps?
If there are no objections from the KDE e.V. membership, then we will work with Digia and with our own lawyer to implement the improvements of the contract and update it to “GPL v2 or later or LGPL v3”.
If people make me aware of problems with the new license combination, then we will take these into account.
If the KDE e.V. membership should decide against the license update plan, then we will not pursue an update of the contract with Digia and will discuss how to handle the web engine in the future with both Digia and the KDE e.V. membership. Not updating the agreements would mean not getting some major improvements, so I would prefer to solve any problems that might appear in a constructive way.
I am very happy about the planned improvements to the legal framework around Qt. But of course I might have missed something. If you have critical questions, constructive feedback or enquiries for clarification, then please leave a comment or contact me by email.
What about those open source projects that wan’t to remain LGPLv2.1?
No problem – those projects can stay LGPLv2.1. They will just be unable to use the new LGPLv3 modules, just as they cannot use other LGPLv3 libraries.
Wouldn’t LGPLv2.1 libraries already comply with the requirements for a “proprietary” library to dynamically link to an LGPLv3 library? In that case, wouldn’t LGPLv2.1 libraries be able to use LGPLv3 libraries just fine?
Ah, I see now. That’s what the newer post was reaffirming.