Facebookは世界最大のソーシャル・ネットワーキング・サイトであり、その成長を支えているのはオープンソースの力です。オープンソース・プロジェクトの責任者であるジェームス・ピアース氏は、Facebookが初めてPHPコードを書き、初めてMySQLのINSERTステートメントを使用して以来、オープンソースは同社のエンジニア文化の一部であると述べています。
Facebookは自社製品をオープンソース化しているだけでなく、社内プロジェクトもオープンソース化し、その結果をオープンソースコミュニティにフィードバックしています。常に製品をオープンソース化することで、フェイスブックは多くの優秀な開発者を惹きつけてきました。フェイスブックを支えるオープンソースの力については、「新興企業のフェイスブックがインターネット界の覇者グーグルに挑むには?
もちろん、オープンソースプロジェクトは注目度の高いものばかりではなく、チェックする価値のある小規模なプロジェクトもあります。ここでは、2013年のFacebookの小規模なオープンソースプロジェクトをいくつか紹介します。
1.xctool
Appleのxcodebuildに代わるもので、iOSとMacのプロジェクトのビルドとテストを容易にし、特に継続的インテグレーションスタイルの開発プラクティスに適しています。
xctoolは単に置き換えを行うだけでなく、次のような新しい機能を追加します:
- ビルドとテスト結果の構造化出力をサポート
- ANSIカラー出力に対応したユーザーフレンドリーなインターフェース
- より速く、並列テストのサポートにより、実行時間が2~3倍速くなります。
オープンソース契約: Apache License 2.0
2.Buck
AndroidとJavaのビルドツールで、プロジェクトの主なポイントの1つは「Androidのビルドプロセスを高速化する」ことです。マルチコアの並列処理を利用したり、リビルド時間を短縮するために未変更のモジュールを追跡したりすることで、全体的なビルド時間を短縮することを目指して理解する。
オープンソース契約: Apache License 2.0
3.Rebound
JavaアニメーションライブラリであるReboundのスプリングモデルは、現実世界の物理をアプリケーションに導入し、自然な感じのアニメーションを作成します。
オープンソースプロトコル:BSDライセンス
4.React
ユーザーインターフェイスを構築するためのJavaScriptライブラリで、現在普及しているライブラリやフレームワークと組み合わせて使用できる柔軟性があり、InstagramやFacebookなどのサイトですでに使用されています。
オープンソース契約: Apache License 2.0
Node.jsで generator 使用すると、クライアントで実行できないコードの束が生成されてしまいます。そこでFacebookチームは、Node.jsのネイティブ・ジェネレータを置き換えるRegeneratorを開発し、開発者がよりクリーンで強力なコードを書けるようにしました。
オープンソースプロトコル:BSDライセンス
6.Huxley
Pythonで開発されたWebアプリケーションのUIテストツールです。 Huxleyは、コンテンツの変更を監視し、スクリーンショットを撮り、変更が加えられた場所についてフィードバックを与えることができ、レスポンシブデザインのテストにも便利です。
オープンソース契約: Apache License 2.0
7.Presto
高速でリアルタイムのインタラクティブなデータクエリと分析のためのFacebookの分散SQLクエリエンジンであるPrestoは、CPUパフォーマンスと主要なクエリパフォーマンスの点で、Hive/MapReduceを7~10倍以上上回っています。毎日、1,000人のFacebook従業員がPrestoを使用してペタバイトのデータをスキャンし、30,000以上のクエリを実行しています。Facebookに加え、AirbnbとDropboxもPrestoを採用しています。
オープンソース契約: Apache License 2.0
8.RocksDB
RocksDBは LevelDB 組み込みキーバリューストレージライブラリをベースにしていますが、スケーラビリティの向上、マルチコアプロセッサでの動作、高速ストレージの効率的な使用、IOバインディング、インメモリ、ライトアットワンスロードのサポートが特徴です。ギークヘッドライン部分的な紹介をご覧ください。
オープンソースプロトコル:BSDライセンス
9.
Origamiを使えば、プログラミングなしでインタラクティブなデザインプロトタイプを簡単に作成できます。ヒント:Quartz Composerは、インタラクティブなインターフェイスのプロトタイプを含む、ダイナミックな視覚効果を生成するために設計されたMac用のグラフィカルプログラミングツールです。
このツールは、Retina対応、ネイティブフルスクリーン対応のビューアを提供し、イメージをドラッグすると自動的にレイヤーが追加されます。同時に、ユーザーがツールの使い方を学べるように、多くの公式サンプルが用意されています。
オープンソースプロトコル:コンテンツ