Facebookのソフトウェア開発者に学ぶオープンソースとの付き合い方Computer Weekly

Facebookは、オープンソース化することを前提にソフトウェアを開発している。同社が成果物をコミュニティーに公開するメリットとは?

» 2016年07月06日 10時00分 公開
[Cliff SaranComputer Weekly]
Computer Weekly

 Facebookは、主要OSの診断ツールをオープンソースリポジトリ「GitHub」に公開した。同社がこのツールをオープンソースにしたプロセスから、他の企業がオープンソースコミュニティーに貢献し、そこから価値を生み出す方法について洞察することができる。

Computer Weekly日本語版 7月6日号無料ダウンロード

本記事は、プレミアムコンテンツ「Computer Weekly日本語版 7月6日号」(PDF)掲載記事の抄訳版です。本記事の全文は、同プレミアムコンテンツで読むことができます。

なお、同コンテンツのEPUB版およびKindle(MOBI)版も提供しています。

ボタンボタン

 オープンソースコミュニティーは、GitHubなどのリポジトリでソースコードを管理・保守する。リポジトリでは変更要請を一定期間とどめ、バージョン管理を行う。利用者はソースコードを見て、コメントを付け、変更することもできる。

 ガバナンス構造によって、ある種の相互評価を実現し、新機能についての変更や要求をメインコードベースに組み込んだり、派生物として管理したりする方式を制御する。

 これは実証済みのモデルだ。このモデルを企業に当てはめれば、ソフトウェア開発チーム間の連携やアイデアの共有が可能になり、個人や部門が自己完結してしまうサイロの解消、スキルやコード品質の向上にも効果がある。

Facebookにおけるオープンソース化

 Facebookはオープンソースに力を入れている。同社は2016年5月にアムステルダムで開催されたイベント「GitHub Satellite」で、「osquery」をオープンソースとしてリリースした。

 このツールは、SQLを使ってOSの内部動作を把握できるようする。つまり、クエリを実行してOSの動作状態を取得する。

 osqueryはFacebook社内の至る所で使用されている。Facebookの開発者ハビエル・マルコス氏は次のように話している。「クエリを実行すると、実行中のプロセスが全て一覧表示される。osqueryをオープンソースにするということは、セキュリティを確保したコミュニティーが存在するようになり、当社がそのコミュニティーを中心にビジネスを生み出していることを意味する」

 Facebookの開発者マージョリ・ポマロール氏によれば、osqueryをオープンソースにすることを常に意識していたという。「このため、Facebookだけでなく他のプラットフォームでも動作するように、コードをスケーラブルにする必要があった」

 また、オープンソースコミュニティーに参加する他の開発者が関与しやすい方法でコードをエンジニアリングすることも必要だったという。

 「利用者が自分に合うようにosqueryを調整したりコードに問題を見つけて修正したりする際、大きな障壁にならないようにコードを明瞭にしなくてはならなかった」とポマロール氏は話す。

 プロジェクトに貢献している利用者がこのツールを使ってOSの脆弱(ぜいじゃく)性を見つけた場合、公開すべき情報などの問題点についてFacebookはその利用者と話し合う必要があると同氏は補足する。

 「これは、GitHubを利用する多くのオープンソースプロジェクトとは対極の姿勢だ」

共有が品質を向上させる

 オープンソースプロジェクトは、業界全員の知識を高める。「コードを共有し、それについて話すのは楽しい」とマルコス氏は笑顔を見せる。

 コードをオープンソースにすることがFacebookの価値観だ。ポマロール氏によれば、「何かを開発するとすぐに、それをどのようにオープンソースにできるかと考えて興奮する」という。

 だが、これは純粋に他人のことだけを考えているわけではない。ポマロール氏は次のように述べる。「オープンソース開発では、開発者がサイロ化したり、似たようなソフトウェアを作ったりすることはなくなる。多くを共有することで、セキュリティや知識が高まる」

 同氏の経験によれば、オープンソースは開発者の学びに役立つという。「Wikiを読むより、他人にコードを読んでもらって改善点を指摘してもらう方がはるかに優れている」

 「GitHubなどのコミュニティーに自分のコードを公開することは、新人開発者には大きなメリットがある」

 多くの企業は、開発者を雇用する際にある程度の経験を求める。「新人ならば、インターンシップの経験はあっても、実際に働いた経験はないだろう」(ポマロール氏)

 だが、職務経歴書は書けなくても、「自分が取り組んでいるGitHubリポジトリを見せ、これまで支援したさまざまなプロジェクトを示すことができる」とポマロール氏は話す。

 とはいえ、関わった全てのプロジェクトをGitHubに投稿し、それを履歴書のように扱えると考えるのは逆効果だと同氏は考えている。

オープンソース化しないこと

 Facebookは、全てをオープンソースコミュニティーに公開しているわけではない。「Facebookのインフラに大きく依存するプロジェクトもある」とポマロール氏は話す。

 「Facebook社内にのみ適したプロジェクトや、当社が外部に対して適切なサポートを提供できないと考えるプロジェクトは、オープンソースの候補とは考えない」

 「このような場合は、コードをオープンソースにするよりも、ホワイトペーパーやブログで知識を共有するようにしている」とポマロール氏は締めくくった。

別冊Computer Weekly Microsoft Officeの落日(転載フリー版)も公開中!

圧倒的なシェアを誇るMicrosoft Officeに今、新たな障害が立ちふさがろうとしている。これまで同様、障害をはねのけるのか、ついに屈するのか。Office 2016とOffice 365 をめぐる諸問題を取り上げた記事を1つのPDFにまとめた。

※本PDFは、TechTargetジャパン会員でなくても無料でダウンロードできます。


Copyright © ITmedia, Inc. All Rights Reserved.

注目のテーマ