2011年10月18日22:16 Yukihiro Matsumoto <matz / ruby-lang.org>:
> まつもと ゆきひろです
>
> In message "Re: [ruby-dev:44618] Re: Ruby 2.0 release plan"
>    on Tue, 18 Oct 2011 19:47:32 +0900, "NARUSE, Yui" <naruse / airemix.jp> writes:
>
> |> |MAJOR: (ABI の) 後方互換性を切るときに上げる
> |> |MINOR: 後方互換性を保ったリリースの際に上げる
> |> |TEENY: 常に 0
> |> |PATCHLEVEL: リリースブランチについて、patch 1 つにつき 1 つ加算
> |>
> |> あんまりルールをきっちり決めるのは好きじゃない(完了主義にな
> |> りがちだから)のですが。
> |
> |これは第一には「1.9 までの規則と違うよ!」って意味ですね。
> |前提として現在までの1年以上間を置くリリースを踏襲するってのがあるので、
> |そこが変わった場合はまた違った形になるかもしれません。
>
> バージョン番号なんて飾りなんで、上げたいと思ったときに上げる
> のが良いのだと思います。そういう意味では以前のまま。あえてルー
> ルを決めるとしたら、原則として、
>
>  PATCHLEVEL バグフィックスのみ
>  TEENY バグ以外の変更をリリースする時
>  MONOR TEENYが9になった次、またはより大きな変更した時
>  MAJOR なんか決心した時
>
> くらいでいいような。

いやー、バージョン番号が飾りなのは否定はしませんが、
一方でインターフェイスの一つでもあるのですよ。
例えば、ruby-coreでは「1.9は1.8からのマイナーバージョンアップなのになんでこんな違うんだふざけんな」
みたいなメールがしばしばあって、そのたびに「いやそれメジャーバージョンアップなんだよ」
などと返事したりしてるわけです。

また、Semantic Versioningってのがありまして、これ自体の良し悪しについての評価は避けますが、
まぁこれを期待している人は多い、かも。

ので、「今後1.8→1.9級の変更があったらその時はMAJORを変える」というのは譲りたくない所だったり。

-- 
NARUSE, Yui  <naruse / airemix.jp>