再々

  • 以降の配布の際はその選んだバージョンに固定される。

と解釈した場合について危険性を検討する。
もし、GPLバージョン3が良くないと開発者が感じた場合、「バージョン2だけ」バージョンをフォークして開発を続けることができる。バージョン3として配布されたものは、開発者の意に沿わない利用(プロプラなソフトに取り込まれるとか)をされるだろうが、開発者の開発の自由が阻害されることは無い。
個人(もしくは少人数)が書いた非商用コードで、BSDでも良いけど、どちらかといえばGPL、くらいの感じであれば、「バージョン2だけ」と「バージョン2以降」でライセンスするのにほとんど差はないと言ってよいであろう。
企業がGPLを使う場合は、「開発者の意に沿わない利用」がされうることが問題になるかも知れない。この場合、コード全体の著作権を企業が握り、「バージョン2だけ」でライセンスして、バージョン3の適用は精査してからにすればよい。著作権保持者が単一企業であればライセンスの変更は容易にできる。
その中間の、企業人と個人の入り混じる大規模なプロジェクトでは、バージョン3が良いものかどうかのコンセンサスを得るところから問題になるかもしれない。意見が分かれると、プロジェクトの分裂もありえる。対処は、ケースバイケースになるであろう。だたし、分裂後は、コード全体のライセンスを変更できるので、ライセンス的問題はすくないであろう。

  • 以降の配布の際はやっぱり「バージョン2かそれ以降」になる

と解釈した場合。
バージョン3が良くないと開発者が感じても、バージョン2も有効なので、開発者の開発の自由が阻害されることは無い。ただし、ライセンスがそのままだと、新開発したコードも意に沿わない利用がされるので、ライセンスの変更をするムードになるだろう。
この場合、全著作権保持者の同意を得てコード全体のライセンスを変更できるのが理想。ただし、一部変更できなくても、「バージョン2かそれ以降」と「バージョン2だけ」をリンクさせることが可能であろう。
企業のコードの場合、「開発者の意に沿わない利用」がされうる問題と対処は上と同様となる。
大規模なプロジェクトではコンセンサスに関して上記と同様の問題が起こるであろう。この場合、「バージョン2だけ」派が抜けることになると思われるが、コードに「バージョン2かそれ以降」と「バージョン2だけ」が混じった状態になり、ライセンス的問題がおきるかも知れない。