|
|
サイバーエージェントはスマートフォンサービス開発において、自社ライブラリを拡充するだけでなく、オープンソースコミュニティへの貢献を目的に、そのいくつかをOSSとして公開している。その一翼を担っているのはスイス出身エンジニアだ。
(取材・文/広重隆樹 総研スタッフ/宮みゆき 撮影/栗原克己)作成日:12.12.27
|
サイバーエージェントがSNS「Ameba」などを中心に、スマートフォン向けに提供するコミュニティサービスは、2012年12月現在で23個、ソーシャルゲームは68タイトルに及ぶ。さらに88以上のプロジェクトが今後のリリースを待っている。
この1年の間に急速にスマートフォンのコミュニティ&ゲームのサービスラインをそろえてきたわけだが、その駆動力になったのは数百人に及ぶエンジニアたちだ。彼らの斬新なアイデアと獅子奮迅の活躍が、スマートフォンサービスを支えてきたのである。
執行役員 最高技術責任者
ネットビジネス総合事業本部 インキュベーション室 室長 佐藤 真人氏 |
とはいえ、これだけ開発プロジェクトが多くなると、誰がどこで何を開発しているのか、それを把握するだけでもひと仕事になる。一人ひとりのエンジニアが制約なしにそれぞれ自由に開発できるというのがサイバーエージェントの強みの一つでもあるが、ときには知らない間に、同じ機能を実現するために、各プロジェクトがバラバラにコードを書いているという“ムダ”も生じかねない。
サービス開発をより効率的・スピーディーに実現するためには、社内で共有できるフレームワークやライブラリを充実する必要性は以前から指摘されていた。 社内の共有ライブラリ自体は、佐藤氏自身、「実数を把握できない」と言うほど多様かつ膨大だが、その中からプライベートリポジトリにアップされているものとしては、Node.jsで使われる各種フレームワーク、「android-base」や「ios-base」と呼ばれる各スマートフォンOSに対応したアプリケーション・フレームワーク、あるいはクラウド基盤を構築するオープンソースソフトウェアOpenStackと同等以上の機能を持つ仮想化ソフトウェア「Clover」などである。いずれもAmeba事業本部の各開発プロジェクトの中で、何らかの形で使われているものばかりだ。 |
サイバーエージェントがこれらを社内で活用するだけでなく、今後はそのいくつかをオープンソースとして公開する姿勢を強めていくことが、今回レポートしたい主題である。
「公開できるものはGitHubに「cyberagent-jp」という公開リポジトリを置いて、そこに集約していきます。現時点では2個だけですが、サイバーエージェントのエンジニアが個人でGitHubに公開しているものも、最低限の品質とドキュメントを確認できたものについてはここに集約させていきますから、今後はどんどん増えるでしょう。一般ユーザーに有用なものを中心に、春ごろから順次公開していこうと考えています」(佐藤氏)
もともとオープンソースには相互扶助という考え方がある。サイバーエージェントに限らずWebやITの世界のエンジニアは大なり小なりといえ、オープンソースの助けを借りてプログラムやサービスを実現している。だとすればその“恩返し”として、自分たちが開発したコードをオープンソースとして提供するのは当然のことだ。
ただ、日本にはまだ「自分の必要で書いただけのコードなので、恥ずかしくて人さまには見せられない」というシャイなエンジニアが多く、欧米に比べるとオープンソースが一般的とはいえない面もある。
「サイバーエージェントも外からは、オープンソースへのコミットがまだまだ弱いと見られているかもしれません。やはり日本人はつつましやかというか控えめですよね。この文化を、良くも悪くも個性豊かな外国人エンジニアが変えてくれることを期待しています」
と、佐藤CTOは同社のエンジニア文化に良い変化を期待していると語る。
Tech総研でも2012年2月に、「今サイバーエージェントに集結する、外国人技術者たち」と題して、ボリビア、フランス、中国など世界各国からエンジニアが渋谷のオフィスに集まってきている様子をレポートした。彼らは海外のソフトウェア文化の中で、オープンソースを当然のものとして捉えている技術者たちだ。オープンソースコミュニティへの貢献が、結果的にはエンジニアとしての力量を拡大させるということに確信を持っている。
ネットビジネス総合事業本部
プラットフォーム・ディビジョン RingZeroテクノロジーグループ ソフトウェアエンジニア パトリック・ボース(Patrick Boos)氏 |
その一人が、スイス出身のパトリック・ボース氏(27歳)だ。11月29日付でオープンソースとして公開されたAndroid向けの画像変換フレームワーク「GPUImage for Android」と、Webサーバとの通信テストなどを簡単に実現するMockサーバ「easymock」の開発者だ。 まず、「GPUImage for Android」のほうから紹介しよう。このフレームワークはもともと、2012年夏に提供開始されたスマートフォン向けオークションサービス「パシャオク」のために開発されたものだ。画像変換フレームワークとして有名なiOS向けの「GPUImage」との互換性も高く保たれており、これまで代表的といえるものがなかったAndroidの画像変換ライブラリの定番になる可能性を秘めている。 「『パシャオク』ではオークションに出品する写真をきれいに見せたいというユーザーのニーズがあります。いろいろなフィルターを簡単にかけられればいい。ただ、iOSにはあるんだけれど、Android OS用には最適のものがなかなか見つからなかった。そこで自分で書いてしまったんです」(ボース氏) iOS用「GPUImage」にある機能はほとんど「GPUImage for Android」でも実現されている。例えば画像に白黒やセピアなど多彩なフィルターをかけることができる。その反応スピードはほぼリアルタイムといえるほど速い。フィルター自身をiOS版からポートすることもできる。 この「GPUImage」は、ボース氏が開発を進める「android-base」というライブラリ群の一つという位置付けだ。「android-base」はほかにもネイティブアプリと各種WebAPIとをつなぐ機能や、イメージダウンローダーなどを含んでおり、ボース氏はこれらのいくつかもいずれはオープンソースにしたいと考えている。 |
ボース氏が手掛けたもう一つのオープンソースソフトウェアが「easymock」だ。これはネイティブアプリ開発において必要となるWebサーバとの通信を伴う処理のテストを、開発途中の段階で随時行うことができるMockサーバだ。簡単に多彩な表現のAPIをテストすることができ、開発スピードを高めるのに貢献する(Javaプログラミング言語用のオープンソースのモック・オブジェクト・ライブラリに類似名の「EasyMock」があるが、これとは別のもの)。
「API specification さえ書けば、AndroidでもiOSでも各種APIを利用して、Webサーバとの通信処理をシミュレーションすることができるので、サーバ側の実装を待たなくてもアプリ開発を進めることができます。そのうちサーバの実装が進んで本番サーバができたら、スイッチ一つでそれと切り替えることができる。だから開発の二度手間を防げるわけですね。『パシャオク』の開発でもそういうことが実際ありました」(ボース氏)
Mockサーバ自体は開発プロセスでよく使われるものだが、それをオープンソース化することには別の意味がある。
「公開しないより公開したほうのベネフィットが大きいと私たちは判断しました。ユーザーがバグを直してくれるし、彼らのリクエストから拡充のためのヒントが得られるし、ユーザーが書いたコードをマージしてさらに機能を拡張できる可能性があります」
さらにオープンソースを公開することは、会社の技術力をアピールすることにもなる。エンジニアはコードを読んで、その人の技術力を、ひいては彼が属する組織の技術力を理解する。自己紹介代わりに、GitHubで公開している自分のソースのURLを告げるエンジニアも最近は増えている。
「優秀なエンジニアがなかなか採用できないと言うじゃないですか。でも、コードを見てもらうことで、その会社が何をしているか、技術レベルはどうなのかすぐわかりますよ。そのうち、『そこで自分も働いてみようかな、面接に行ってみようかな』ってなるかもしれませんね(笑)。だから、ソースを書くほうも最初からオープンソースにしようと思ったら、最初からコードのクオリティを気にするようになります。オープンソースにコミットすることの意義はそういうところにもあるのです」
と、ボース氏は、会社の人材採用についてもこう意見を述べた。
ボース氏は14歳のとき、アニメや映画を通して日本やアジアへの興味が湧き、大学ではコンピュータサイエンスを学んだ。コンピュータエンジニアとしてはAndroid OSが一番得意。学生時代に自分の必要性で書いた「スリープタイマー」アプリは、Androidマーケットに出すと60万ダウンロードを数えた。大学時代にインターンシップで初来日。Webサービスの企業に就職し、2012年3月にサイバーエージェントに転職した。
入社後は「パシャオク」の開発に関わるが、そこで構築したAndroid向けの開発ノウハウをライブラリとして整備する必要性を感じた。プロジェクトから一旦離れた後は、プラットフォーム・ディビジョンに異動し、ライブラリの整備に専念する。
「具体的なプロジェクトを通してニーズを感じ取り、それをプラットフォーム側で整備、さらに再びサービス開発のプロジェクトに戻ることもある。こうしたサイクルを繰り返すことで、自分も組織も強くできる」
と、佐藤CTOは、サイバーエージェントにおけるエンジニアのキャリアアップの道を描いていたが、まさにその通りを歩み続けているのが、ボース氏だ。
自社ライブラリのオープンソース化は、同社のスマートフォン技術のレベルを世に知らしめる道標でもあり、シャイな技術者文化を変える試金石にもなりつつある。
スイス出身。大学卒業後来日し、日本語とコンピュータサイエンスを学んだ。日本のWebサービス企業1社を経て、2012年3月サイバーエージェントに転職。Android OSを得意とし、同社のオープンソース公開ではリーダーシップを発揮している。27歳。 |
大手IT系出版社の技術部門でコンテンツ管理、大手ブロードバンド配信会社で大規模インフラの構築、大手インターネットメディア会社でBtoCサイトのリニューアルなどに携わり、2006年にシステムアーキテクトとしてサイバーエージェントに転職。現在は、最高技術責任者と新規ネットビジネスの技術トップを務める。 |
このレポートに関連する企業情報です
■メディア事業/EC、オンラインゲーム、情報ポータルなど ■広告代理事業/インターネット広告、検索エンジン広告、SEo、Webサイト制作など ■Ameba関連事業/コミュニケーションサービスAmeba、アメーバピグなど ■投資育成事業続きを見る
このレポートを読んだあなたにオススメします
サイバーエージェント福岡発信の新感覚コミュニティサービス
1日20万件ひとり言が投稿される「きいてよ!ミルチョ」
サイバーエージェントAmebaからまた新しいサービスが生まれた。不思議なキャラを相手に“どうでもいいひとりごと”をつぶ…
“シンプルかつリッチ”を目指すスマホ向け究極のブログサービス
Amebaの新スマホブログ「Simplog」開発秘話
サイバーエージェントがスマートフォン向けの新しいブログサービスを8月にリリースした。「Simplog」は“シンプルだけ…
プロダクトの品質とデータ分析を担うTech Leadたちが語る
グリーが「新ハコニワ」をネイティブアプリで挑む理由
姉妹ゲーム「ハコニワ ふしぎな手紙とどうぶつ島」を新たにリリースしたグリーの人気育成ゲーム「ハコニワ」。軽快なレスポン…
新しい仮想ライブのフロアは、今夜もアバターたちで大賑わい
アメーバピグ新サービス「ピグチャンネル」開発舞台裏
サイバーエージェントのコミュニティサービス「アメーバピグ」は、2012年7月新たに動画コンテンツを共有しながら楽しめる…
開発担当は全員が入社数カ月の中途入社エンジニアチーム!
サイバーエージェント「intely」リリースまでの舞台裏
サイバーエージェントは2012年9月、有益なノウハウや専門知識を収集することができる実名制のビジネスパーソン向けSNS…
やる気、長所、労働条件…人事にウケる逆質問例を教えます!
質問を求められたときこそアピールタイム!面接逆質問集
面接時に必ずといっていいほど出てくる「最後に質問があればどうぞ」というひと言。これは疑問に思っていることを聞けるだけで…
あなたのメッセージがTech総研に載るかも