こんにちは、森脇です。

RubyコードのpackagingシステムであるRubyGemsが、Ruby HEADに入るようです。
既存のpackagingシステム(DEBやRPM)をもつ*NIXや*BSDなどにgemをインストー
ルする際、Rubyユーザ/デベロッパと Platform ユーザ/デベロッパとの双方に都
合の良いやり方をめぐって、ruby-core [1]の方で議論が続いています(そろそ
ろ収束しそうですが)。議論というよりはフレームとなっている面も多々ありま
す。一部、debian-ruby MLでも議論が飛び火しています。

日本のRuby開発者が特に議論に参加していないため、日本人はどう思っているの
か、向こうは知りたがっています。
なにか意見のある方は、ここやruby-coreでぜひアイデアを出してください。

RubyGemsがRuby標準となれば、RubyGemsに従ってライブラリやアプリケーション
が(Perl界のCPANのように)管理されていくことになるでしょう。RubyGemsの利
便性が、今後のRuby/Platform lifeに大きく影響すると思われます。

まとめサイトとしては、Debian側からのまとめになるのですが、Debian内でのML
[2]があります。
# Debianは非常に矢面に立たされているのですが、Debianデベロッパは冷静に対
処しようとしています。


議論を起こすつもりであえて私がまとめると、

DEB(やRPM)には、Rubyのライブラリが(RubyGemsより)少なく、とても不便。
かといって、自分でRubyGemsを入れて、自分で gemを管理するのも、apt-getな
どの支援を得られず不便。ぜひ統合して欲しい。

RubyGems原理派は、DEBやRPMがgemをラップ(DEB内にgemを入れて、DEBのインス
トール時にrubygemでgemをインストール)すればそれで事足りて、それがRuby
ユーザにとって最良だから、そうすべきで、それ以外のやり方はすべきでないと
言っている。

しかし、Platform派は、既存の管理システムとの整合性を考えなければならない
ので、事はそう単純ではないと言っている。しかも、RubyにはC拡張があるの
で、さまざまなplatformに対応するディストリビューションには、単純ではない。

ただし、Platform派は、RubyGemsを否定しているわけではない。DEBとRubyGems
は対立する概念ではなく、補間しあうものであろう。DEBなりにRubyGemsと整合
性をとっていくし、RubyGemsに機能が足りないようなら提案するまでなのだが、
この点について、 RubyGems原理派(というか、一番声のでかい人)は、ことさ
らにDebianを非難し、RubyGemsを否定していると受け取っているようで、議論が
かみ合わない。

Debian Developerである私には、事はそう単純ではないように見える。gem ->
debに変換する方法は技術的にさまざまな可能性があり、完全な自動化かどうか
はともかく、ある程度の自動化は技術的に可能であろうし、何らかの変換ツール
はあるべきだ。しかし、技術面だけでなく、ライセンスやFHSなどPolicyに関わ
る問題があるため、Debian officialのnative packageとして、単純なラップの
み認めるのは難しい(単純なラップはそれらの問題を解決しないので、デベロッ
パがいろいろ調整しなければならず、現状と変わらない)。


[1] http://ruby-talk.org/ruby/ruby-core/threads.html
[2]
http://lists.alioth.debian.org/pipermail/pkg-ruby-extras-maintainers/2005-September/000018.html

では。

-- 
Daigo Moriwaki
beatles_at_sgtpepper_dot_net