開発者向けニュースに戻る

Metaオープンソース: 2022年のまとめ

2023年1月17日作成者:Philip Bell

2022年は世界中の多くの人にとって、人とのつながりやコミュニティのあり方が一新された年でした。このテーマは、オープンソースの影響をより浸透させるべく集結したコントリビューター、ユーザー、組織としてのMetaにおける、オープンソースへの取り組みに引き続き取り入れられました。

Metaが公表したプロジェクトは、開発者のニーズや課題(次世代AIの強化から、革新的でユーザーフレンドリーなウェブアプリやエクスペリエンスの構築まで)に対応します。一方、オープンソースコミュニティは、テクノロジーをシェアし、そのテクノロジーを基盤に共同開発するための道筋を用意します。

この投稿では、2022年におけるMetaオープンソースの注目のニュース、そしてオープンソースコミュニティの形成をMetaがどのようにサポートしたかを紹介します。また、PyTorch関連の大規模な開発、React 18のリリース、Saplingのソースコントロールクライアントの導入など、MetaおよびMetaのエンジニアによってシェアされたツールやコードに関する最新情報もお届けします。

セクションの構成:

団体への移管: オープン性、コラボレーション、リーチの強化

オープンソースは多様な視点とコントリビューションによって強化されてきました。Metaでは、既存の団体と提携し共通の目標を達成できる機会を積極的に模索しています。2022年には、Metaが発信する多くのプロジェクトが団体に移管されました。提供するオープンソースリソースをさらに普及させ、適用を推し進めるためです。

9月には、PyTorch Foundationの新規設立を通じて、AI向けPyTorchフレームワークがLinux Foundationの傘下に入りました。業界のリーダーたちが名を連ね、今後のさらなる発展が予想される委員会は、アウトリーチへの取り組みに加え、テクノロジーのビジネスや商品のマーケティングに対する管理人の役割を果たします。

2022年時点でMetaには1,034件のアクティブな(アーカイブされていない)オープンソースプロジェクトがあることを示す図。

2022年に、JestはOpenJS Foundationへの移管を開始 しました。このオープンソースプロジェクトは、最も幅広く利用されているJavaScriptテストフレームワークの1つです。団体の目標は、このプロジェクトを新規ユーザーにも利用しやすくし、新しい機能を開発することなどです。

Metaは、団体に寄贈するオープンソースプロジェクトにおけるイノベーションをさらに推進することに取り組んでいます。2022年、MetaはPresto Foundationのメンバーシップレベルを最上位までアップグレードすることで、同団体との提携を一層深めました。さらに、PrestoCon Dayおよび同団体の最初のオフラインカンファレンスであるPrestoConに出資しました。

オープンソースのアウトリーチを通じて世の中を変える

2022年10月、All Things OpenカンファレンスでのMetaオープンソースチームメンバーの集合写真。

キャプション: MetaオープンソースチームのMeta開発者アンバサダーおよびその他のメンバー。昨年10月、All Things Openにて。

Meta開発者アンバサダーおよびエンジニアは、年間を通じて影響力のあるアウトリーチの機会を模索してきました。彼らは、Metaがリリースしたオープンソースプロジェクトの知識をシェアする一方で、コミュニティのエキスパートや組織から学びました。

Meta開発者アンバサダー製作のコンテンツをチェックしましょう。

Metaオープンソースチームの開発者アンバサダーおよびメンバーは、10周年を迎えるAll Things Openに参加し、Metaオープンソースについて説明しました。イベントに先駆けて、エンジニアリングディレクターKillian Murphyが、オープンソースコントリビューターのために障害を取り除き、あらゆる人がオープンソースを利用できるようにするためのMetaの取り組みについて、意見を述べています。Metaによってオープンソース化されたテクノロジーを活用し、貢献したいと願うすべての人を迎え入れるために、Metaでは高い基準を設けるようにしています。

