池澤:25年間、コミュニティを維持し続けられた理由はあるのでしょうか。
まつもと:Rubyはオープンソースなので、私が人を雇うことはできません。無償で協力してもらう他ないので、「ずっとRubyを好きでいてくれる」保証もありません。他に面白い言語があればそちらへ行ってしまうかもしれません。
優秀な人にRubyコミュニティに居続けてもらうために、「技術的好奇心をくすぐるような課題を見つけること」も私の大きな役割だと感じています。
開発初期は簡単な課題もたくさんありましたし、開発を始めて10年くらいは私が中心となって開発していたので、特にそういうことも気にせずやってきたのですが、Ruby on Railsが出現したくらいからは、面白い技術課題を見つけることを意識して行うようになりました。
たとえば、2020年にリリース予定のRuby 3.0では、「Ruby 3x3」をRuby 2.0より3倍早くすることを目標に掲げています。もちろんこれまでも改善を重ねてきたので、いきなり3倍はかなり難しい目標だと思います。
目標を掲げた当初は「できるも八卦、できぬも八卦」くらいの気持ちでいたのですが、最近になって「MJIT」という技術を使えばできるかもしれない、という可能性が見えてきました。
このように、いい目標があれば、開発を加速させることができます。なので、いい目標を立て「やるぞ」と宣言することは大切なのです。
このときの例えでよく使うのは、ケネディ大統領のアポロ計画です。ケネディ大統領は「1960年代のうちに人類を月に送る」という専門家ですら無理だというような目標を提示しましたが、1969年にはアポロ11号を月面へ着陸させることに成功しました。
このケネディ大統領の「月へ行く」という目標のような、今のままでは難しいけど、頑張ればできないこともない目標を持つことが、OSSの開発の現場にも必要だと思います。
Rubyだけで生活できるようになったのは…
池澤:「フリーのソフトウェアを開発して生活する」という働き方は、いままでなかった働き方だと思います。いつごろからRubyだけで生活できるようになりましたか?
まつもと:受託開発をやめて、オープンソースの仕事をメインにできるようになったのは、かれこれ10年くらい前からですね。
でも受託開発の仕事をしていた頃から、比較的のんびりさせてもらっていたと思います。たとえば、サーバー担当だった当時の同僚に頼んで、所属していた会社のサーバーの一部を間借りして、こっそりRubyを公開させてもらっていたりとか、別の会社では、合計約40分間の通勤電車の中で会社の仕事をすべて終わらせて、業務時間はずっとRubyの開発を行っていたりとか。当時はインターネットが貴重だった時代で、業務時間なら会社のインターネットに繋ぐことができたので(笑)。のどかな時代でしたね。
無料会員登録はこちら
ログインはこちら