藤本真樹氏×まつもとゆきひろ氏“Ruby”特別対談インターネット業界におけるオープンソース・ソフトウェアの活用が進んでいる。グリーCTOの藤本真樹氏と、Ruby開発者まつもとゆきひろ氏に、ソーシャルネットワーク業界におけるRubyを含むオープンソースの活用について語ってもらった。撮影/佐藤聡)作成日:11.09.02オープンソース・ソフトウェアの活用が当たり前になってきたインターネット業界。Railsもスタンダードになりつつある。世界でのユーザー数が1億を突破したグリーも、サーバー管理フレームワークを中心にRubyを活用している。そのグリーCTOの藤本真樹氏と、Ruby開発者まつもとゆきひろ氏に、ソーシャルネットワーク業界におけるRubyを含むオープンソースの活用を語り合ってもらった。──まずはグリーにおけるRubyの使用状況や取り組みからお話を。実は結構使っています。当社はサーバーが何千台とありますが、そのサーバー管理系のWebインターフェイスやスクリプトはRubyで書いています。エンジニアの中でRuby好きが多かったので自然な流れだったのだと思います。加えて、最近、グリーの子会社となった企業が、Rubyを採り入れていたという縁もあります。Railsで開発していますし、1月に子会社になったアドネットワーク事業を展開するアトランティスも、RubyでWebのフロントエンドを開発しています。いう意味で、Rubyがグリーでも身近になってきたという感じはありますね。社内には、もちろんPHPの人も、Javaの人も多く、決してRuby一色ではないですが、Ruby好きなエンジニアは多く、言語の多様化の流れが加速されてきたという感じがあります。エンジニアが少人数のときは、同じ言語で統一することも意味があると思うんですが、これが1000人、1万人になったら、それはかえって非効率だしリスクもある。複数の言語をシステムとして許容したほうが、開発効率を上げるタイミングがあるんだと考えています。今は、複数の言語で書けるように、社内のWebアプリのアーキテクチャ自体を変えつつあるところです。現状でRubyが使われるのは、主にサーバーサイドですね。スマートフォンのアプリ開発など、クライアント・サイドではRubyの使用例はない。開発環境がそろっていないですから。Xアプリ開発用のRubyCocoaがスマートフォンでも動けば、すごく面白いんじゃないかと思っているんですが。Matz去年「フクオカRuby大賞」を受賞した、米Rhomobile社のRhodesというスマートフォン向け開発フレームワークなどはどうですか。Mobileなどで動作するネイティブ・アプリを、RubyとHTMLで開発できる。OSごとにアプリケーションを開発する必要がないんだとか。iPhone用のアプリにインタプリタを載せるとアップルの審査が通らないので、それをくぐり抜けるためにどうするかという問題で、聞くも涙の大変な苦労があったようです。それでも、Rubyは今後クライアント・サイドでもぜひ頑張ってほしいと期待しています。技術が流行るかどうかは、必ずしも技術の優劣だけではない。世の中のトレンドとか、アルファブロガーならぬアルファユーザーのような「これすごく、いいよ」と言って使ってくれる人がいるかどうかにかかわってくるところがあります。それで、僕は今さまざまなところで「クライアント・サイドでもRubyを!」ということを喋っているんです。ゆきひろ氏Matzところで、藤本さんに最初お会いしたときは、PHPソースのメンテナーをしながら、実はRuby好きというので、どういう人だろうと思いました(笑)。いつごろからですか、Rubyで書くようになったのは?藤本たしかにPHPメンテナーではありましたが、実はあまりPHPではプログラムを書いていなかったんですよ。グリーに入る前の会社では、RubyでWebアプリケーションを書いていました。Railsがないころだったので、自分流の「オレオレ・フレームワーク」と「オレオレ・テンプレートエンジン」をつくったりしていましたね。Matz2000年直後のころですよね。それはみんなが通る道。藤本なんでそんなにRubyが好きかといえば、書いていて気持ちいいところ。オブジェクト指向で書くときに、自然なんですよね。Matzそれはよく言われますね。このようにしたいなと思ったときに、そのままストレートに書けるところがいいと言う人は多い。藤本それと、Rubyを通して、オブジェクト指向とはなんぞやということを、教えてもらったというのも大きい。これ、どうやるんだろうと思ったとき、レファレンスやサンプルコードを見たりすると、ああ、こういうふうに書けばいいのかと。そのたびに納得して、かつ自分の視野が広がりました。オブジェクト指向の本質みたいなことを、Rubyで教えられた。MatzRubyを公開したのは1995年のことですが、そのころは、オブジェクト指向というと「それはC++ですか」みたいな反応が一般的でした。CAD/CAMとか自動車の設計システムとか、ものすごくでっかいシステムは複雑になるので、オブジェクト指向で整理しないと作りきれませんね、みたいな。いう方向でオブジェクト指向を使うということはありえたけれど、初期のRubyが対象にしていたようなテキスト処理のような仕事には、「オブジェクト指向?やりすぎだよ、要らないよ」という受け止められ方が一般的でした。それでも僕は、そういう作業でもオブジェクト指向はあったほうが絶対いいから、と思って開発を続けていました。Javaさえもまだ存在しない時代の話です。いまや新し目の言語のほとんどは、何らかの形でオブジェクト指向の機能を持つようになっています。私の言っていることは、やはり正しかったのだと......(笑)。それはともあれ、Rubyはそんなに難しい言語ではない。多くのプログラマにとって、ちょっとだけ手を伸ばせば届く言語。いう人たちが、オブジェクト指向を学ぶ格好の機会になったのはたしかでしょうね。Javaでやってもわからなかったけれど、Rubyでやるとよくわかるみたいな。──Webアプリ開発など業務への応用が進んだのはいつぐらいからですか。Matz1999年に日本語の本を出したことでRubyへの関心が増えましたが、それでも仕事に使う人はほんのわずか。ところが2000年に英語の本を出すと、シリコンバレーのプログラマたちの間でブレイクしたんです。向こうの人のリスクの取り方はハンパじゃないですから(笑)。がんがん仕事で使い始める。Railsができて、いろいろな論争を経ながらも、さらに仕事で使う人が増えてきた。アメリカだと2005年から2006年にかけて、日本はちょっと遅れて2007年ぐらいからかな、仕事で使う人が目立つようになってきたのは。藤本2000年代前半は、Rubyで書いていると自分が「ちょっとカッコイイ」みたいな雰囲気がありましたね。非常にチャレンジングだった。ソースに何か問題があっても、「自分が直してやるぜ」みたいな人たちが使っていた気がします。Matzもともと、企業におけるプログラミングの生産性を高めたいというニーズが背景にありました。競争の源泉を探っていくうちに、Rubyのようなギークっぽいテクノロジーが注目されるようになったということはあると思います。これは一種のタテマエで、本音のところは、新しい技術がもつ話題性ということが大きかったんじゃないでしょうか。Railsで開発します」と言うと、「おたくは新しいテクノロジーに熱心ですね」と称賛される。いう風土が、特にアメリカにはありますから。Railsで開発するとカッコイイと思われたし、生産性も上がったから」と、その理由を聞いたことがあります。──エンジニア採用でも、これからはRubyの使用経験を重視しますか?藤本Rubyの経験というのは直接の判定基準ではないんですが、「一つの言語しかできません」という場合よりは面白いのでは、と思います。複数の言語に精通というか、チャレンジしているのは一つの評価軸かもしれませんね。Matz単一言語しか興味のない人は、たいていは就職するためにとか、収入がよいからという理由で、プログラマという仕事を選んだ人ではないでしょうか。「PHPやJavaが書ければ今なら求人がたくさんあるから、それをやる」というように。逆に言えば、PHPが使えれば、それ以上は学びたくない人たちなのかもしれない。僕が知っている本当に生産性の高いプログラマは、好奇心がものすごく強い人たちです。放っておくと、どんどん新しいものに手を出している。今はRubyをやっているけれど、明日はScalaやっているかもしれない。いう好奇心とパワーのある人たちなら、PHPでもJavaでも優れたプログラムを書けるんじゃないかなとは思いますね。藤本それは言えてますね。Matz「Haskellのパラドクス」という面白い話があります。Haskellはかなりとんがった言語で、やっている人は少ないけれど、あえて、プログラマの募集要項に「Haskell経験者」と書いちゃう。すると、ものすごく優秀なプログラマが採用できるので、来たらその人にPHPを書かせる(笑)。最先端の技術って、強制されて勉強する人はあんまりいない。それでも、それを自学自習してやっているような人は、好奇心旺盛で他のことをやらせても生産性高いはずだ、という推定が成り立つんでしょうね。最近は、Rubyでもご飯が食べられるようになっているんで、以前のようにRubyはハイスキルの指標にはならなくなってきちゃったかもしれない(笑)。──Rubyを含めたオープンソース・ソフトウェア(OSS)の企業におけるこれからの展開について、お話を移したいのですが......。藤本インターネット業界、Web業界ではもはやOSSは欠くべからざるものになっているので、今さらという感じもしますが、今後は一般企業の業務システムの構築とか、ものづくり企業の組込みシステムとか、そういうところでの展開が重要になるような気がします。Matz何かを開発したいとき、まず検討するのがOSS。そこで適当なものがないなら、商用ソフトウェアを検討するという流れは、もはや押し止めようがないですね。自分たちで開発したものをOSSとして開放し、コミュニティに寄与するということも、一般的になってくると思います。松江市で開かれる、オープンソースのビジネス活用を議論するコンファレンスは活発で、毎年、数多くの企業事例が報告されていますよ。Rubyをとっても、今後はサーバーサイドではクラウドや大規模分散開発、クライアントサイドでは、スマートフォン上のアプリ開発における活用というところに注目が集まってくると思います。藤本B2B向けの結構堅いイメージの会社の方々が積極的にオープンソースを利用して、そういった事例を発表するのを聞くことも当たり前になりつつありますよね。インターネット業界の私たちも、そういう異業態の話を聞くと刺激を受けて面白いです。──グリーもRubyも、日本で生まれ、世界に広がる企業であり、技術です。今後の世界展開は楽しみですね。Matzグリーのようにビジネスで世界に打って出ようとすると、商習慣の違いをどう克服するかという問題に直面すると思います。インターネット分野のビジネスではアメリカ流がデファクトになっているから、日本流を広めようとしてもなかなか難しい。その点、オープンソースを普及させる場合は、たとえ日本で生まれても、ドキュメントさえ英語で書けば、後はそのロジックで受け入れられるということがあります。海外の人に使ってもらわないとどうしようもないので、そのためのマーケティングとか宣伝は不可欠ですけれども。日本にも優れたOSSはたくさんあるのに、そのプロジェクト・リーダーたちは必ずしもマーケティングに長けているとは言えない。そこがRubyに続くモノがなかなか出てこない原因かもしれません。藤本インターネットのいろいろなサービスを使っていて、気づくと検索エンジンもミニブログもSNSも多くがUSで開発されているものになっています。1つや2つぐらいは、世界の人に使われる日本製のサービスがあってもいいじゃないかと思うし、私たち開発者にとっても何億という人が使ってくれればくれるほど、やりがいが出るんじゃないかと思います。いう思いで、グリーは今世界に出ていっています。これから開発拠点が、シリコンバレーだ、中国だと世界中に広がると、日本語でドキュメントを書いても理解されないから、英語で書くのが自然になってくると思いますし、サーバーのTimezoneもJST(日本標準時)じゃまずいだろうとか、もう普段の仕事の一つ一つで新しい発見があったりして、それが面白い今日この頃です。世界に出ることでこれまで見ることのできなかった世界が見えるということはあると思うし、楽しみです。Matzインターネット系、Web系で世界で成功した日本企業はまだ出ていないですからね。最初の道を歩くのは大変なことだとは思うけれど、ぜひグリーには頑張ってほしい。私の場合、たいていのIT企業には仲間や後輩・先輩が勤めているので、日本企業の世界進出というのは、決して他人事ではないんですよ。身内の一人として、温かく今後を見守っていきたいと思います。藤本こうして徐々にグローバルにサービスを提供することが当たり前になってくると、日本のITエンジニアに新しい気づきを促して、エンジニアの働く環境を変えていくということもあるんじゃないでしょうか。Matz日本のIT企業では、プログラミング経験不問とか、文系出身の学生を採用して、速成でプログラマに育ててしまうことがよくあります。した人たちは、必ずしも最初からプログラマになりたかった人たちじゃないですよね。ほかのものづくり業界ではそんなムチャクチャなことはないのに、なぜかIT企業には、いわゆる「デモシカ・プログラマ」が大勢いる。その人たちと、もともとモノを作りたくて、そのために技術を高めてきたプログラマが同じ待遇でいいはずがない。僕は、高度なプログラミングに携わる人たちの評価はもっと高くてよいと思っています。プログラミングを志す人たちは、自分はその他大勢とは違うんだということを示してほしい。その証しの一つが、OSSへの関心だと思うんです。僕は今、複数の企業と契約関係にありますけれど、僕が一緒に組みたいと思うのは、前例がない状態で手を挙げた勇気のある会社。柳の下で二匹目のどじょうを狙うような企業には興味がありません。エンジニアも企業も、そういうチャレンジする人が大好きなんです。藤本ということで、グリーで世界へチャレンジしたいかた、Rubyを書きたいかた、募集中です(笑)1979年生まれ。1999年より株式会社アイアイジェイテクノロジーにて、アプライアンスサーバシステムの構築に従事。アストラザスタジオを経て、2003年2月有限会社テューンビズに入社。PHP等のオープンソースプロジェクトに参画、企業におけるOSSのコンサルティング等を担当。Store「Flare」の開発も行う。オープンソースソフトウェアとして広く普及する「Ruby」の開発者。プログラミングの分野において世界的に名の知れた数少ない日本人のひとりで、英語圏では「Matz」の愛称で呼ばれる。「GREE」を公開、日本だけでなく米国・欧州などグローバル展開を進め、世界で億単位のユーザー数を目指すソーシャルメディア事業をはじめ、ソーシャルアプリケーション事業、プラットフォーム事業、広告・アドネットワーク事業等を展開しています。人気企業の採用実態あの人気企業はいま、どんな採用活動を行っているのか。大量採用?厳選採用?社長の狙い、社員の思いは?Tech総研が独自に取材、気になる実態を徹底レポート。大手製造業の研究所出身のエンジニアが、異業種であるグリーに転職し、社内で非常に高いパフォーマンスを発揮している。Platform」を利用したソーシャルアプリの募集をゲーム以外の分野でも開始した。2000万人を超える会員数...グリーGREEプラットフォームSNS藤本真樹...技術力+コミュニケーション能力で仕事の幅を広げたい若手SEの転職SNS「GREE」で独自路線を突き進むグリーへSNS(ソーシャルネットワーキングサービス)の「GREE」は2004年2月にサービスを開始。「言語デザイナー」と呼ばれる、プログラミング言語の開発者たちの言葉を集めました。世界中から集まるグリーエンジニアたちの技術力に迫る外国人エンジニアも積極的に採用しているグリー。Tech総研リクルートグループサイトへ。