If you released under GPL2 only and
GPL3 comes out and you like the
changes it makes, you're theoretically
going to have to go around to all your
contributors and get their unanimous
approval to change the license their
code is released under. All it takes
is one of them to say "nope, I only
licensed my contributions under GPL2
and refuse to permit GPL3" - or they
can just not reply - to derail your
proposed license change.
Which brings up some other questions. Do you plan to accept patches from outside developers? When you do accept patches do you requires patch submitters to hand over copyright also? If they don't transfer copyright, how does that allow you to change your own license for future considerations. If there was a project with their own license and I was going to release a bunch of code to it, it stated that it was licensed under XYX version N, or any future version, then what's to say that the people controlling that license won't do a complete 180 on a future version, and make it completely closed source?