I think it is a mistake to license anything under a “or later version” license. If you do that, you licence your code under a license that you have never read, so how can you know that it serves your intentions? You are blindly licensing code under a licence that has yet to be written!<p>In the GPL case, the Free Software Foundation states that “The Free Software Foundation may publish revised and/or new versions of the GNU 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.” (Section 14 of the GPLv3.) Now of course I don’t expect the FSF to publish something radically different, but they _could_ do so. Even if you trust the FSF now, are you sure you trust the FSF twenty years from now?
> In practice, GPLv3 only adds more restrictions to the license<p>Not at all. They say so themselves: GPLv3 adds compatibility with Apache v2, which GPLv2 lacks. This thus removes a restriction.<p>GPLv3 also clarifies some things from GPLv2, such as being explicit about being applicable not only to software, and giving a clearer meaning of what distributing software means. GPLv3 calls this "conveying".
I'm wondering about those 0.5% who refused to relicense. What would be the rational behind refusing such a change. I can understand refusing for a project to be relicensed under a very different license but not between GPLv2 and GPLv2+...