強まるRuby標準化を求める声~RubyWorld Conference2009


 9月7日と8日の2日間に渡り、プログラミング言語「Ruby」のカンファレンス「RubyWorld Conference 2009」が島根県松江市で開催された。

RubyWorld Conference 2009の会場講演やパネルディスカッションが行われた国際会議場。用意された500席がほぼ埋まるほどの盛況ぶり

 Rubyは、まつもと ゆきひろ氏が中心となるコミュニティで開発されている日本発のプログラミング言語だ。1995年にリリースされて以来、Webサイトの構築を中心に世界中で採用されるようになった。2004年には、Rubyを用いたWebアプリケーションのフレームワーク「Ruby on Rails」が登場し、その流れはさらに加速。有名なところではTwitterで採用されている。

 松江市にはまつもと氏がフェローを務めるまつもと氏の勤務先、株式会社ネットワーク応用通信研究所 (NaCl) があり、まつもと氏は松江に在住している。こうした背景からRubyWorld Conference 2009は島根県松江市が開催地となり、会場は島根県立産業交流会館が使われた。

 今回のRubyWorld Conferenceで注目されたテーマの1つに、Rubyの国際標準化がある。以下では、このRubyの国際標準化をテーマとした基調講演の様子をレポートする。


再利用性や移植性の合意のためにRubyの標準化は必要

 Rubyが目指すのはISOの取得だが、「いきなり国際的にはできない。まずはJISの取得を目指す」。筧 捷彦教授(早稲田大学)は、講演「Ruby標準化に向けて」にてRubyの標準化のプロセスを説明した。

 筧 捷彦教授はまず、「Rubyは次々に改訂されているが、再利用性や移植性を合意するためには標準化が必要だ」と強調した。

 Rubyの標準規格は、ISOとIEC(国際電気標準会議)が共同で運営している「ISO/IEC JTC 1」の「SC22」にて審査の後、認定される予定。SC22では、今のところCOBOL、FORTRAN、C言語などの標準化ドキュメントのメンテナンスを実施している。標準化の作業は、Rubyコミュニティが中心となりIPAの支援で行っている。2010年中にJISを取得し、そののちJTC1に提出する予定だ。

 Rubyは、今のところ安定系の1.8と次期安定系の1.9の開発が進められている。標準化は、1.8を基礎に行っている。コミュニティでの標準化作業で必要なのは、「空理空論ではなく、現に動く処理かどうか」が重要だとする。

早稲田大学の筧 捷彦教授Rubyにおける標準化のプロセス。JISを取得したのちISOに提出する

10年後も20年後も安心してRubyを使ってもらえるための標準化

 Rubyを国際標準化にする意味は何だろうか。Rubyの生みの親であるまつもと ゆきひろ氏は講演「Ruby標準化の意義」にて、「今日書いたRubyのプログラムは、10年後も20年後も動いてほしい」としている。

 Rubyは、オープンソースソフトウェアとして開発が進められている。このオープンソースソフトウェアと商用ソフトウェアの違いとして「ロードマップはない」「約束はない」「バグは直るときには直る」との3点を挙げた。「次のバージョンは、クリスマスにリリースします。何年のクリスマスか分かりませんが」という冗談があるほどで、「のどかである」と述べた。

 しかし、最近では、Rubyをエンタープライズ分野で採用する動きが進んでいる。エンタープライズ分野でオープンソフトウェアを利用するとなると、サポート、情報の入手性、安定性、互換性などの面で不安が残るとの指摘がある。

 この不安を解消するために、企業がRubyのサポートを行ったり、教育などの支援、出版物を発行するなどの活動を行ってきた。しかし、「不安は漠然としたものであり、完全には解消できない」(まつもと氏)。この不安を解消する1つの手段として、標準化を進めるということだ。

 また、プログラミング言語は寿命が長いことも、標準化を進める理由の1つ。例えば、FORTRAN、LISP、COBOLなどのプログラミング言語は、誕生から50年程度も立っている。「Rubyを作り始めてから16年もたつが、いまだに“新しいプログラミング言語”といわれる」というほどだ。RubyもFORTRANなどと同じく、長く使ってほしいという思いがあるようだ。

 しかし、標準化とオープンソフトウェアのコミュニティとは相反する部分がある。標準化を行うと、新機能の追加や仕様の変更がこれまでよりも容易ではなくなる。

 「Rubyは、常に変化して新しい状況をキャッチアップしてきたからここまで育ってきた。オープンソースは変化がなくなると魅力がなくなり、人が集まらなくなる」として、標準化と進化のバランスが難しいのではないかという課題も挙げた。

まつもと ゆきひろ氏コミュニティによるオープンソフトウェア開発と標準化は相反する部分もある。このバランスをどのようにして保つのかが課題だ

