mod_mrubyとngx_mrubyのv1.0.0をリリースしました+振り返りまとめ

先ほど、mod_mrubyngx_mrubyのそれぞれv1.0.0をリリースしました。

2012年の4月のmrubyのソースコード公開を機に開発をはじめ、今振り返ると色々な事がありながらも2年間続けて研究・開発を行い、ようやくここまで辿り着く事ができました。

mod_mrubyとngx_mrubyを実装していく中で、Matzさんをはじめmrubyに関わるすごいプログラマの皆さんと出会い、多くの事を教えていただきながらここまでやってくることができました。もし、彼らと出会うことがなければここまで続ける事はできなかっただろうと思います。

mrubyに関わりながら研究・開発し、その成果物をOSSとして公開しながらやってきたことで、恐縮ながらも産学両方から一定の評価を頂けた事もあって、まだ二年とはいえこれまで継続してやってきてよかったなぁと思います。

そこで、ふと2012年4月からmod_mruby、ngx_mrubyに関連のある出来事を時系列で振り返ってみようと思います。この振り返りは、ちょうど自分が会社を辞めて大学生活を始め、本格的なOSS活動を始めた時期とピッタリ重なります。

mod_mrubyとngx_mrubyの振り返り

2012年4月mrubyのソースコード公開、自分はこの時から大学生活と本格的なOSS活動スタート

  • 2013年4月10日「mrubyでも使っている擬似乱数Mersenne TwisterがMITライセンスでも提供可能になった

    • mruby-randomをコアに入れる際にメルセンヌツイスターがMITLでは無いことが問題になりました
    • そこでメルセンヌツイスターの作者の方々に連絡して、なんとMITLでも提供可能に変更して頂けました
    • この時はmrubyのコントリビュータの皆さんと色々議論しながら盛り上がっていたのを懐かしく思います
    • 個人的にはこの時期の盛り上がりはすごかったと思います(正規表現祭り・擬似乱数祭り…)
    • GitHubの通知がほっておくとすぐに満タンになっていました
  • 2013年7月1日「mrubyによるWebサーバの機能拡張支援機構を一緒に開発しませんか?

  • 2013年8月21日「Ruby Prizeの候補者になった

    • mod_mrubyやmrubyへの貢献が認められRuby Prizeの候補者に選ばれました
    • とてもうれしかったです
  • 2013年9月28日「「リクエスト単位でコンピュータリソースを分離可能なWebサーバのリソース制御アーキテクチャ」という話を発表してきた

    • ここで、mod_mrubyを作るきっかけになった研究を紹介することができました
    • mod_mrubyやngx_mrubyはあくまでWebサーバの機能拡張エンジンでそれを利用することでリクエスト単位での柔軟なリソース制御をDSLで書けるようになるという研究です
    • それなり面白いと言って頂けました
  • 2013年12月13日「IPSJのIOTS2013でmod_mruby論文で優秀論文賞を頂いた

    • mod_mruby論文で優秀論文賞と学生奨励賞を頂けました
    • ようやくアカデミアからも一定の評価を頂いた事に非常に恐縮すると共にうれしかったです
    • またこの時妻のお腹には子供がおり、発表後すぐに広島から大阪にかえったのですが、本来学生奨励賞はシンポジウムの最終日まで残っていないと表彰の対象にならないはずが、特別措置によって頂く事ができ、IOT研究会の柔軟さに感動しIOT研究会をより好きになったのを覚えています
  • 2014年1月1日「春日大社でおみくじ

    • 凶を引きました
    • 子供だけは健康に生まれてほしいと思いました
    • 確かに去年は色々出会いがあったりそこから良い方向に運良く進めた気がするので、今年はみを引き締めようと思いました
    • でも凶は幸先悪いなとおもいました
  • 2014年1月31日「Ruby東京プレゼンテーション2014でmrubyについてパネルディスカッションしてきました

    • 1年前の東京プレゼンテーションは聴衆として参加し、Matzさんとmasuidriveさんと日本は平和という話をしただけでしたが、今回はそのすごい方々と恐縮ながらパネルディスカッションをする事ができました
    • mod_mrubyについて話しました
    • ここでは、前々から気になっていたsyuu1228さんとも出会う事ができうれしかったです
    • また、今後の未来を語る内容で概ねsyuu1228さんとかぶってしまいました
    • 非常にお世話になったmattnさんと出会えていない事は心残りでした
  • 2014年2月21日「WEB+DB PRESS vol.79のWebエンジニアのためのmruby入門

    • Rubyで有名なudzuraさんのWEB+DB連載の最終回でmod_mrubyについて特集して頂きました
    • 査読をお願いされたのですが、非常に文章力が高かったため、ほとんど何もしなかった記憶があります
    • mod_mrubyによってudzuraさんとお会いすることもできてとてもうれしかったです
  • 2014年2月24日「mod_mrubyがフクオカRuby対象優秀賞を受賞

    • まさか優秀賞を頂けるなんて思っていなかったので本当にびっくりしました
    • Matzさんの講評で、きちんとここまで実装できている事を評価したい、と言われてうれしかったのを覚えています
    • Rubyの笹田さんとお話することもできてうれしかったです
    • mod_mrubyの審査をMatzさんと笹田さんの前で発表するのは中々に大変なものがありました
    • ツッコミも鋭かったです
    • ソフトウェアコンテンストでmod_mrubyが認められアカデミアでも認めらた事と相まってこれまでの努力が報われたような気がしてとてもうれしかったです
  • 2014年2月24日「mod_mrubyやmrubyへの貢献が認められ日本OSS奨励賞を頂く

    • フクオカRuby大賞の授賞式に泊まっていたホテルで朝起きるとメールが来ていて、OSS奨励賞受賞して頂けますか?と来ていて目が完全に覚めました
    • おみくじ凶だったのに??と思いました
    • アカデミアでの評価、ソフトウェアコンテンストでの評価で十分恐縮しうれしく思っていたのに、そこにさらに日本OSS奨励賞という評価が得られた事にはうおーーーっと言わずにはいられませんでした
    • 家族からも「褒められてるのほとんど見たことないお前がこんなに褒められてすごいやん」と言われました
    • 受賞メンバーはすごい人ばかりでとにかく恐縮でした
    • 海外さんが貢献賞を受賞されていて、うおおーすごい!と思いました
    • ここで、mod_mrubyを開発するに当たり色々な事を教えて頂いたmrubyのコントリビュータの皆様に深く感謝をしました
    • 来年も今mrubyを頑張っている人からOSS奨励賞が選出されたら素晴らしいな、とも思いました
  • 2014年3月26日「子供がうまれました

    • 妻子共に健康で元気で良かったです
    • twitterではお会いしたことが無い人達からもおめでとうと言って頂けて幸せでした
    • mod_mrubyとは唯一関係のない出来事です
  • 2014年5月15日「mod_mrubyとngx_mrubyのv1.0.0をリリースしました」

    • そしてこの記事になります

