Merb gets merged into Rails3!

http://weblog.rubyonrails.com/2008/12/23/merb-gets-merged-into-rails-3の超簡易和訳.

Merb が Rails3 に統合される!

みんなにクリスマスプレゼントがあるんだ.何かって言うと Merb と Rails のベンチマーク論争に終止符を打つのさ.つまり Merb が Rails 3 に統合されるんだ!

我々はフェンスの両側で複製しあうよりもっと建設的ないい方法として,一緒に働くことを実現した.統合するのが明らかに思えるデザインと思想を,Merb と Rails を既に十分に共有している.あとは座ってチャットして議論すればよかったんだ.

これが実際に何を意味するかというと,Merb チームは Merb の基本思想を Rails 3 に持ち込むことに努力するってことだ.Yehuda Katz は Rails コアチームに入ったし,Matt Aimonetti は新しい伝道師チームに入った.そして Carl Lerche と Daniel Neighman (hassox) は Merb を統合する共演者となったんだ.この統合を不滅のものとするために,記念のページ http://rubyonrails.org/merb を作った.

何がもたらされるのか?

彼らによって Merb から Rails 3 にもたらされるいくつかのキーアイデアがある.

Rails コア
Rails はフルスタックでそのまま残るけど,一切合切なければ動かないままにしておくべき理由もない.Rails 3 は必要最低限の状態でも簡単に動くようになり,みんなが必要な時に必要なカスタマイズができるようになる."rails myapp -core" とか "rails myapp -flat" みたいなコマンドを想像してもらえればいい.
パフォーマンスの最適化
Merb は Rails の多くの部分を高速化する.いいものすべてをもたらしてくれる.大きな利益のために必要な場所ではそのアーキテクチャーすら曲げてしまうでしょう.要するに,Rails 3 は Merb 連中が知っているような,パフォーマンスの注目を集めるでだろう.
フレームワーク不可知論
Rails はフレームワークに関して,規程の答えをいつも持っている.テスティングフレームワークは test/unit,ORマッパーは Active Record と言う具合に.でも他のを使いたい時もある.テスティングフレームワークに RSpec だとか,ORマッパーに Data Mapper とか Sequel とか.他にもテンプレートエンジンに Haml だとか JQuery を使いたいとか.こういう要望にも Rails は諸手を上げて歓迎しよう.そう,Rails はデフォルトを持ってるんだが,他の代替案を差別するようなことはしない.
厳格な API
多くのプラグインは Rails をアップデートした時に動かなくなる.それは,どの内部処理を安全にフックできるかや,モンキーパッチを当てたときに何が壊れることを期待すべきかが明らかではんないからだ.Merb 連中はテストのある公開 API をコミットしてくれて,それを使えば壊れないことが保証される.彼らはそういう考え方を Rails 3 に持ち込むので,有無を言わせないアップデートでも破壊されることのない,テストされドキュメント化された拡張機能のための API をもたらしてくれる.
大きな書き換えは無い

しかし"ビッグバン"のような Rails の書き換えはないこと覚えておいてほしい.すべてを捨てて1から作り直すには時間がかかりすぎる.Rails へのプログレッシブな改良を行っていくが,使いやすさと同じぐらい後方互換性に与える影響を考えて注意深く判断するつもりだ.Rails 3 ではいくつか非互換になることはわかっているので,それが最小になるように,そして Rails 2.x アプリケーションが簡単に Rails 3 へと変換できるように勤めるつもりだ.Merb 連中も既存の Merb ユーザが簡単に Rails 3 へとアップグレードできるように頑張るそうだ.既存の Merb コントローラーを新しい Rails 3 のコントローラーと並列にマウントできるようなにしていく.我々はそれがどうなるかを見て,それを行動に移すだろう.*1

また Merb 連中は別に既存の Merb ユーザやアプリケーションを放棄したわけじゃない.彼らはちゃんとバグは直すしセキュリティも改善する.それに加えて Rails 3 へのアップグレードパスを用意しようとしているんだ.この進みはうまく,秩序ある順番で実行されるだろう.

タイムライン

Rails 2.3 はちょうどコーナーを曲がったところ.1月にはリリースしたいと思ってる.Rails 2.3 のリリースは大型爆弾のようで,攻撃的な変更が多く含まれている.でもそれが終わり次第,Rails 3 に注力するつもりだ.

楽観的にみてゴールはラスベガスでの RailsConf 2009 までにベータ版を出すこと.できるかもしれないが,それまでにやるべき事は非常に多くある.

これらの変更の多くは,すぐに効果があるものだ.既に協同作業はスタートしており,Rails 3 における非常に短い期間のマイルストーンでの具体的な内容を率先してアナウンスしたのである.

恨みっこなし,まさに kumbaja*2

これはまさにドラマチックなイベントだ.辛辣な関係から一緒になるまではちっとも長くはなかった.でも両側にいる人達が舞台裏でどのように仲良くなっていったかということに驚いている.私たちは同じことを望んでいたのを話し,さらにそれを実現するんだ.そしていくつかのケースでは異なることに注意を払うだろうが,それは普通の挨拶のようなモノだ.

私は両コミュニティーの人達が,両者のキーコントリビューターたちと同じぐらいこのニュースを優雅に扱ってくれることを切に願っている.

さあ,以前にあった過去のすべてを水に流し,統一へと向かって動き始めることを大事にしよう.

Rails 3 はうまくいくさ.

*1:We’ll see how it all plays out, but play out it will.

*2:探しても分からなかった.誰か注釈求む