Please use the “or any later version” option of the GNU General Public License.
Update: More precise explanation of advantages of GPLv3 over GPLv2.
There is currently a discussion about not using the “or later” clause of GPLv3. What’s missing in these discussions is that the “or any later version” has a scope that is strictly limited by point 14 of the license:
Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns.
One argumentation assumes, that when the »or later version« clause was introduced to the GPL, “it was unthinkable” that the Free Software Foundation could get into trouble. But this is wrong. The “similar in spirit” part is explicitly in there to prevent problems if the FSF could become a bad actor.
“Such new versions will be similar in spirit to the present version”
This is a binding part of the license. A part that binds those who can release a new version.
The FSF already foresaw more than 30 years ago that it could one day get into problems, and this part of the license protects Free Software against the FSF itself. It is one more case where those who criticize the FSF assume an implausibly shortsighted perspective given the quality of the license.
There are some people who argued that GPLv3 is different in spirit to GPLv2, but from all I saw this argument does not hold up when reading the GPLv2 in detail. If it did, any relicensing would be a legal gray area that most larger companies wouldn’t risk — but compatibility with the Apache License rests on that relicensing.
On the other hand I’ve seen some of the damage that the GPLv2-only licenses did to license compatibility and user-rights:
- GPLv2-only can never be compatible with cc by-sa content (for example with blender rigs), and
- GPLv2 does not require explicitly that users be enabled to actually use modified versions in the same system, so for many smartphones we cannot update their software without cracking their security. (details and complexity)
More such problems will come if you choose a “this version only” licensing of the GPL. Please don’t create such problems for the future by using GPLv3-only.
We once spent enormous effort in a process that took several years to move Mercurial from GPLv2-only to GPLv2-or-later to enable license compatibility and get better IDE integration.
You do not gain safety by using “this version only”, but you risk a lot of problems for the future. So please save others and your future self that trouble.
Use the “or any later version” option of the GPL wherever you can.