最初のリリースの semver はなぜ 0.1.0 なのか


最初のリリースに付ける semver (semantic versioning) は 0.1.0 が推奨される理由を詳しく調べた。

semver.org の FAQ に次のような記述がある。

How should I deal with revisions in the 0.y.z initial development phase? The simplest thing to do is start your initial development release at 0.1.0 and then increment the minor version for each subsequent release.

このように最初のリリースのバージョンは 0.1.0 が推奨されている。

以上…でもよいのだけど、なぜ 0.0.0 でも 0.0.1 でもなく 0.1.0 なんだろう? spec を注意深く読むと、最初の semver x.y.z について

を全て満たす必要があると解釈できる。そのような最小のバージョンが 0.1.0 である、ということなのだなあ。 自信があるなら最初から 1.0.0 にするストロングスタイルもありということにもなる。

…ところで semver は https://github.com/semver/semver で標準化 (?) されているようで、上に貼った spec もそのリポジトリの GitHub Pages だ。 IETF の RFC にもなっていなく GitHub のリポジトリが一つあるだけなのか?スターは多めだけど広く使われる仕組みの権威としてはどうなんだろう?ということが気になった。