まつもと ゆきひろです

In message "Re: [ruby-dev:29767] 1.8 proposal of RUBY_PATCHLEVEL"
    on Sat, 4 Nov 2006 09:40:05 +0900, URABE Shyouhei <root / mput.dip.jp> writes:

|(1)1.8メンテナをまつもとさん以外の人にする
|まずご自身で仰っているようにまつもとさんは「Designer」です。そのこと自
|体は得がたい能力だと思いますし、卜部にはできないことをやっておられるわ
|けで実際かなり尊敬していますが、デザインが得意だからといってメンテナン
|スが得意かというと、それは違うとしか。

まったくおっしゃる通りです。

|以下は卜部がブランチメンテナになった場合の話で、

神戸さんも指摘しておられますが、ここは属人性を排除するため
「卜部くんならこうする」という意思表明ではなくて「今後この方
針がよい」という方針の提案と読んだほうがよいと思います。

|(2) API変更停止
|以下に述べるPATCHLEVELの修正をのぞくすべての変更を凍結します。具体的には
|- - Cヘッダファイルの記述全て
|- - RubyレベルAPIの全て
|- - test/以下の全てのファイル
|
|ただし、RubyレベルAPIに関しては明確なものがない(今まさにJRubyのCharles
|が書いてるはず)ため、最初の段階では「動いてるコードが仕様です」となる
|可能性はかなり高いと思います。

Cヘッダファイルの変更停止はまあ当然でしょう。Rubyレベルでは
メソッドを追加しないというのもやった方が良いと思います。言語
の微妙な動作についてはRubySpecの動きでRuby1.8, JRubyその他の
間で合意ができた場合には変更が行われるかもしれませんが、安易
な変更は行われるべきではないでしょう。基本的に凍結と言って良
いと思います。test/以下のファイルについてはテストの追加は許
しても良いかもしれません。

標準ライブラリについては、私が直接管理していないんで判断が難
しいです。

個人的な意見としては、非互換な修正は基本的に許さない方向が良
いのではないでしょうか。ライブラリを追加するのもしない方が良
いでしょうね(ほんとはJSONライブラリとか追加したかったけど)。
個別のライブラリ内でのメソッドの追加については、...どうしよ
うか。

||(3) RUBY_PATCHLEVELの新設
|Rubyのバージョン番号にはこれまで「MAJOR.MINOR.TEENY、各フィールドは十
|進一桁以下」という制限がありました(制限は主にversion.hとCプリプロセッ
|サの制約から来ています)が、新たにパッチレベルを示すPATCHLEVELという数
|字を導入します。PATCHLEVELは十進でFixnumに収まる範囲の非負整数です。こ
|の数字は0から始まり、なんらかのパッチセットが投入されるたびに1づつ増え
|ていきます。基本的にバグフィックスしか行われないはずなので、パッチセッ
|トは取捨選択の必要はないと思います(入れるなら全部入れるべき)。

ruby -v の出力はどうなるんでしょうね。