@IT編集部の西村賢がRuby/Rails関連を中心に書いています。

「Tokaido」を巡り、募金型OSSプロジェクトで議論が噴出

»

 Merbのコア開発者でRails3でMerbとRailsの統合で重要な役割を果たしたYehuda Katzさんが、Mac向けのRails.appを作るという新プロジェクト「Tokaido」(東海道新幹線からの命名)を発表して話題を呼んでいます。プロジェクトをスタートするにあたって、Yehudaさんはまず、Kickstarterを使って、プロジェクトの必要性と、自分がそれを遂行できる能力があることを示しつつ、募金を開始しました。開発に先立って2万5000ドル(約200万円)の募金を始めたことについて、オープンソースの開発手法として違和感を持つ人が少なからずいたようです。

Tokaido

Mac上でのRails開発環境構築は面倒?

 Tokaidoは、Mac向けのRails.appを作るというプロジェクトです。最近のMac上のRails環境はさまざまなツールが発達していて、インストールすべきツールや、その順序、やり方が自明ではありません。これが新参開発者を遠ざけているのではないかというのがYehudaさんの問題意識のようです。

 これはある程度経験を積んだRails開発者でも思い当たる節があるのではないでしょうか。rvmとrbenvはどちらがいいの? Rubyのバージョンってどれを使えばいいの? クリーンな環境でRubyをコンパイルするには、どのライブラリがあればいいんだっけ? 動的にリンクするライブラリのバージョンの整合性の問題でgemが警告を出しているんだけど……。よく分かっている人であれば、コマンドラインで5つか6つほどコマンドを叩けば終わることでも、そもそもどういうツールがあるか分からない初心者には難しいですし、分かっている人でも、何か問題があったり、環境がクリーンでないようなケース(MacPortsで競合する何かがどこかにインストールされているなど)では、問題の特定にムダに時間がかかったりします。

 Windowsには、EngineYardがスポンサーとなって作られた「RailsInstaller.exe」という優れた環境設定ツールがあります。RailsInstallerをダウンロードして実行すれば、Ruby、Rails、Bundelerだけでなく、Git、SQlite3など、Rails開発に必要なものがひと通り揃うようになっています。Rails.appは、これに相当するものと言えるのかもしれません。

 Tokaidoで何を作るかということについてはまだ具体的に決まっていないようですが、Rails.appというアイコンを、Macの/Applicationsフォルダにドロップすれば、Ruby、Rubygems、Rails、それに必要となるgem(ライブラリ)の一式がコピーされて開発ができるようなものを目指しているそうです。ターミナルを開けば、Rails環境のコンソールに入っていくことができるようにするといいます。少なくとも、Rails開発にCコンパイラが必須である必要はないのではないか、ということです。

 初心者や、ほかの開発ツール、言語からの移行組のためのツールというだけでなく、Yehudaさん自身や、ほかのRails開発経験者も喜んで使うようなツールにしたいということですから期待できます。

OSSプロジェクトを立ち上げるのに募金はアリ?

 Tokaidoプロジェクトに対して、2つの疑問の声がすぐに上がりました。

 1つは、少しコマンドを叩くだけでインストールできるようなRails開発の環境構築に、そんな大げさなプロジェクトが必要なのかというものです。少しのコマンドを叩くだけなのだから、自動化するスクリプトでも十分ではないのかという意見です。

 これには2つの反論があります。1つは、スクリプトの自動化では本質的な問題が解決しないというものです。途中でスクリプトがコケたとき、たいてい環境は「よく分からない状態」になり、ここから正常な状態にするのは骨が折れることだからです。Tokaidoプロジェクトを擁護するEric Hodelさんは以下のように述べていて、Yehudaさんも、これに同意しています。

ちょうどRubyがautotoolsやbisonのインストールから解放してくれ、rvmがzlib、OpenSSL、cursesなどのインストールから解放してくれているように、Rails.appはコンパイラやrvmなどから解放してくれるものになるだろう。

 さて、もう1つの大きな疑問の声は、何か新しいOSSプロジェクトをスタートするのに、なんで募金なんかが必要なんだというものです(Hacker Newsの議論のスレッド)。Gitを作ったLinusが募金なんてしただろうか、という心情的な反発です。Yehudaさんは、RailsやRuby関連だけでなく、SproutCore(後にEmber.jsと改名)などでも広く知られた多産なOSS開発者なので、今回のTokaidoプロジェクトはOSSカルチャーに悪い影響を与えかねないという懸念の声もあります。

 ただ、すでに2万5000ドル(約200万円)の募金に対して、634人から4万4000ドル(360万円)の資金が集まっているところを見ると、こうした懸念の声よりも、むしろOSS開発のあり方として共感している人が多いようにも思われます(ただし、2日前にプロジェクト名とともに発表されたところによれば、Herokuと、BugHerdの2社が企業スポンサーとして支援することになったようなので、金額については企業スポンサーの比重が大きいのかもしれませんが)。

 これまでにもOSSプロジェクトは、企業に雇われたハッカーたちが取り組むものが多かったわけで、これらの開発者たちは間接的に報いられてきたわけですが、YehudaさんのTokaidoプロジェクトはもっと直接的です。もしRails.appが欲しいという人が十分な数いてオレの実績を信用してお金を出してくれる人が十分にいるならRails.appを作る、というわけですから、確かにこれまでのオープンソースのプロジェクトと、ちょっと違う感じがします。

新しいOSSの開発スタイルとなるか?

 これを書いている私自身は大変素晴らしい取り組みで、上手く行ってほしいと願っています。困っていないとはいえ、確かにRails環境の構築や維持は、必要以上に面倒だと思いますから、Rails.appはほしいです。

 それより関心があるのは、これが新しいOSSの開発スタイルとなるか? という点です。

 何か問題を持つ人が一定数いて、それを解決するコードを書く人に対して対価を支払うというのは、とても健全なソフトウェアビジネスのあり方に思えます。これまでOSSそのもの、あるいはOSSを使ったソリューションを提供する企業が、受益者とOSS開発者をバルクで結びつける中間的なブローカーの役割を果たしていたのだと考えれば、インターネットによる直接的でミクロな契約が可能となった今、実は新しいOSSの開発スタイルとしてTokaidoモデルも、相対的な数は少なくても成立し得るのではないかと思えるからです。

 十数年前、フリーソフトウェア財団のリチャード・M・ストールマンにインタビューしたときに、まさにこうした開発モデルを説明されて、私は面食らった覚えがあります。例えば、テレビ録画機能を持つセットトップボックスに新しい機能がほしい人たちが数百人いたら、この人たちは開発者を雇えばいいというのです。このとき、セットトップボックスのソフトウェアも、追加ソフトウェアもGNUでいうところのフリーであって何の不都合もないだろう、と。理屈はそうかもしれないけれども、私にはそんな世界がやってくるようにはとても思えなかったことを思い出します。いま、YehudaがRails.appでやろうとしていることは、開発者向けツールというニッチなものですが、まさしくストールマンが言っていた開発モデルではないか、と私には思えるのです。

 Tokaidoはまだアナウンスされただけで、5月12日に受け付けを終了してプロジェクトが開始となるようです。どういう成果物が出てくるのか、またOSSコミュニティを含む周囲の反応がどういったものになるのか、しばらく目が離せません。

Comment(0)

コメント

コメントを投稿する