エンタープライズでのRubyの利用のためにも標準化を推進

 筧教授とまつもと氏の講演に続き、「Ruby標準化をどう進めるか?」をテーマとしたパネルディスカッションが行われた。モデレーターは田代 秀一氏(IPA)、パネリストは原 嘉彦氏(富士通ソーシアルサイエンスラボラトリ)、森 正弥氏(楽天)、加治佐 俊一氏(マイクロソフト)、下道 高志氏(サン・マイクロシステムズ)、筧 捷彦教授(早稲田大学)、まつもと ゆきひろ氏だ。

左からモデレーターの田代 秀一氏(IPA)、筧 捷彦教授(早稲田大学)、森 正弥 氏(楽天)、原 嘉彦氏(富士通ソーシアルサイエンスラボラトリ)左から加治佐 俊一氏(マイクロソフト)、下道 高志氏(サン・マイクロシステムズ)、まつもと ゆきひろ氏

 IPAの田代氏はまず、Rubyと同じく日本発の技術として新幹線を例に挙げた。ここ数年、新幹線を海外に輸出しようという動きが活発だ。技術的には日本の新幹線が優れているとするが、世界的にはヨーロッパ方式を採用することが多い。これは、「標準化をしていない」ことが大きく影響していると指摘。

 IT開発環境について、日本政府も標準化されたものを優先的に調達するとの方針を明らかにしており、「日本はもとより世界にRubyを広めるためには標準化は欠かせない」と呼びかけた。

 田代氏は、ISOによる標準化の進め方についても触れた。ISOの取得には大きく分けて2つの方法がある。1つは外部の団体から持ち込まれた標準化規格をISOが判断する方法。もう1つは、ISOがゼロから策定するというものだ。Rubyは、まずはJISでの標準化を行い、ISOに持ち込むという前者で進める予定だ。

 富士通ソーシアルサイエンスラボラトリの原氏は、「エンタープライズの世界で非スタンダードを持ち込もうとするとやりにくい」として、標準化の推進を訴えた。プログラマーの方向性を決めるためにも標準化が必要だとする。「今はPHPを知っていたらあと5年は仕事ができるだろうが、この技術を知っていたらしばらくの間食っていけるというものがない」というのが実情だという。

 「企業側は、利用するプログラミング言語が多いと教育などにかかるコストが膨らむ。それをRubyに絞ると、プログラマーは覚えた技術を将来的に利用できる、企業側は安心して投資ができる。そのためにもRubyの標準化は必要だ」(原氏)。

 楽天の森氏は、楽天でのRubyの取り組みについて「楽天技術研究所」を紹介した。現在は17名の研究員が所属し、数年後に楽天のサービスに使われる技術を開発している。楽天技術研究所にはまつもと氏を招聘(しょうへい)し、Rubyを積極的に採用しているという。

 「実際にいくつかのサービスで、楽天技術研究所にてRubyを用いて開発したプログラムを採用している」(森氏)。このように商用サービスにてRubyを積極的に採用している楽天だが、「Rubyをビジネスで使おうと思っても、認めてもらえない」というのが現状だと認識しているという。

これまではCOBOLやFORTRAN、Javaなどを覚えれば「食っていける」という時代があった。しかし今はそれが何か見えない(原氏)楽天はコンシューマー向けの大規模なサービスにRubyを採用している

 「オープンソースとマイクロソフトは相いれないと思われがちだが、実はマイクロソフトはオープンソースプラットフォームにも新しいバリューを提供している」として加治佐俊一氏(マイクロソフト)が紹介したのは、.NETで動作するRubyのプラットフォーム「IronRuby」だ。

 マイクロソフトは、クラウドサービス「Windows Azure」をリリースするが、Azureは、.NET環境のクラウドであるため、IronRubyも動作する。「他プラットフォームで動作していたRubyプログラムを、Azureや.NET上で確実に動作させるためにも、Rubyの標準化が必要だ」(加治佐氏)。

 サン・マイクロシステムズの下道 高志氏も、クラウドの観点からRubyの標準化を訴える。サン・マイクロシステムズは、Java上で動作する「JRuby」をリリースしている。IronRubyを開発しているマイクロソフトと同じような立場だ。さらにJavaのコードが動作するクラウド「Sun Open Cloud Platform」の開発も進めている。「クラウドにおいても、Rubyの位置づけは重要。特定のクラウドにロックアウトしてはならない」とした。

 まつもと氏は、「Rubyは、進化、標準化、安定性のバランスを取る。バージョン1.9は進化を続け、1.8は安定化を目指す」とした。

 現在のところ、JIS取得は2010年末までという計画があり、「遅すぎるという意見もわかるが、標準規格を策定するのは5年から10年もかかる作業」として理解を求めた。最後に「Rubyの標準化を期待する人たちと、策定する人たちは同じ思いだ」として締めくくった。

マイクロソフトは、企業向けではクラウドのAzureに注力する。そこでは、.NETやJavaのほかに、Rubyも取り込む「Sun Open Cloud Platform」のスタック。開発環境にはJRubyも含んでいる



(安達 崇徳)

2009/9/9 12:00