「オープンソースコミュニティはかつてない高まりを見せています。Metaは、オープンソースがよりインクルーシブになり、その見返りとしてより活性化される明るい未来を予想しています」(エンジニアリングディレクター、Killian Murphy)と書かれた図。

Metaオープンソースチームはまた、All Things Openのブースでクルーを務め、Meta発のプロジェクトを紹介し、これらのテクノロジーをさまざまな研究や実務で利用する開発者と交流しました。同イベントでは、開発者アンバサダーとエンジニアによる講演もありました。

2022年All Things Openにおける開発者アンバサダーチームによる講演をチェックしましょう。

Meta Linuxカーネルチームによる、現在進行中の研究開発に焦点を当てたブログ投稿。この投稿では、Linuxコミュニティへの参加方法についても紹介しています。2022年Linux Plumbers Conferenceでは、幅広いMetaカーネルチームから選ばれた11人のメンバーが講演しました。講演の一覧は、イベントのウェブサイトで確認できます。同チームはまた、カンファレンスでプレゼンを行った数名のMetaエンジニアをフィーチャーしたMeet the Developersシリーズもスタートさせ、BPFネットワークフックとMetaにおけるユーザーエクスペリエンスの概要大規模なカーネルライブパッチ、その他数多くのトピックを取り上げています。

2022年にMetaが252件の新たなオープンソースプロジェクトとリポジトリをリリースしたことを示す図。

MetaのLinuxカーネルチームは、Metaにおけるカーネルの利用が改善され、より幅広いコミュニティの健全性が強化される方向へとカーネルが進むようサポートしています。チームはアップストリームのLinuxカーネルコミュニティと密に連携し、プロジェクトにアップストリームが含まれアップストリームのカーネルから着手する構成になるようにします。

Metaオープンソースのブログでは、MLHフェローシップ受賞者Franklin PhanSamyak Mehtaの仕事に焦点を当てたHasher-Matcher-ActionerのContributor’s Storyを紹介します。Metaは、GitHubやMajor League Hackingと提携し、引き続きこのフェローシップをサポートしてゆきます。

Meta Contributor’s Storyシリーズでは、オープンソースに対するコントリビューションの成功と課題に加え、コミュニティに参加するためのベストプラクティスを紹介しています。2022年のブログ投稿をチェックしましょう。

VR/ARのオープンソースコミュニティで活気を生み出す

メタバースは人々が集い、新しい革新的な方法で交流する場となることを目指しています。すべての人に成功をもたらすメタバースを創造するには、強固なコミュニティを基盤として構築することに加え、さまざまなアイデアを取り入れることが必要です。

代々受け継がれてきた「共に築き上げる」精神があるので、オープンソースコミュニティはメタバースを形作る重要なスレッドの運営をサポートする自然な出発点となり、Metaの開発者アンバサダーはそのスレッドで情報を共有します。Navyata Bawaは、6月に開催されたGlobal Women in Tech NetworkカンファレンスでもVRによるインクルージョン育成シリーズを続行し、VR/ARでの作業の発展につれて、どうすればアクセシビリティとインクルージョンを備えたVRアプリケーションを開発できるかを調査しました。

Stack OverflowポッドキャストのエピソードMetaにおけるVR開発の疑似体験では、開発者アンバサダーマネージャCami Williamsによって、Reality LabsがReactコミュニティから学び、Reactコミュニティとの橋渡し役となった経緯が紹介されます。さらに、VR開発に着手する際に利用できるいくつかのツールやリソースについても説明しています。

「ダイバーシティは内側から築く。これは、ユーザーやプレイテスターだけでなく、開発者の間でも言えることです。そうすることが、多彩な生きたエクスペリエンスから学んで、幅広いオーディエンスを正確に表現し彼らにぴったりのアプリケーションをデザインする上で不可欠です」(Reality Labs開発者アンバサダー、Navyata Bawa)と書かれた図。

