世界線航跡蔵

Mad web programmerのYuguiが技術ネタや日々のあれこれをお送りします。

2007年06月11日

RubyKaigi2007 (3) - 卜部さん

前の記事に続いてRubyKaigi2007をレポートする。

安定版Rubyとその今後

Ruby安定版のリリースマネージャーに就任したmputこと卜部昌平さんの発表。まつもとさんは偉大な言語デザイナだがリリースマネジメントはちょっとまずい、と言うことで卜部さんが代わったわけだけれども、おかげさまでRubyの運用における安心感はぐっと増した。

Rubyの歴史
  • 2002-12-24: 1.6系統最後の1.6.8のリリース。同日、1.8.0 preview1リリース。
  • 2003-08-03: 1.8.0リリース。8ヶ月previewをしたにも関わらず大変不安定であった。ライブラリが大量に追加されたのもあるけれども、同じ頃Perlも5.8出てライブラリが大量に追加されていた。
  • 2003-12-25: 1.8.1リリース。
    • クリスマスリリース。
    • バグフィックスがメイン。
  • 2004-12-24: 1.8.2リリース。
    • クリスマスリリース。
    • 1年もリリースがなかった。
    • 2003年にruby-lang.orgのサーバーがクラックされたのも一因。
    • このバージョンはコアを吐きまくった。
  • 2005-11-21: 1.8.3リリース。
    • リリースした理由は主にセキュリティホール(JVN 62914675)
    • しかし、機能追加が混ざっていた。
  • 2005-12-24: 1.8.4リリース。この回から10週間のリリースサイクルを実施
  • 2006-08-25: 1.8.5リリース。

要するにRubyのリリースは「セキュリティホールが見つかってもうすぐ公開される」とか「クリスマスだから」*1という理由で行なわれ、まともなリリースマネジメントがなかったと卜部さんは指摘する。私も、外部からもそのような指摘があったのを記憶している。

改善

まぁ、そんな反省もあって議論の末、安定版ブランチのリリースマネージャーが交代となったのであった。卜部さんは発表では触れていなかったけれども、ここでRubyのバージョン番号体系も変更されて、新たにpatch levelが加わっている。1.8.6-p36を例に取ると、

1
Major version
8
Minor version
6
Teeny version
36
patch level

バグフィックスのためにリリースされる度、最後のpatch levelが増えていく。

で、現在のところ、1.8系統で開発が進められているブランチは次の通り。([ruby-core:10019])

ruby_1_8
マネージャーknu。開発的安定版。1.9ほど大きな変更は加えず、互換性を重視しつつ、便利な機能の追加などは行っていく。
ruby_1_8_5
マネージャーshyouhei。1.8.5系統のバグフィックスリリースを行なう。機能追加などのバグフィックス以外の変更は認められない。
ruby_1_8_6
マネージャーshyouhei。1.8.6系統のバグフィックスリリースを行なう。機能追加などのバグフィックス以外の変更は認められない。

リリース方針としては

  • 脆弱性が見つかったときには随時リリースする
  • それがなければ3ヶ月おきぐらいで新しいパッチレベルリリースを行なう

とのこと。

それで、そろそろ3ヶ月経つので発表の少し前に1.8.6-p56と1.8.5-p32をリリースしたそうだ。

今後は、

  • 1.8.7の予定はまだ立たない。10月あたりだろうか。JSONライブラリあたりが入れば嬉しいところ
  • 1.9.1はささださんにおまかせ
  • 1.8.5系統と1.8.6系統のメンテナンスは1.8.7がリリースされた時点で終了する。
  • 1.8開発ブランチはこれまで通り開発を続ける

と。

斯くして、Rubyは明文化されたポリシーの元で開発/リリースされるようになったのであった。


*1クリスマスにリリースするのは伝統となっている


トラックバック

http://yugui.jp/articles/633/ping

現在のところトラックバックはありません

コメント

infohack (2007年06月12日 00時52分16秒)
<p>&gt;1.8.5系統と1.8.6系統のメンテナンスは1.8.7がリリースされた時点で終了する<br />2世代がメンテナンスされるので、1.8.7のリリースで終了するのは1.8.5系統のメンテナンスのみではありませんでしたっけ?</p>
shyouhei (2007年06月12日 12時32分02秒)
<p>卜部です。<br />coreを吐きまくったのは1.8.1で、それを修正していたので1.8.2が…という話のつもりだったんですが、伝わらなかったのなら申し訳ない</p>
blog comments powered by Disqus

ご案内

前の記事
次の記事

タグ一覧

過去ログ

  1. 2016年07月
  2. 2016年01月
  3. 2015年09月
  4. 2015年08月
  5. 過去ログ一覧

フィード

フィードとは

その他

Powered by "rhianolethe" the blog system