smellman's Broken Diary

クソみたいなもんです

Ruby標準化のプロセスってどうよ?

はじめに、本記事が壮大な誤解の産物であった事をお詫びをいたします。
個人的に感じた以下の疑問点、不安点はまつもとさんのコメントでかなり解消されました。それを踏まえた上でお読みください。

2009年9月7日にRubyWorld Conference 2009に参加してきました。(明日も参加しますよ)
その中でRuby言語の標準化への動きについてのパネルディスカッションがありました。
Ruby言語の標準化については産学共同の元、ISO及びJIS規格への制定を目指しているという発表で、Sun Microsystems(JRubyの開発元)や、Microsoft(IronRubyの開発元)はもちろん、富士通や楽天といったいわゆる使う側のベンダーも積極的に関わっているという内容で、一般のベンダーである我々にも有益なものと思われる内容でした。
しかしながら、いくつか疑問点、不安点も浮上しました。その点について少し言及してみようと思います。

Ruby1.8ベースってどうなの?

現在の標準化の動きはRuby 1.8をベースに行われていると明言されました。しかしながら、ISOもしくはJISの制定までは2年ほどかかるとはっきり(パネルディスカッション内で)言われてました。しかし、2年もの歳月があれば、Ruby 2.0がリリースされている可能性があります。仮にRuby 2.0がデファクトスタンダートとなっていたら、Ruby 1.8ベースである事にどれだけ意味があるのでしょうか?

標準ライブラリについて

今回、標準ライブラリについても取り入れるという明言していました。しかし、標準ライブラリというものがどの範囲なのかは明言されていません。さらに「誰誰のライブラリが入ってなくても文句は言わないでね」と釘をさされるような発言もありました。個人的にはそんな発言が出るんであれば、標準ライブラリは入れないで言語仕様に留めればよいのではないかと感じました。確かに標準ライブラリの充実という点ではRubyやその他のスクリプト言語の利点ではありますが、それを明示してしまうために言語仕様がライブラリを含むという点に縛られてしまうのではないかという危惧を感じました。

RubySpecについて

今回のパネルディスカッションでYuguiさんがRubySpecは参考になるのか(ここは僕がちゃんと理解してないので微妙ですが)と質問をしました。それに対してまつもとさんはちょっと否定的な印象の言葉を残してました(正確に覚えていません、ごめんなさい)。そのやりとりで感じたのは標準化に対するプロセスがあまりOpenではないというものでした。僕個人で感じたのはオープンソースであれば、その質問自体でてくるものではなく、それ自体も受けいれるのが普通じゃないかというものでした。回答自体も参考にはするかもという程度のものであったんですが、僕の私感では納得がいく回答ではありませんでした。

実装によって違いはないか

これはイベントの後にとある法人の職員の方に電話して聞いたのですが、例えばRubyの実装でWindowsに互換性のない実装があるという話しを聞きました。僕はWindowsはほとんど触ってないのでその現状はわかりませんが、同じOS上に異る実装系があると片方しか認められないという自体にならないでしょう?こういう自体をさけるために標準というのがあるというのはわかりますが、オープンソース的にどうなの?っていう所を疑問視してしまいます。

オープンソースのプロセスであるのか

僕が全体的に感じたのはそのプロセス自体がオープンソース的であるか?という点です。オープンソースであれば普通にforkする事もあるでしょう(先程のWindowsの実装系の問題も最たる例です)。標準化のプロセスがそれを認めるかどうかによって事情がかなり異なってしまうというのを危惧してならないです。

標準化はありなのか?

最後にまとめですが、上記のような危惧すべき問題はあると思います。しかし、個人的にはRubyを使っているベンダーにとっては良い事も多いと思います。しかし、どう標準化するのかによっては事情が変わります。例えば、我々にとってAvtiveSupportのようなものがOKかNGかによって現状が一変してしまうでしょう。今回のパネルディスカッションでは産業系の方が多く参加されていたのでその手の問題はあまり感じはしませんでしたが、冷静に考えると不安を感じる部分も多いというのが確かでした(今回書いた内容は、ほとんど一人で推敲または友達と意見を述べあって出た結論です)。
しかし、やはり標準化が進められ、提案がしやすくなるという事を考えると歓迎すべきであるという結論に導きます。願うのは今述べた不安をどう取り除き良い標準というものを作ってもらえるかです。今まで述べた不安が杞憂に終わる事を望むばかりです。

ちなみにこの内容はdoruby向けに書いたんだけど、ログインのアカウント忘れて四苦八苦したのは内緒です。うう、自宅マシンにssh許可しておけばなんとでもなったのに...orz