Metaでは、コミュニティの存在感を増し、VRエコシステム内部で制作を行うためのツールを提供するべく取り組んでいます。その一環として、QuestショーケースサンプルがGitHubでリリースされました。Bawaはこれらのツールを紹介するために、OculusプラットフォームSDK向けのマルチプレイヤーのVR体験の構築シリーズとUnity SharedSpacesサンプル、およびインタラクションSDK向けのチュートリアルであるVR用の直感的なインタラクションの構築First Handサンプルを作成しました。

オープンソースの夏: バーチャルリアリティの推進ブログ投稿では、Metaのこの分野における最新のイノベーションのいくつかについて取り上げ、「The Diff」エピソード14ではソフトウェアエンジニアEric Le Sauxのインタビューを特集しています。AR & VRプレイリストで、Meta開発者との最新スレッドや、この分野のチュートリアルやリソースをチェックしてください。

AI/MLの進化

2022年はPyTorchにとって重大な年となりました。研究者からクリエイターまで、あらゆる人に活用されることを目指したMeta AIのニューモデルがリリースされたのです。ここでは、MetaがAIモデルのトレーニング、最適化、導入を進化させた事例をいくつか紹介します。

PyTorchのアップデート

(Linux Foundation傘下の) PyTorch Foundationへの移管後、12月にニューオリンズで開催されたPyTorchカンファレンスにおいて、PyTorch 2.0がお披露目されました。このカンファレンスでは、2022年度にPyTorchとそのコミュニティが達成した成長に関する数字が報告されました。AI研究導入の63%でPyTorchの利用が選択されています。また、GitHubデータによると、PyTorchを利用しているGitHubリポジトリの数は、前年度に比べて45%上昇しています。

PyTorch 2.0では、ユーザーに親しまれてきたPyTorchの使い勝手はそのままに、長年の研究の成果が結集されてコンパイラーのパフォーマンスが向上しています。アップデートの例として、torch.compileを1行加えることによる高速化、後方互換性の100%確保、すべてPythonのコンパイラーなどがあります。

Meta開発者アンバサダーおよびコントリビューターが制作した、2022年のPyTorchコンテンツに関する詳細情報をチェックしましょう。

Meta AIモデルが新たなマイルストーンを達成

モデルトレーニングと最適化フレームワークを利用すれば、人々のスキルを補完する形で現実世界のタスクを請け負うことができるAIモデルを作成できます。この相互関係は、話す人がわずかしかいない言語も含めて、数百もの言語をAIモデルが学習できる言語翻訳の分野で実証されています。2022年、Meta AIにNo Language Left Behind AIモデルが導入されました。このモデルでは、200種類もの言語を翻訳し最高水準の翻訳結果が得られます。また、評価データセットや個別のオープンソースデータコードも提供されます。このようなオープンソースへの取り組みを通じてモデルが改善され、重要なドキュメントを翻訳したり、リソースがあまりない言語でも翻訳を行えたりするようになります。

2022年、公共のMetaリポジトリに186,210件のコミットが行われ、そのうち159,723件が社内、26,487件が社外であったことを示す図。

MetaオープンソースによるCICEROは、複雑な自然言語戦略のゲームDiplomacyにおいて、ヒューマンレベルのパフォーマンスを達成した初のAIエージェントです。* 言語モデルと計画および補強学習アルゴリズムの統合によって、CICEROはプレイヤーのモチベーションに関して理由付けと戦略化を実施する能力を獲得し、言語を使って、共通の目標を達成し、フォームを連携し、プランを調整するための合意に達することができるようになりました。AIやオープンソースには、他にもここでは取り上げない数多くの出来事がありました。Meta AIブログで、AI関連のストーリーをさらに詳しくチェックできます。

2022年におけるMeta AIのその他の進化をチェックしましょう。

* Diplomacyのすべての権限はHasbro, Inc.が所有しています。

ウェブ/モバイルにおけるReact 18およびその他のアップデート

