There's been massive discussion about this in multiple places, in short "or later" fear-mongering is just FUD.
1. Nobody forces you to upgrade to the latest version, it's only an option that people can exercise if they have a copy of your code.
2. In GPLv2 the FSF is the only entity that can create new versions, while in GPLv3 there are provisions for the original author to create a proxy (allowing them to delay the application of a newer GPL).
3. If the FSF goes corrupt, it is unlikely the new GPL will apply because the GPL states that newer licenses will be "in a similar spirit to this license". Given how much documentation the FSF has on their philosophy, it would be very clear if a newer GPL version violates their stated philosophy.
Also, finally, you can't have a license that "assigns all ownership". Copyright licenses and CLAs aren't the same thing -- and I doubt that you can retro-actively force people to give up their copyrights like that.
You should always use or-later because if you don't then you're just asking for trouble when the next GPL version is released and you have to ask every contributor whether they want to relicense their contributions. If you make it or-later in the beginning then there's no issue. If you don't like a GPL version you can always add restrictions to the all-later clause.
Well, it's essentially multi-licensing without knowing what all the licenses are. It gives some power to the FSF to choose what the next license for your work will look like. If you like what one license says but you don't know whether you'll like the next license the FSF releases, it makes sense to wait until you see it before deciding to use it, and that means not putting "or later".
I think Linux is a good example of this. Maybe users would be better off with GPLv3, but the copyright holders decided not to relicense. It's not asking for trouble to avoid relicensing until you can see the new license.
> It's not asking for trouble to avoid relicensing until you can see the new license.
Legally speaking, you're right.
Practically speaking, if you're running a project with a lot of contributors, hunting them/their heirs down and getting buy-in for a license change could be a huge project in and of itself.
In late 2012, the OpenStreetMap project changed it licence from CC to the current ODbL. Every user who had contributed to OSM had to be contacted and asked if they accepted the new one, and if not, their contributions had to be deleted and retracted. It was very annoying.
> Well, it's essentially multi-licensing without knowing what all the licenses are. It gives some power to the FSF to choose what the next license for your work will look like.
Sure, but the FSF's drafting process is open. Not to mention that if you don't like the drafts (or the final version) you can always restrict "or any later version" by saying "or any later version, except versions X, Y, Z". Sure, this'll mean your old code could be used under that license, but new code won't. By the way, the MPL (and CDDL) has the "or any later version" clause built into the license without an option -- by using MPL you are allowing Mozilla to relicense your code whenever they want.
> It's not asking for trouble to avoid relicensing until you can see the new license.
Until you find out that some of your contributors have passed away, and either:
a) Their copyright is in an estate, making it effectively impossible to get anything re-licensed.
b) Their copyright has passed to their next of kin, who might have no understanding of what the deceased's views on free software were and thus probably will do something like ask for money to relicense it (or just refuse outright).
Not to mention that if you're a large project, you're asking for trouble. In most cases, the only contact information you have about a person is their email address -- and since email addresses change all the time it's unlikely you'll be able to contact everyone. Mozilla went through a bunch of trouble trying to re-license all of their code because of problems like this.
1. Nobody forces you to upgrade to the latest version, it's only an option that people can exercise if they have a copy of your code.
2. In GPLv2 the FSF is the only entity that can create new versions, while in GPLv3 there are provisions for the original author to create a proxy (allowing them to delay the application of a newer GPL).
3. If the FSF goes corrupt, it is unlikely the new GPL will apply because the GPL states that newer licenses will be "in a similar spirit to this license". Given how much documentation the FSF has on their philosophy, it would be very clear if a newer GPL version violates their stated philosophy.
Also, finally, you can't have a license that "assigns all ownership". Copyright licenses and CLAs aren't the same thing -- and I doubt that you can retro-actively force people to give up their copyrights like that.
You should always use or-later because if you don't then you're just asking for trouble when the next GPL version is released and you have to ask every contributor whether they want to relicense their contributions. If you make it or-later in the beginning then there's no issue. If you don't like a GPL version you can always add restrictions to the all-later clause.