Why no GPLv*-only

Licensing under "GNU GPL v2 only" (or v3 only) is problematic: since GNU GPL v3 has been published, it is important for GNU GPL-covered programs to advance to v3, which protects against new ways to deny software freedom. But, v3 is incompatible with v2, because of the nature of copyleft. (The same issues will arise when a GPLv4 is needed.)

Thus, for Savannah hosting we require that you release your software under GNU GPL version 2 or 3, or any later version. If you don't put this clause in the files now, the only way to use your program with GPLv3 code would be to ask each and every copyright holder, and that may be very difficult, even impossible (e.g. if a contributor is not reachable anymore).

Some people worry about apparently giving the FSF (who publishes the GNU GPL) the ability to arbitrarily relicense their project. This is not the case, per section 9 of the GNU GPL (emphasis added):

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.

The very essence of the GNU GPL is copyleft, so your code will remain protected.

GPLv3+ is generally recommended. See the complete text, which includes the recommended license notice to put in your files.

LGPLv2.* licenses are a different case. Because all these versions of the LGPL can be converted to any version of the GPL, we can accept LGPLv2.*-only on savannah. Of course, we highly recommend against using LGPL*-only when there is any alternative.

Even if you yourself do not particularly care about the changes from GPLv2 to GPLv3, realize that a large body of code is released under GPLv3-or-later. If you release your code under GPLv2-only, sharing cannot occur (in either direction), and that is the shame. Please use -or-later.

See also: