第19回 モンスター企業のオープンソースへの取り組み

11/22、facebookがサービスで使用しているデータストア「RocksDB」がオープンソースとして公開されたとニュースで発表されました。

facebookの記事を抜粋します。

「Every time one of the 1.2 billion people who use Facebook visits thesite, they see a completely unique, dynamically generated home page.

There are several different applications powering this experience–andothers across the site–that require global, real-time data fetching.

Storing and accessing hundreds of petabytes of data is a huge challenge, and we’re constantly improving and overhauling our tools to make this as fast and efficient as possible. Today, we are open-sourcing RocksDB, an embeddable, persistent key-value store for fast storage that we built and use here at Facebook.」

facebookではユーザごとに当然友達も違うし、いいねを押したページも人それぞれ。

ログインしたときに表示される記事も、ユーザー1億2千万人ごとに全員違ってくるわけですが、要は、そのデータ保存とアクセスで使われている技術が公開されたということのようです。

また、

「The vision for RocksDB 」
「RocksDB builds on LevelDB, Google’s open source key value database library, to satisfy several goals:」

今回公開されたRocksDBは、googleがオープンソースとして公開しているLevelDBをベースに作られているようです。

ソーシャルやウェブのジャンルで急成長を遂げる企業が、うまくオープンソースを利用して、その成果をオープンソース化して公開するという極端な好循環の例だなあと思いました。

googleやfacebookがオープンソースを使用していたり、オープンソースプロダクトをリリースしたりしているのはなんとなくは知っていたのですが、それ以外でもどれぐらいオープンソースに対して取り組んでいるのか、というのを、これを機に調べてみました。

その中で、特に興味深かった点をいくつか挙げたいと思います。
(2013年12月3日時点の情報です。)

【googleのオープンソースへの取り組み】

https://code.google.com/intl/ja/
googleは現時点で、上記サイトにてオープンソースプロジェクトに対して無料ホスティングサービスを提供しています。

現在では、developers.google.comという開発者向けサイトの準備を進めています。現時点でもこのサイトの内容を見ることはできます。

https://developers.google.com/?hl=ja

そのdevelopersサイトの配下に、オープンソースへの取組について説明された「オープンソースプログラムオフィス」というページがあります。

まだ日本語ページが作成されていませんが、今後日本語化されると思います。
https://developers.google.com/open-source/?hl=ja

ここで見ることのできるコンテンツを少し紹介します。

●Googleがリリースしたオープンソースプロジェクト

Androidをはじめ、900以上のプロジェクトをリリースしているとのことです。
1社で900プロジェクトリリースとは、すごいですね。

●Google Project Hosting

オープンソースのプロジェクトに対して、オープンソースのプロジェクト管理に必要な以下のサービスを提供しています。

・バージョン管理システム
・チケットトラッキングシステム
・wiki

sourceforgeが提供しているものと同類のもので、これによりオープンソースのプログラマーはプロジェクトの登録や管理に時間を割かずに、開発に専念できるという効果があります。

●Google Summer of Code

学生向けのオープンソースの報奨金制度す。以下、簡単に流れを説明します。

1.まず学生へのメンターとしての役割を担う組織が、面倒を見るオープンソースのアプリケーションを指定して、プロジェクトへの参加表明する。

2.Googleが審査して、参加するアプリケーションと組織が決まる。

3.学生が夏の間で加わりたいオープンソースプロジェクトを指定して申請する。

4.学生がオープンソースプロジェクトに加わり、メンターの指導のもとアウト
プットを提出する。

5.参加した学生には$5500支払われ、メンターには学生1人あたり$500が支払われるとか。

学生にとっては約55万円近くの大金を手に入れることができ、オープンソースに触れる機会も与えられて、さらに就職活動においてもアピールできる経歴になるというおいしいおはなし。

メンター組織にとっては、知名度の向上や優秀な学生の確保のチャンスになり、オープンソース業界全体にとっても活性化につながるとてもよい取り組みですね。知らなかった。

これまで7500人の学生、440のオープンソースプロジェクト、7000人のメンターが100以上の国から参加したそうです。

Google Summer of Codeの日本語のページがなく、日本語で紹介されている記事もほとんどないので、日本での認知度が高くないであろうことが残念です。

日本からもどんどんギーク学生やギークメンターが参加してほしいです。
こりゃ来年の夏休みの自由研究はこれに決まりですね。
ちなみに略して「GSoC」と呼ぶようです。

詳しくはこちらをご参照ください。

http://goo.gl/wLixOC (英語ページです。)

●Google Code-in
こちらは、GSoCの成功を受け、まだ大学に進学する前の若者を対象にオープンソースプロジェクトへ参加することを促進するプログラム。

参加者は、以下のタスクを完了させて、成果を競うコンテスト制度のようです。

・コードを書いたりリファクタリングする
・ドキュメントを作成/編集する
・コミュニティ管理、マーケティング、問題解決
・品質管理
・ユーザーインターフェイス

コンテスト制でありながら、評価ポイントがプログラミングだけでない点がとても実践的でいいですね。

現在オープンソースプロジェクトの抱える(と私が勝手に思っている)課題である、「コードを書く以外のリソースがおろそかになりがちであり、さらに評価されにくい」というところをカバーしているなと思いました。

いかがでしたか。

googleほどの大きな企業の取り組みでも、意外と知られていない制度が結構あったのでしょうか。

次回は他の企業のオープンソースへの取り組みを紹介したいと思います。

オープンソース geek(変人)列伝 バックナンバー