Jest OpenJS Foundationへの移管を開始したニュースに加え、8月にはJest 29がリリースされました。このプロジェクトはこの年の下半期に、GitHubで40,000を超える星評価を獲得しました。ウェブおよびモバイルにおけるもう1つの主な出来事として、公共のReact 18ワーキンググループの支援により実現したReact 18のリリースが挙げられます。このリリースには、並行レンダリングのアップデート、追加の機能とサポートAPIが含まれます。Effectsのドキュメントクイックスタートなど、リリースに伴いアップデートされたReactドキュメント(ベータ版)をご確認ください。

9月には、MetaのReactテクノロジーチームが、中心的なコントリビューターやライブラリ保守担当者と共に React Nativeコアコントリビューターサミットに集いました。このサミットでは、現在から未来に至るReact NativeおよびMetroのエコシステムについてディスカッションし、参加者はReact Nativeエコシステムの改善に取り組む意欲を新たにしました。

2022年にMetaオープンソースプロジェクトに携わったコントリビューターは合計で7,353人。そのうちの3,727人が社内、3,626人が社外のコントリビューターであったことを示す図。

数あるウェブおよびモバイル向けのMetaオープンソースプロジェクトの中でも、特筆すべきなのがJs-flipperです。これは、JavaScriptアプリからFlipperクライアントにアクセスできるようにするNPMパッケージであり、開発者はこれを使って簡単に新しいFlipperプラグインを作成したり、既存のFlipperプラグインを再利用したりできます。メモリーリークを自動検出するJavaScriptメモリーテストを提供するMemLabプロジェクトもあります。

最後に、Meta開発者はオープンソースのウェブおよびモバイルテクノロジーをどのように何の目的で開発するかについて意見を交換しました。あるブログ投稿では、Hermesのバグレポートについて調査しました。このレポートがきっかけで、対応チームは1993年バージョンの Doom Hermes内部で実行する裏技をプログラミングすることになったのです。さらに、新しいChromiumベースのウェブビューにも注目です。こちらは、Android向けFacebookのアプリ内ブラウザーのエクスペリエンスを向上します。

Meet the Developers: Mobile Editionシリーズをチェックしましょう。

開発者ツール: ソースコントロール、ドキュメンテーションツール、その他の進化

Metaの開発者は、インフラをサポートするためにMeta社内で開発されたオープンソースツールを利用しています。これらのツールはMetaにおける日々の業務の中で頻繁にテストされ、改善が加えられました。その成果が、スケールとスピード特有の課題を克服するオープンソースプロジェクトです。

2022年、 Saplingチームは、Git互換の新しいソースコントロールクライアントを導入しました。Saplingは、使いやすさとスケールに配慮したソースコントロールシステムです。Metaの開発者が10年以上にも渡って磨き上げてきたコンテンツをシェアし、この分野のより多くの仕事にインスピレーションを与え、開発者にソースコントロールシステムの未来の可能性を示すことを目的としています。8月には、高性能な静的サイトジェネレーターDocusaurus 2.0がリリースされました。このリリースでは、Reactの使用と、ドキュメントを超えたウェブサイトのサポートが強化されました。

「2022年、MetaオープンソースはGitHubでさらに133,854もの星を獲得。合計で1,563,562人のファンから支持を得ました」と書かれた図。

プロジェクトのアップデートには、他にもAndroid向けの新しいデッドロック検知機能Cinderでのlazyインポートの追加、次世代OpenStreetMapエディターRapiD 2.0のプレビューなどがあります。もう1つのプロジェクト、Hermitでは、 実質的に決定論的なオペレーティングシステムを導入しました。開発者は問題をフレーキーテストのように解決し、スレッドスケジューリング、乱数生成、その他数多くの暗黙的な入力をコントロールできるようになります。

公開された投稿の中で幅広くシェアされたものの1つが、Meta開発者ツールが開発者のワークフローの一部として連動する仕組みです。こうしたツールの多くはオープンソースです。これには、Buckビルドシステム、SuperConsole、EdenFS (Saplingと密接に連携されたファイルシステム)、Jestテストフレームワーク、およびその他のツールのプロジェクトが含まれています。

2022年の開発者ツールについて詳しく説明するその他の記事やリリースを探す

