Closed kozross closed 9 years ago
I license sift under the GPL version 3 as I do not know what a later version will look like. I do not really see a future licensing issue here - if I like the next version, I can still license sift under the old and new version. Users should not be impacted by this.
The problem here is that you have to get all contributors (5) to agree. What you could do now is relicense with the contributors so that you appoint yourself as a proxy to decide, which is allowed in the GPLv3. This means when GPLv4 comes out you can look over it and say it's available under GPLv3 or GPLv4!
But a bigger problem is this - if you stop maintaining this project, it's incompatible with all future GPL versions. Having an 'or later' clause is future proof, and you can keep things as GPLv3+ rather than GPLv4+. 'or later' doesn't mean 'latest', it means you get the option.
As you said "or later" means the user can choose, and if a newer GPL version states "the author can be held liable for everything" I do not want someone to be able to choose that license. Of course this will most likely not happen - I just don't want to use I license I do not know yet.
You are correct regarding the problems with changing the license of course. I always wanted to be able to change the license (e.g. changing to a BSD license if I want to in the future) - as I cannot do that without a signed agreement from every contributor, the simple solution is not to accept substantial contributions to the code. As I happily implement useful feature requests, that should not be a problem. This also ensures that if I should stop supporting sift someday (what I cannot imagine right now, as I use it myself every day), I can relicense the code if the need should arise.
There's little cost to an 'or later' clause, and it avoids a lot of annoying licensing issues in the future.