このように振り返ってみると、偶然社会人を辞めて学生になっていた事、以前の職場でたまたまApacheモジュールの開発者が辞めて目があった僕がたまたま引き継いだ事、mrubyが公開されたこと、mrubyのコントリビュータの人達がとんでもなく技術力が高い上に人柄が温厚で色々と教えて頂けたこと、などなど言い出すときりがないですが、自分の意思が届かない所で物事が進み、それがある時たまたま交わり、その延長線上で人の目に止まり評価される、というようなどうやったか説明できないような偶然としか言えない流れを感じます。

なぜこの二年でこのような結果になったのかを聞かれても、はっきり言ってわからない、というのが答えになります。これまでのブログにも書いたように、社会人を辞めて学生になることが決して良い事なのかもわからないし、人に薦められるような内容でもないし、怖い人に目がたまたまあっちゃっただけだし、mrubyの公開なんて予想できないし、コントリビュータの人だって怖い人も沢山いるだろうし、たまたま周りとタイミングに恵まれていてうまくいったようにしか思えないのです。

ただ、自分が意識していたことをあげるとすると、それは「とりあえず一歩踏み出す事」「面白い事をとにかくやること」「一旦間があくと冷めるのでとにかく意識的に継続してやること」「自分の知らない事をできる人に追いつく努力を怠らない事」「自分のやっている事に誇りを持ち情熱を注ぐ事」です。これらを意識的にやっている事で損した事は今のところ無いように感じます。

この意識を変えずにこれからも取り組んでいけば、きっとまたどこかで新しいチャンスが生まれるんじゃないか、とは朧げながら感じています。そして、そのチャンスを見逃さない程度にはアンテナを張り巡らせていきたいです。きっとそのチャンスはとても面白くてワクワクさせるもので、その中で出会う事ができる人達はきっと素晴らしい人達で、そして、そのmod_mrubyの流れと同様、その流れは自分にとってきっと宝になる、と思えるからです。

最後になりますが、自分の想定からは遠くはなれた流れの中で、mod_mrubyの研究・開発にあたりお世話になった皆様、本当にありがとうございました。歳を取ってmod_mrubyの事はすっかり忘れても、皆様の事は忘れません。今はまだまだ未熟なので、恩を返す事は今のところできそうにありませんが、お世話になった皆様のtwitterアカウント名や名前は僕の心に刻まれているので、もっと修行して成長した頃に恩を返したいと思います。それまでどうか気長にお待ち下さい。