… then it’s best not to use LGPLv2.1 either. According to this footnote of the GPLv3 draft FAQ:
Every version of the LGPL gives you permission to relicense the code under the corresponding version, or any later version, of the GPL.
This is a bit disturbing to me. According to this, if I release software under a license which states “LGPL version 2.1 ONLY,” someone can go and re-release this software as GPLv3. And indeed, section 3 of the LGPLv2.1 states:
You may opt to apply the terms of the ordinary GNU General Public License instead of this License to a given copy of the Library. [...] (If a newer version than version 2 of the ordinary GNU General Public License has appeared, then you can specify that version instead if you wish.)
That’s ridiculous. The license explicitly ignores whether you release under “LGPL version 2.1 or any later version” or “LGPL version 2.1 ONLY.” Amusingly, it looks like, under these terms, if you release LGPL-2.1-only, someone can’t go and re-release as LGPLv3, even though they can re-release as GPLv3. To illustrate the retardedness, here’s my interpretation:
| Release under: | Can be converted to: |
|---|---|
| GPLv2 or later | GPLv3 or later; GPLv3 only |
| GPLv2 only | nothing else |
| LGPLv2.1 or later | LGPLv3 or later; LGPLv3 only; GPLv2 or later; GPLv2 only; GPLv3 or later; GPLv3 only |
| LGPLv2.1 only | GPLv2 or later; GPLv2 only; GPLv3 or later; GPLv3 only |
Is this correct? It seems so horribly wrong.
I need to go through my stuff and make sure I’m not using LGPL for anything, though I suppose I’ll have to leave libxfce4util and libxfcegui4 alone since most of the parts I don’t own are LGPLv2.1-or-later, so it’s probably not worth the effort. And, I’d better be more careful about understanding the licenses I use.
Yes this is absolutely correct. This is also the only way to be certain that your library (or more generaly code) will be compatible with code released as GPLv3 or later, that the reason behind that clause.
the basic definition of GPLvX compatible is that is can be relicensed as GPLvX.
Now if you choose any license that doesn’t allow that your code is not usable in programms useing GPLvX *at*all*
even LGPL is only GPL compatible because of that relicensing clause.
If you object from you software to be relicensable to GPLv3 you can’t use liberal licenses like bsd,apache or similar too… So i hope you really reconsider relicensing your code in an GPL incompatible way, just because you don’t really like GPLv3… If you used LGPL before you seem to have been ok with the code used in commercial software, so why do you want to make sure it’s not usable in GPLv3 software?