Rubyコミュニティの「新人賞」Ruby Prize

Copyright©Ruby Association.
RubyPrize2014 受賞者インタビュー、2014 Prize Winner Interview
  • 柴田 博志/Hiroshi Shibata
  • Pat Shaughnessy
  • 松本 亮介/Ryosuke Matsumoto

要求に対する「妥協」をどうにかしたかった

まつもと 今はそうなんですけど、春からは福岡に引っ越されてペパボさんに。

松本氏 はい、そうですね。元々ホスティング関係ですごく仲良くさせていただいていて、昔から一緒に仕事しましょうよ、というお話はいただいていたんですが、それがようやく正式にお願いしますという話になりまして。
4月からになりますので、3月、2月ぐらいに引っ越す予定で、今は家を探している状況です。

まつもと 多分このインタビューを聞かれる方は、そのペパボさんとmrubyの、あるいはmod_mrubyやngx_mrubyとの意味や価値についてご存知ない方が多いと思うので、その辺ちょっと語っていただけませんか。

松本氏 はい。最近子育てをしてて、昔の内容を大分忘れてきてるんですけど(笑)。

まつもと 分かる分かる(笑)。

松本氏 そのためにブログにまとめてるんですけどね。

まつもと いいですよ、いくらでも編集できますから(笑)。

松本氏 はい。まずは2年半前ぐらい、ウェブホスティング系の会社で働いていた時にホスティングと言えばウェブサーバー、アプリケーションの運用というよりはミドルウェアとかOSの運用が重要ということで、ウェブサーバーの運用をしていました。
そこでは、色々拡張したいとか制限したいなど沢山の要求があったんですが、Apacheモジュールと言ってもCで書かないといけなかったり、色々大変で、逆にmod_perlやmod_rubyがあるんですが、あれもアプリケーションで動かすのじゃなくてウェブサーバーの設定や拡張を書くような扱いで使おうとした時に、設定をもっと高度にするというか、書きやすくするという目的にはちょっとオーバーヘッドが大き過ぎるというか。

まつもと そうですね。まぁRubyではmod_rubyというのは昔からある、というかRuby Prizeの実行委員もしてもらってる前田修吾君が開発したんですけども。
どちらかというとRubyのウェブサービスアプリケーションを高速化するための目的なので、私が分かっていてあえて言うのもなんですけども(笑)、じゃあ本当はmrubyというのは、mod_mrubyというのはアプリをどうこうというよりは、むしろApacheをコントロールするのにRubyを使いたい、あるいはnginxをコントロールするのにRubyを使いたいという目的。

松本氏 はい、そうですね。

まつもと そういうものがあると、ホスティングという局面でどううれしいですかね?って、僕は答えが分かっていて聞いてるんですけども(笑)。

松本氏 Apacheモジュールとかnginxモジュールが書けると言っても、恐らくウェブ業界は結構そうだと思うんですが、Cをガリガリと書いて、それを継続的にメンテナンスして、みんなと共有することのできる人材というのがすごく限られていてなかなか難しい。本当に属人化するような。

まつもと そうですね。

松本氏 そういう業務になりがちなんですが、それに対して要求はすごく多い。こうしたい、ああしたいということが多いんですが、それを妥協していわゆる運用でカバーみたいなことがよくありました。
そういう状況がすごく多かったので、そこをどうにかしたいという動機で、最初はmruby、Rubyとかそういう言語を使うのではなくて、何か僕がDSLのような独自のものをつくってやったらいいのかなとも思ったんですが。

まつもと 柔軟な設定ファイルのある比較的汎用な、例えばApacheならApache、nginxならnginxのモジュールがあればという話だったんですね。

松本氏 そうだったんですが、まぁそれはやはりちょっと敷居が高かったり難しかったり、色々ありまして。

まつもと まぁ結局言語を一つデザインしなくちゃいけない訳ですからね。