なぜこれほど多くの世界的な最重要オープンソース プロジェクトがLinux Foundationに集まるのか?それはコミュニティに付加価値のあるサービスをスケールして提供できるから。
はじめに
1991年4月、ヘルシンキ大学の学部生だったLinus Torvaldsは、無料のオペレーティング システムを作成する個人プロジェクトを開始しました。そしてその年の8月、comp.os.minixニュースグループでこのプロジェクトを発表し、機能に関するフィードバックを求めました。
その後はご存じのとおりです。過去30年間で、Linuxカーネルとそれを取り巻くユーザースペース ツール群は、世界で最もポピュラーなオープンソース オペレーティング システムになりました。
注目度、複雑さ、スコープ、プロジェクト貢献者数などが増大するにつれ、Linuxカーネル プロジェクトには、コミュニティの規模に合わせて拡張するための技術、管理、および法的な基盤が必要になりました。その結果、2000年にLinux FoundationがOpen Source Development Labとして設立されました(その後 Linux Foundationに改名)。
この非営利組織の目的は、「Linuxなどのオープンソース ソフトウェアやテクノロジーを支援、促進、保護、および標準化する」ことです。
図 1. Linux Foundationがホストするプロジェクト コミュニティは2013年から2019年の間に劇的に増加
Linux Foundationは、設立当初、Linuxという一プロジェクトの促進と保護に重点を置いていました。
2010年頃までに、Linuxオペレーティング システムに関連する10前後のプロジェクトがLinux Foundationでホストされました。これらのプロジェクトが結成された目的は、Linuxをエンタープライズ コンピューティングのあらゆるカテゴリの市場で首位のプラットフォームとなるように進化させ、新しい分野や業界に参入できるようにすることでした。
今日、Linuxが業界リーダーであることは明白ですが、常にそうだったわけではありません。Linux Foundation設立当初は、Linuxは高性能コンピューティング (HPC) 分野でわずかな市場シェアを占めていたに過ぎません。しかし2020年現在、Linuxはスーパーコンピューター市場をほぼ独占し、20年前には全HPCシステムの85%が使用していたUNIXと完全に入れ替わりました。
この20年間にわたるLinux Foundationのコミュニティの取り組みにより、Linuxは現在、自動車、組み込みシステム、モバイルデバイス、クラウド コンピューティングなどの分野においても過半数のシェアを占めています。
Linuxはすべての主要な分野で常に優位な基盤であったことから、Linux Foundationは、開発者、コミュニティ、およびメンバーがLFの同じモデルをLinux以外の技術に活用できるようにする「foundation of foundations(ファウンデーションの中のファウンデーション) 」になろうとしました。過去7年間、Linux Foundationがサポートする新しいプロジェクト コミュニティは劇的に増加し、現在の225からなお増え続けています。GitHubに2300万のオープン リポジトリがある世界ではその数字は小さいように見えますが、Linux Foundationのプロジェクトはクラウド コンピューティング、ネットワーク、組み込みシステム、映画、エネルギーなど数十億ドル規模の経済の中核にあります。
Linux Foundation設立20周年を迎え、同組織がオープンソース イノベーションのサポートにどのように取り組んでいるのかを考える良い機会だと思います。
世界で最も重要なオープンソース ソフトウェア コミュニティをサポートするためのスケーリング
この20年間で、Linux Foundation はオープンソース コミュニティが持つ資産の管理・サポート・有効化・保護を行うための重要な共有拠点になりました。これには、まずコミュニティに盤石なガバナンス モデルを構築し、つづいて付加価値のあるサポート プログラムを構築してスケールしなければ実現できなかったはずです。その設計目標は、ダウンストリームの商用ソリューション プロバイダーやユーザー向けに最高のアップストリーム コミュニティ モデルを構築することでした。
2020年2月現在、Linux Foundationは、さまざまな業界に広がる約230のプロジェクト コミュニティの拠点となっています。Linux Foundationコミュニティは、中核となるLinux OSのほかにも、クラウド、ネットワーク、セキュリティ、自動車、ブロックチェーン、Web、さらには映画向けのオープンソース ソフトウェア テクノロジーを構築しています。また、ソフトウェアだけではなく、RISC-V、OpenPower、CHIPS Allianceなどのオープン ハードウェア コミュニティもサポートしています。
Linux Foundationのコミュニティはさらに進み、業界の仕様や標準も作成しました。Joint Development Foundation (JDF) は、GraphQL、ビデオ コーデック、分散型アイデンティティなどの技術仕様の多くの拠点です。また、JDFは現在ISO JTC1 PAS Submitterとして承認されており、これはLinux Foundationのコミュニティが国際標準になり得ることを意味します。
これらの各プロジェクトには、関連付けられたコミュニティ資産があります。
コミュニティ資産に含まれているもの:
- プロジェクト コミュニティの要請を受けて貢献団体が署名した12,000を超える CLA (Contributor License Agreements : コントリビューター ライセンス契約)
- 700以上の登録済みプロジェクトドメインとDNSレコード
- 700件以上の商標登録と出願、および数百の未登録商標
- 3,400以上のソースコード リポジトリ
- コミュニティをサポートする約3,000のメンバーシップ契約
これらのコミュニティの多くは、プロジェクトに関与している企業からの財政支援を求め、プロジェクトをサポートするための資金調達も行っています。Linux Foundationは、企業が依存するプロジェクト コミュニティを簡単にサポートできるプロセス、テンプレート、契約などを提供し、プロジェクトをサポートしています。
また、コミュニティ自体を主催するだけでなく、有名なオープンソース ブランドを特集したさまざまなオープンソース イベント (KubeCon、KVM Forum、Cloud Foundry Summit、OpenJS World、Open Source Summitなど) も主催しています。
なぜ多くのプロジェクトがLinux Foundationを選ぶのか
最終的に、オープンソース ソフトウェア プロジェクトの目的は、最高のオープンソース ソフトウェアを作り出すことです。とても明白で簡単なようですが、実際には、小規模なオープンソース プロジェクトの管理にもかなりのオーバーヘッドが生じます。リード メンテナーが一般的に負担に対処する必要があり、コミュニティが大きくなるにつれ問題はより複雑になります。
GitHubやGitLabなどのサイトで現在入手可能な無料のツールを使って、新しいオープンソース プロジェクトを開始するのは簡単です。しかし、基本的なリポジトリを持つだけではなく、プロジェクト コミュニティが中立的な所有権を構築したいとか、企業から寄付を受けたいなどと思うと、とたんにオーバーヘッドが増加します。そしてメンテナーは、以下のような、予想もしなかった問題に対処することになります。
- 法的組織の準備(これに何か月もの作業や法的費用がかかる可能性がある)、およびその組織や関連する申請書類などの継続的なメンテナンス
- 銀行口座、小切手、会計システム、給与システムの設定、および福利厚生管理とスタッフの雇用
- スポンサー企業に対する契約書署名依頼
- スポンサー企業とサプライヤーとして設定されるための書類やフォームへの記入
- 請求書、発注書、調達部門への対処
- 利害関係者に資金の流れを把握してもらうための財務報告プロセスの準備
プロジェクトがシンプルなホスティング インフラストラクチャを卒業したら、法的な課税状況、ロゴ、商標、ライセンス契約を確立し、その他の財務的、法的、およびその他の管理上のニーズに対処するための継続的な書類業務が必要になります。複雑さが増すと、プロジェクト メンテナーは自分の得意分野である「コードを書いて次のリリースを出す」ことに集中したくなります。ほとんどのメンテナーは、非営利組織の設立、経理の管理、調達部門への対応を行うエキスパートになることを望んでいません。
この領域こそ、Linux Foundationのような組織が、低オーバーヘッド モデルで開発者コミュニティに多大な支援とサポートを提供できる分野です。このようなコア資産の多くを準備するための労力やコストは膨大になるため、Linux Foundationは主要なオープンソース イニシアチブによって選ばれ、彼らの拠点としての役割を果たしています。また、信頼できる方法でこれらの資産をホストできる中立性レベルを実現し、世界的に存在感のある評価が高い組織はほとんど存在しません。もし多く存在すれば、利害関係のある企業からの影響を受けずに済むでしょう。
図2: Linux Foundationがプロジェクト コミュニティを支援するために開発したサポート プログラムのポートフォリオ
Linux Foundationへのコミュニティの関心は、以下のような包括的なサポートプログラムにあると考えられます。
- メンバーシップ モデルを通じて資金援助を提供し、クラウド ファンディングで一元的な貢献を確保し、法的組織、財務監督、規制書類などの複雑な管理をそれらの管理に専念できる経験豊かな専門家に任せる。
- 企業の反トラスト ポリシー、商標ポリシー、行動規範のテンプレートなど、組織が連携するための既知のフレームワークの基本方針を提供する。
- 継続的にプロジェクトを促進および指導するために、リーダーシップやコミュニティ サポート要員の採用など、コミュニティが相互作用できるコアな管理サポート基盤を維持するための組織管理を提供する。
- 直接対話の機会を実現するコミュニティ イベントをサポートする。また、プロジェクトのコミュニティ参加者を拡大し、人々が貢献対象のプロジェクトを学ぶのを支援するためのマーケティングやコミュニケーション サポートを行う。
- メンテナーをサポートする中立的なリリース エンジニアを雇用し、ソフトウェア リリースの管理負荷を軽減する。
- CommunityBridge プラットフォームを提供し、資金調達、メンタリング、セキュリティ脆弱性スキャン、およびCLA管理の共通課題に対処する。
- スキルあるプロフェッショナルによるエコシステムを構築できるトレーニングやプロフェッショナル認定サポートを提供することにより、プロジェクトの技術をベースにしたソリューションの使用、実装、および管理を支援する。
- 公式リリースがダウンストリームユーザーに問題を広める前に、コミュニティがライセンスやセキュリティの問題を特定できるように、プロジェクト リポジトリの定期スキャンによるライセンス コンプライアンス・エクスポート制御・セキュリティなどをサポートする。
オープン コミュニティ向けのLinux Foundationモデル
オープンソースコミュニティとThe Linux Foundationの取り組みは、以下に示す5つの大原則をベースにオープン コラボレーションのための信頼ある”foundation as a service”モデルを構築することに焦点を当てています。
- 組織の中立性:いかなる単一の企業や組織も、プロジェクトを中心に形成されるコミュニティの資産を「奪取する」ことはできません。中立的な所有者であるため、そのインターネット ドメイン、オンライン サービス アカウント、商標などのコア資産が、利害関係のある営利団体の手に渡ることはありません。Linux Foundationは資産を「所有」しますが、そのガバナンスモデルを通じてどのように資産を使用するかを決定するのは、コミュニティです。
- 資金調達と参加の明確な分離:また、Linux Foundationがホストするオープンソース プロジェクトへの組織の開発者の参加は、資金援助とは完全に独立しています。組織は経済的にコミュニティをサポートできますが、他のすべての参加者と同様、コードベースへの貢献なくして技術的な方向性を導くことはできません。たとえば、財政支援をすることで、コミッターを指名したり、プロジェクトの機能を提供したり、プロジェクトの優先順位を決める権利を与えられることはありません。これらの作業はすべてオープン ガバナンス モデルを通じて行われます。
- オープン ガバナンス:成功するオープン コラボレーション プロジェクトには中立で明確なガバナンス モデルがあり、作業を行う人が意思決定を行います。Linux Foundationは、”do-ocracy (行動重視主義)” モデルの提供に努めています。これは、責任は意思決定者によって選出または選択された人々でなく、作業する人々にあるという考え方です。 私たちのプロジェクトは透過的に運営されており、コミュニティは実用的な技術コミュニティを作成するための独自の運用ガイドラインを作成しています。
- 知的財産の明確化:知的財産のライセンスに関する不確実性を除去することで、Linux Foundationがサポートするプロジェクトは、開発者が貢献しやすく、エンドユーザーが実装しやすいものになります。Linux Foundationは主要な利害関係者と連携して、コラボレーションの基盤となる知的財産条項を理解し文書化します。貢献者は、オープンソース ライセンスや、プロジェクトの貢献者ライセンス契約(CLA)の条件の下で、貢献したコードの個々の所有権を保持します。
- 商業的サポート エコシステム:開発者は、自分が取り組んでいるプロジェクトが製品やソリューションに反映されることを望みます(ユーザーが存在することは素晴らしいことです)。Linux Foundationは、プロジェクトへの商業的関与を奨励しています。これは、コミュニティにさらなる利益を生み出します。企業で働く開発者から新しい貢献を得て、ユースケースや機能を拡張し、ユーザー要件のガイドを助ける機会が得られます。わたしたちのコミュニティでは、プロジェクト貢献者の雇用機会が増えます。この商業的サポート エコシステムは、イベントを実行するための費用を負担したり、開発基盤のための支払いをしたり、ドキュメントやその他のニーズを支援する人々を提供したりして、プロジェクトを支援します。
まとめ
Linux Foundationは、プロジェクトが日常のソフトウェア開発業務に集中できるようにしつつ、必然的な法的・財政的管理を大規模に提供できる経験豊富な専門家により管理上のオーバーヘッドを管理できるようにします。
過去20年間と最近の7年間にわたるLinux Foundationの成長は、付加価値のあるサポートプログラムが持つ多様性によるものでしょう。これはさまざまな組織の技術的貢献を可能にするユニークな特色です。Linux Foundationは、ソフトウェア、ハードウェア設計、標準、オープン データなどあらゆる貢献を対象に、テンプレート、モデル、およびベストプラクティスを開発してオープン コミュニティ モデルをサポートしています。
中立性、透過的なガバナンス、知的財産の明確さ、活気ある商業サポート エコシステムの育成というコアの原則をLinux Foundationが遵守することにより、全世界が日々依存している技術を開発している革新的なコミュニティとの連携が実現しています。これは素晴らしい「機会と責任」です。次のオープン コミュニティ プロジェクトで、ぜひわたしたちと連携してください。