Two of the most used Free Software licenses are the GNU General Public License (GPL) and the GNU Lesser General Public License (LGPL). Both are copyleft licenses, meaning that you can use them as long as you do not remove the Free Software rights from downstream users. The difference is that the LGPL can be linked unto non-free software (as long as the LGPL library itself stays free), but with the GPL everything needs to be free. In 2007, the FSF published an update to both licenses, so now we have version 2 (“GPLv2” and “LGPLv2.1”) and version 3 (“GPLv3” and “LGPLv3”).
An example for an LGPL software is Qt. Since it uses the LGPL, it can be used to write Free Software (such as KDE Plasma or VLC), but it can also be used to write non-free software. And companies that do not wish to bother with the LGPL terms at all can also buy en enterprise license.
In August, I explained in a blog post why it makes sense to use the new LGPLv3 version for Qt: Protecting Software Freedom – the Qt License Update. But there was one major question unsolved: What about other Qt-base libraries that themselves use the LGPLv2.1 and cannot (or do not with to) migrate to LGPLv3 or GPLv2? We discussed this with own lawyer. And the result was – [Drum rolls please!]:
This is no problem at all!
LGPLv2 libraries can link to LGPLv3 libraries without problems, provided you do not copy code between the libraries.
- We have convinced Digia to use “LGPLv3, GPLv2 or any later version of the GPL” rather than just plain LGPLv3. This ensures compatibility with all existing and future GPL code. (LGPLv2 is also compatible with “GPLv2 or any later version of the GPL” through a license clause.)
- Applications using both LGPLv2 libraries and LGPLv3 libraries will need to comply with the requirements of both licenses.
So this means that we can go ahead with our plans for improving the KDE Free Qt Foundation (see Protecting Software Freedom – the Qt License Update).