データ: Velox、Presto、RocksDBのアップデート

2022年8月に、オープンソースC++ライブラリのVeloxが発表されました。Veloxの特徴は、データエンジンのエネルギー削減とパフォーマンス向上において進化している点です。このライブラリはネイティブ実行を利用し、1つに統合された実行エンジンレイヤーとして、Metaの多くのツールと連携しています。

Veloxの目的はコードの保守を大幅に軽減することであり、さまざまな活用事例において、パフォーマンスが2倍から10倍に拡大しています。Veloxの成長を続けるコミュニティや、ビッグデータエンジンとデータベースがデータクエリを実行する仕組みの革新的なリファクタリングについて詳しくは、VLDB 2022で公開された資料、Velox: Metaの統合された実行エンジンをご覧ください。

過去1年間だけでもGitHubのPrestoオープンソースプロジェクトは21のリリースを実施し、2,000に迫る数の新しい星を獲得しました。新たに加わったフォークは600件、コントリビューターは152名です。Presto Foundationは、最初のオフラインイベントPrestoConを、カリフォルニア州マウンテンビューのコンピューター歴史博物館で開催しました。TSC取締役のTim Meehan氏が基調講演を行い、Philip Bellが2023年のPrestoの方向性を発表しました。

12月には、メンローパークにあるMetaの本部での毎年恒例のオフライン会合をRocksDBチームが復活させました。Metaのエンジニアと社外のコラボレーターが集結し、活用事例、新たなイノベーション、プロジェクトの展望について話し合いました。

セキュリティとハードウェア

セキュリティとハードウェアは、開発者の作業をサポートする上で重要な役割を担います。デバッグツールからネットワークハードウェアに至るまで、Metaのオープンソースはシステムとコードの堅牢さ、安全性、信頼性の確保を支えます。

2022年初頭、 Pyre-checkプロジェクトに属するPython静的分析ツール、Pysaに取り組んだコントリビューターのストーリーがシェアされました。このストーリーでは、健全なオープンソースコミュニティを形成することが、Pysaのようなプロジェクトの成功(この事例における成功はコードの安全性の強化)にいかに直結しているかにスポットが当てられています。

ハードウェアに関しては、Metaのネットワークとデータセンター全体にPrecision Time Protocolが導入されました。このテクノロジーによって、分散システムのクロック同期の正確度と精度がレベルアップしました。プロトコルのサポートを目的としたハードウェアとソフトウェアがいずれもオープンコンピュータープロジェクトと組み合わされて、業界での普及を後押しするためにオープンソース化されました

2022年、MetaはWhatsAppやMessengerのような製品内部でのオープンソース化作業に引き続き取り組んできました。3月にオープンソース化されたCode Verifyは、WhatsAppウェブやMessengerで、ウェブページ上のコードが改ざんや変更されていないかどうかを可視化することによって、開発者がコードの整合性を保護できるようにするブラウザー拡張機能です。

オープンソースコミュニティへの謝辞

この投稿で紹介したのは、1,000件を超えるMetaオープンソースプロジェクトおよび2022年に実施されたそのアップデートのほんの一部です。これらのオープンソースプロジェクトの詳細をチェックするには、Metaオープンソースのウェブサイトにアクセスして、FacebookInstagramTwitterLinkedInをフォローしてください。オープンソースプロジェクトでMetaにご協力いただいたコントリビューター、ユーザー、組織、パートナーのコミュニティに心より感謝いたします。

Metaは、オープンソースが世界のイノベーションをスピードアップするという信念を抱いています。Metaが目指しているのは、自社のコード、スタック、さらにはハードウェアのデザインをシェアすることで業界を活性化する一方、Metaのソリューションを使ってよりスピーディーに規模を拡大し素晴らしいプロダクトを開発する機会を他社や個人開発者に提供することです。

この投稿は、Meta開発者アンバサダーDmitry Vinnik、Suraj Subramanian、Cami Williamsと共同で執筆しました。