xz のハッキングのような脅威を軽減するために実際に何ができるか?
今週、底深さと巧妙さにおいて前代未聞のハッキングが発見され、ソフトウェア開発のエコシステム全体が衝撃を受けました。しかもその手口は驚くほどシンプルだったのです。悪用された脆弱性の核をなしていたのは、人気の高いオープンソースライブラリを管理する人たちの人間性と疲労でした。メンテナーは、オープンソースコミュニティにおいて最も重要で、しかも再生するのが困難なリソースです。
このように影響が広く深刻な脆弱性が発生するのに至った過程において、何が間違っていたのか、あるいは間違った方向に進まざるを得なかったのかについて、すべての原因の完全かつ最終的な調査結果が明らかになるまでしばらく時間がかかることは間違いありません。しかし、きわめて重要なライブラリが、リソース不足にもかかわらず、非常に多岐にわたる責任を負わされている少人数のチームによって管理されていたことが、この状況の根本的な原因であることはすでに明らかです。私たちは、このような状況をよく認識しています。実際、オープンソースの世界のほとんどで同じ状況が発生しているのです。
私たちはこの問題を解決する必要があります。そうしない限り、世界でどのような技術的、あるいはプロセスに関するソリューションが生まれても、状況は改善できません。この業界において Fastly は (まだ) 1兆ドル規模の巨大組織ではなく、今後そのような巨大企業がより大規模かつ意欲的な方法でこの問題を完全に解決してくれるかもしれません。とは言え、誰もが自分たちにできることをするべきであり、Fastly もこのようなエクスプロイトや脆弱性のリスク削減に向けた取り組みを強化していきます。
そして、このような課題にこれまで取り組んできた実績が、Fastly の強いコミットメントを実証しています。
役に立てる形でサポートする
これまでに非常に高い人気を博してきたオープンソースプロジェクトの責任者を多数含む、大勢のオープンソースプロジェクトのメンテナー達と私たちはやり取りをしています。彼らが使用するコードの言語や住んでいる国、対象コミュニティ、貢献しているスタックの部分にかかわらず、何度も繰り返し共通して指摘される重要なポイントがいくつかあります。
重要なオープンソースプロジェクトを管理するために非常に大きな感情コストと個人的な犠牲を払っている。
このようなメンテナンス作業をしている人たちの多くが、巨大なテクノロジー企業に勤務していないどころか、自身のオープンソースプロジェクトに時間を捧げられるよう、大企業で働いていれば得られたはずの収入をあきらめる道をあえて選んでいる。
否定的なコメントや不親切な態度、深夜に及ぶオープンソースに関する予定外の作業などにより疲弊することがあっても、正当なバグレポートや善意のあるコントリビューターによる意図しないミスは疲労の原因ではない。
親切な言葉や、たまにプロジェクトをサポートするキャンペーンを実施するためにコミュニティが努力してくれることは意味深く、ありがたく思う一方、感謝されることのない日常作業によって毎日身をすり減らしていることが原因の疲弊からの回復にはほとんど役立たない。
そこで私たちは、オープンソース、すなわちオープンなインターネットの実現に取り組んでいる人たちの生活を大幅に改善するために、自分たちのスキルと Fastly のプラットフォームを使用して何ができるかを考えました。繰り返しになりますが、目的はオープンソースを実現している人たちをサポートすることにあります。そうすることで、あらゆることが可能になります。
これは一般論として聞こえがいいですが、実践するには何が必要でしょうか? 以下は、Fastly のオープンソースプログラム「Fast Forward」を作成し、サポートするうえで私たちが実践しているシンプルな原則です。
まず重要なのは、姿を見せることです。私たちはオープンソースのメンテナーたちに話しかけ、彼らとつながり、彼らと共にコミュニティに参加することに努めています。私たちはオープンなコミュニケーションチャンネルと、困難に直面した際に誰もが頼ることのできる (金銭的な取引のない) 関係を構築しています。
プルリクエストに対応します。私たちは、自分たちが利用し、サポートするプロジェクトに時間を割き、コードの作成に貢献します。Fastly では、参加するオープンコミュニティの善良な市民となることが許可されているだけではなく、むしろ奨励されていることを組織のスタッフ全員が理解するように努めています。
最後に、オープンソースへの構造的なサポートを約束する実質的かつドキュメント化された経済的コミットメントを提供します。「予算を教えてくれれば、あなたにとって何が大切なのかがわかる」という名言がありますが、ここでもそれが当てはまります。Fastly の場合、オープンソースプロジェクトに対する直接的なプラットフォームによるサポートの予算は5,000万 USD で、これは公にコミットされています。そして、Fastly によるサポートはこれで終わりではなく、むしろこれは始まりにすぎません。
Fastly のサポートは実際にはどのようなものなのでしょうか? Fastly の Fast Forward プログラムを率いる Hannah Aubry が、先日開催された Rust Nation カンファレンスで行った基調講演をご覧ください。
また、Rust Foundation の Joel Marcey 氏は、同団体の重要な取り組みに対する Fastly のサポートについて、次のようにコメントしています。「Fastly とのパートナーシップは、未来に向けて Rust の成長とサステナビリティを促進するものです。」 私たちは、すべてのオープンソースプロジェクトが、このようなレベルのサポートと安定性を実感できることを望んでいます。
今後について
これまでの取り組みはすべて始まりにすぎません。オープンソースエコシステムのサポートに向けて私たちがしなければならない大きな努力のほんの一部です。特にオープンソースエコシステムの成長を可能にする人たちに対するサポートが欠かせません。今後も私たちの取り組みについて発信し続けますが、今現在デリバリーのスケーリングやインフラストラクチャのセキュリティに不安があるオープンソースプロジェクトを管理しているメンテナーの方は、ぜひご連絡ください。Fastly の Fast Forward プログラムのメンバーシップがお役に立てるかどうか検討いたします。