I know that most of the source code of Blender is released under “version 2 or later” of the GNU General Public License and that all licenses are compatible with GPLv3.
I was wondering: in case GPLv4 ever comes out (we probably all hope it’s as far away as possible in the future, expecially given the robustness of GPLv3), is there anything which is known to block Blender and derivatives to “GPLv3 only”?
In other words, is there any component of Blender which we know will be incompatible with future versions of the GPL (such as components under (L)GPLv3 only)?
If all Blender source code is compatible with future versions of the GPL, I wonder why binaries are released under GPLv3 only.
I think the question is relevant for add-ons too, to understand whether lincensing them “GPLv3 or later” would benefit compatibility.
9. The Free Software Foundation may publish revised and/or new versions
of the General Public License from time to time. Such new versions will
be similar in spirit to the present version, but may differ in detail to
address new problems or concerns.
Each version is given a distinguishing version number. If the Program
specifies a version number of this License which applies to it and "any
later version", you have the option of following the terms and conditions
either of that version or of any later version published by the Free
Software Foundation. If the Program does not specify a version number of
this License, you may choose any version ever published by the Free Software
Thank you @LazyDodo for your answer.
I am familiar with both GPLv2 and GPLv3. My question isn’t about the interpretation of the license.
I am asking, rather, whether there are parts of Blender (or crucial extensions it couldn’t afford to lose) which are released under a license which would be incompatible with future versions of the GPL.
Obviously any part under “GPLv2 or later” would be fully compatible with future versions of the GPL. But parts released under “GPLv3 only”, or open source licenses having a special compatibility clause with GPLv3 (but not later), such as CC BY-SA, would not.
While this is an interesting topic to discuss, it’s not what I wanted to discuss here.
For the “extensions” part of my question, assume that the Blender position is accurate, although that is an open question.
You can’t make that call at this point in time, you can’t say with any certainty that it will be “fully compatible” all this clause does is say if you have code licensed with the distinction “GPLv2 or later” you may license it under V3/4/5/6/99 however code that is GPL2 compliant may not necessarily be GPL2+ compliant.
it’s gonna fully depend on what modifications those future versions of the GPL would have, unless a draft of V4 is published it’ll be impossible to know if a piece of code will or will not be compatible, for all we know V4 will have a clause that all GPL V4 compliant code cannot be written by a guy called Steve.
So even though our license says you may use a newer GPL version (like V4) if you wanted to, it by no means guarantees a 100% steve free codebase.
Of course, you can never know in advance that GPLv4 will be fully compatible with the whole codebase.
There are however licenses we already know to be incompatible with GPLv4, such as most copyleft licenses compatible with GPLv3 (including GPLv3-only itself and CC BY-SA 4.0, for example). I was asking about those.
That said, I looked in the codebase (including and the only two potential issues would be: