open_source0

写真拡大 (全3枚)

我々が毎日使うアプリは、大企業が提供する無料のオープンソース・プログラムで成り立っている。オープンソースに貢献し続ける彼らの目的とは?

あなたはLinkedInを利用していないかもしれない。しかしWikipedia、Tumblr、Twitterを訪れたり、Mozilla Firefoxブラウザを使って何かをする度、LinkedInのコードからの恩恵を受けている。

LinkedInのエンジニアが開発しその管理を続けているApache Kafkaメッセージ・プラットフォームは、外部の色々なサービスで実に良く採用されている。Apache Kafkaは無料のオープンソースであるため、Twitter、Tumblr、Netflix、Pinterestのような企業もこれを採用している。

大企業がどれほど頻繁に、自社のコードをオープンソース・コミュニティーに提供しているかを知ると、驚くかもしれない。大企業がオープンソース・コミュニティーにコードを提供した時点で、誰もがコードに対して助言やデバッグをしたり、GitHubのリポジトリやApache Software Foundationからコードをダウンロードして、自由に使用することができる。

しかし、企業はオープンソースからどのように利益を得るのだろうか?自社の「秘伝のレシピ」の提供に心配はないのだろうか?なぜ実際に収益性のある主力のプロダクトだけに、開発の時間を費やさないのだろうか?

私は、大企業がこのような活動を行っている理由を探るため、実際にオープンソースの主要なプレイヤー達に話を聞いてきた。

Square

ペイメント・サービスのSquareは従業員数700名程で、今回のリスト中で最も規模の小さい会社だ。しかしその会社の規模にも関わらず、オープンソースに対する貢献度は高い。

SquareのCTOボブ・リーは、同社が進める60以上のオープンソース・プロジェクトを通じて、25万行にも及ぶコードをオープンソース・コミュニティーに提供しているという。

提供しているコードの中で、最も注目されるのはPicassoだ。Picassoは画像のダウンロードとキャッシュのためのAndroid用ライブラリーで、New York Times、PayPal、OUYA、Spotifyを始め、幅広い採用実績がある。

Android端末でのPicassoデモ

「Picassoが一度画像キャッシュの問題を解決すれば、開発者達が何度も同じ問題の解決に取り組む必要がなくなります」とリーは語っている。「Picassoは活発に開発が進められているので、常に更新され改善されています」

リーによると、小規模な体制だからこそ、オープンソースがSquareにとって意味を成すのだという。多くの会社が直面する一般的な問題のために社内のリソースを大量に投入するのではなく、自社の一時的な解決策をパブリック・ドメインに公開し、外部の開発者と共同でその解決策を構築していくことに、より意味があるのだ。

「我々と同じような他の会社と、リソースを共有して投入できるこの方法は素晴らしいです」とリーは語っている。「自社製品の構築に集中でき、一般的なインフラを作るための時間を節約することができます」

Google

Googleは、このリスト中の他の会社ほどオープンソース・プロジェクトを数多く活発に進めていない分、質と規模の面で補っている。例えば、AndroidとChromeはそれぞれ1つのプロジェクトとして数えられる。しかしそれらのプラグインとアプリのための開発となると、ほとんど無限である。

Squareのリーは、Googleの開発規模が非常に大きいため、別のグループのプロジェクトの開発の流れを左右する程だと説明してくれた。Squareによる、依存性の注入(Dependency Injection:依存しているオブジェクトをプログラムの外部から注入すること)を可能とする、AndroidとJava向けのDaggerプロジェクトがその例だ。

「現在GoogleはDaggerに参加し、我々よりも多くのコードを提供しています。まるでフリーソフトを使って開発しているようです」とリーは話している。

驚異的な利益を上げているGoogleにとって、オープンソースへの貢献はリソースの獲得というよりはコミュニティー作りの目的があると、同社のオープンソースAndroidプロジェクトのコミュニケーション・マネージャー、クリストファー・カサロスは話している。Googleの「Summer of Code」(オープンソース・プロジェクトへの貢献に対して大学生に報酬を与えるイベント)は、Google単独で5000万行を超えるコードを、オープンソース・コミュニティーにもたらしている。

「Googleのミッションの1つは、できるだけ多くの人々がインターネットを利用可能にすることです」とカサロスは語っている。「AndroidやChromeのような大規模なプロジェクトが、より多くのユーザーのインターネットへのアクセスにつながるのであれば、それは我々の目的に沿っているのです」

LinkedIn

Apache Kafkaのような原動力的なデータ・インフラ計画のおかげもあり、LinkedInはおよそ80の異なるプロジェクトを通して、50万行を超えるコードをオープンソース・コミュニティーに提供している。その理由はどこにあるのか?LinkedInの主任スタッフ・エンジニア、ジェイ・クレプスによれば、多くの開発者の興味を引き、その水準を高く保つためであるという。

「優越性を促進するには、オープンに物事を進める必要があります」クレプスは語っている。「エンジニアも普通の人間なので、注目されていれば良い仕事をしたいと思うのです。逆に注目を浴びていないと、間に合わせの安っぽい社内ツールを作ることで満足してしまいます」

LinkedInが社内で使うツールはすべてオープン化され、社外の誰でも利用することができる。それが会社の事業計画に直接関係していない限り、誰もが自由にコードを調査して利用することができるのだ。

「すべてを『秘伝のレシピ』にするのは有効な戦略ではありません」とクレプスは話す。「内部的なメッセージング・ツールに、我々の競争優位性は必要ありません」

加えてこのオープンソース戦略が、優秀な技術者の採用にも有効であることが判明した。

「オープンソースは、我々が良い会社であることを対外的に証明してくれるのです」とクレプスは話している。「技術者は、すべてのコードとその貢献の様子を見ることができます。我々が採用した技術者の多くは、我々に対する質問の回答の殆どを、オープンソースから見つけることができたと話しています」

Facebook

私の同僚のマット・アセイは、最近のFacebookはLinuxを牽引してきたRedHatを凌ぐ最大のオープンソース企業だと明言している。

「Facebookは上から下までオープンソースで作られていて、それなしでは存在できない」オープンソース・ライブラリーFollyを公開した際、ソフトウェア・エンジニアのジョーダン・デロングはこう述べている。これが恐らく、同社が様々なオープンソース・ツールを提供している、恩返しともいえる行為の理由だろう。

サーバー設計はFacebookのOpen Compute Projectの1部分にすぎない

Facebookが平均的なオープンソース提供者より優れているのは、同社がデータセンター技術自体をオープンソース化している唯一の会社だということだ。Open Computeは、電源システムからサーバーに至るまで、平均的なデータセンターのコンポーネントを全て透過的にしている巨大なプロジェクトだ。

さらにFacebookは、オープンソースに最も長い期間貢献している会社のうちの1つでもある。同社は2006年12月以来、「open source ethos(オープンソース精神)」の重要性について論じている。Facebookがどれだけの行数に及ぶオープンソース・コードを寄与したかは定かではないが、4、5年しか貢献実績のない他社に比べて膨大な量であることは間違いない。

Twitter

Twitterによるオープンソースへのいくつかの貢献は非常に重要で、それらはTwitter自体をも凌ぐ規模になっている。

例えばBootstrapはもともと、Twitterが社内ツールを少しきれいに見せただけの小さなプロジェクトだった。しかし同社が2年半程前にこれをオープンソース・コミュニティーに提供して以来、大きく飛躍して利用されている。Built with BootstrapやBootstrap Expoを見れば、他の企業によるこの美化ツールの数千もの採用実績が一目瞭然だ。

「3.0のリリースの時点で、我々はBootstrapをコミュニティーに提供し、コミュニティーにコントロールさせることに決めました」Twitterのオープンソース責任者クリス・アニスクは話した。

「Bootstrapはもはや我々の支配下にはありません。Twitter以外で開発が主導されることも多いです。プロジェクトは時々、コミュニティーの中で自発的に進化し、非常に成功することがありますが、Bootstrapはまさしくこの良い例です」

アニスクは、プロジェクトが支持され自立していくのを見るのは素晴らしいことだと語っている。しかしTwitterがオープンソースに貢献する主な理由は、「未来をコントロールするため」だと語っている。そのためTwitterは最近、オープンソース・コミュニティーに、CocoaSPDYと呼ばれるHTTPリクエスト加速化プログラムを提供した。

「SPDYという成果を提供することによって、我々は業界全体がこれをサポートする方向へ導きたいと考えています。SPDYによって、全てのクライアントがウェブやTwitterをより高速化することが可能になります」と彼は言った。「SPDYは単なる企業の戦略ではなく、全てのTwitterユーザーにより良い経験をもたらすものなのです」

それぞれの会社に、オープンソースに貢献することへの異なる動機がある。しかしCocaSPDYのように、ユーザーにとって最終的な結果は変わらない。オープンソースは、我々のオンラインでの経験をより豊かにしてくれるのだ。

画像提供:opensourceway、Square、Guillaume Paumier

記事訂正:LinuxとRed Hatの関係に関する翻訳に誤りがあり、2/17 14:00に訂正いたしました。

Lauren Orsini
[原文]