|
近年、中国ではオープンソースプロジェクトを基盤としたスタートアップ企業が数多く登場し、投資家から大きな注目を集めています。一方、多くの大企業も社内プロジェクトの一部を段階的にオープンソース化し、ApacheやCNCFといった財団に寄贈することで、活気あるエコシステムの構築に成功しています。オープンソースは社会的な注目を集めています。しかし、オープンソースとは単にコードを公開するだけではありません。ライセンスの選定方法、コミュニティの運営・管理方法など、深く議論すべき課題は数多く存在します。 51CTOが主催するWOTグローバルテクノロジーイノベーションカンファレンス2022-北京において、Apacheソフトウェア財団のディレクターであるWu Sheng氏が「Apacheソフトウェア財団とプロジェクトインキュベーション」と題した基調講演を行い、Apacheソフトウェア財団に関する自身の見解を聴衆と共有しました。講演内容を以下に要約し、皆様の参考になれば幸いです。 Apacheソフトウェア財団の歴史と発展Apache Software Foundation は世界最大のオープンソース ソフトウェア財団であり、300 を超えるトップレベル プロジェクトと数十のインキュベータ プロジェクトで構成され、数十億ドル、数百億ドル相当のオープンソース ソフトウェアを世界に提供しています。 HTTP ServerはApacheの最初のソフトウェアでした。プロジェクトの継続的な発展を確実にするため、開発者たちはApache Software Foundationを設立し、HTTP Serverをその最初のプロジェクトとして提供しました。HTTP Serverの当初のフリーソフトウェアライセンスは、後によく知られるApache License 2.0へと進化しました。私たちが日々目にする多くのオープンソースソフトウェアプログラムは、実はApache Foundationから生まれたものであり、それらの相互依存関係はオープンソースそのものの素晴らしさを物語っています。 Apache OpenOfficeは、世界的に非常に大きな影響力を持つソフトウェア製品です。中国では一般的にMicrosoft Officeの方が馴染み深いですが、OpenOfficeは真の発展途上国やOfficeを購入する予算がない多くの地域にとって、Officeとほぼ同等の機能を提供します。さらに、Apache Foundation内で完全にオープンソースとして開発、配布、利用されています。 Apache 2.0 ライセンスApache 2.0 ライセンスはビジネスに優しいライセンスだと言われていますが、具体的には何を与えてくれるのでしょうか? まず、Apacheライセンスに基づいてApacheソフトウェアを改変、配布、販売することができ、再販のために名称やUIを変更することさえ可能です。ただし、Apache 2.0ライセンスを使用する場合、いくつかの側面は維持されなければなりません。まず、ソフトウェアのソースコードを他者に提供する場合、商用利用であれ二次配布であれ、それはオープンソースであることに変わりありません。したがって、Apacheソフトウェア財団から入手したソースコードに対してApacheソフトウェア財団のハイダーに付与されたすべてのライセンスは保持されなければならず、元のパッケージ名も維持されなければなりません。 第二に、プロジェクトロゴは無許可です。プロジェクトロゴと名称は商用ソフトウェアに同梱されていません。プロジェクトロゴと名称は、プロジェクトが特定のApacheプロジェクトに基づいていることを示すものであり、恣意的に使用することはできません。プロジェクトロゴを商用製品で使用する場合は、Apacheソフトウェア財団にロゴの著作権を再確認し、なぜそのようなロゴと名称が使用されているのかを説明する必要があります。標準的な表現としては、ソフトウェアがApacheソフトウェアに基づいていると表現するのが一般的です。これは比較的標準的な表現です。 最後に、ソースコードまたはバイナリを取得すると、2つのライセンスファイルがあります。1つはソースコードのルートディレクトリに、もう1つは取得したバイナリファイルにあります。ライセンスファイルで指定されている通知やその他のライセンスファイルは、二次配布バージョンまたは二次配布ソースコードにコピーする必要があります。 Apache Foundationの中立原則Apacheソフトウェア財団は、中立性を重視し、商業的な利益を一切追求しません。いかなるプロジェクトの利益増加にも、必ずしも技術的成功やいわゆるマーケティング上の成功を支援するわけでもありません。財団は中立的な立場を維持しています。ソフトウェアのユーザーにとっても開発者にとっても、財団はプロジェクトが特定のベンダーや特定の商業的利益に左右されないよう努めています。 アパッチウェイApache Wayは、Apacheソフトウェア財団がApacheプロジェクトに求める要件とガイドラインの概要を示したものです。オープンソースへの参加や、オープンソースに関連する学習を強制するものではありません。ここで言及されている実力主義、透明性、コミュニティ構築、そしてコードよりもコミュニティを重視する原則は、Apacheソフトウェア財団内でのみ推奨されています。すべてのオープンソースソフトウェアがコードよりもコミュニティを重視するとは限りません。世界中には数え切れないほどの優れたオープンソースプロジェクトがあります。Apacheソフトウェア財団の要件の一部をすべてのオープンソースプロジェクトに適用しないでください。Apache 2.0ライセンスを使用している場合でも、これは単なるライセンスの文言であるため、必ずしもこれらの要件を遵守する必要はありません。 エリートによる統治Apacheソフトウェア財団は、企業のような階層的な組織ではなく、本質的に個人を基盤とした財団組織です。Apacheソフトウェア財団のプロジェクト管理委員会は、本質的に個人化され、比較的分権化されており、各メンバーが独自の意思決定権限を有しています。Apache財団では、貢献度が高いほど尊敬を集め、人々はあなたをより信頼し、プロジェクトと財団への多大な貢献により、あなたの決定と発言力はより重視されます。これは、財団とプロジェクト内のエリートの地位を尊重する、いわゆる実力主義です。 透明透明性とは、セキュリティ、機能、イテレーションロードマップなど、あらゆるコミュニケーションが可能な限りオープンで透明であるべきであることを意味します。これは、非公開の決定であってはなりません。非公開の決定はすべて、結論と議論プロセスの要点をメーリングリストを通じて財団内で共有・公開する必要があります。プロジェクトの技術的または方向性に関する決定は、非公開の環境で行われるべきではなく、いかなる情報も追跡不可能であってはなりません。 コミュニティApache Software Foundationは、プロジェクトや個人は様々な理由で変化する可能性があると考えています。コミュニティが真に繁栄するには、継続的な参加と継続的な反復が必要です。そのため、Apache Software Foundationは貢献者の数やコミュニティの規模に注目しますが、これらの指標を数値化することは望んでいません。プロジェクトの品質は、貢献者、開発者、またはユーザーの数だけで決まるものではありません。Apache Software Foundationは、活気のあるプロジェクトの基盤として、個人の継続的な参加と貢献を最優先しています。多くのプロジェクトでは、アクティブな貢献者はほんの一握り、時には5人未満しかいません。これは、個人の英雄的行為を反映している傾向があります。Apache Software Foundationは、業界全体とサプライチェーン全体へのエリート個人の貢献を高く評価しています。 Apache Wayの役割メーカーの中立性多くの中国系プロジェクトがApacheに参加していますが、そのほとんどが単一の企業によって支えられています。Apacheソフトウェア財団を卒業した中国系プロジェクトでさえ、真の中立性を維持できていないのが現状です。これは主観的および客観的な理由の両方によるものです。中国はオープンソース環境にあまり馴染みがなく、現在、2つの企業が協力してオープンソースソフトウェアを構築することは非常に困難であり、企業レベルでの合意形成も容易ではありません。そのため、主要プロジェクトのほとんどは単一の組織によって主導され、他のベンダー、個人、または組織が支援を提供しています。しかし、財団の観点から見ると、これらのプロジェクトが依然としてトップレベルプロジェクトとして卒業し、その地位を維持しているのは、多様なユーザーベースを持っているからです。ユーザーは多様であり、単一の企業の利益のためのプロジェクトでも、単一の顧客をターゲットにしているわけでもありません。そのため、高い中立性を維持しています。ただ、中国のオープンソースソフトウェアにとって、開発における多様性の向上は比較的長期的な課題となっています。 多様性多様性は中立性の対極にあります。中立性を確保するには、より多くの人々、つまりより多くの国や地域、人種、肌の色、性別、年齢の人々の参加が必要です。多くのプロジェクトにおいて、学生が大きな貢献をしていることが分かっています。オープンソースソフトウェアを通じて、彼らは産業プロセスに精通し、学校で得た知識をこの比較的産業化されたソフトウェアシステムに応用することができます。 信頼とセキュリティオープンであることは、本質的に信頼を高める手段です。商用ソフトウェアの最も信頼性の低い側面は、そのクローズドソース性です。つまり、ソフトウェアが密かに何をしているのか分からず、コンパイルされたコードも解読が困難です。セキュリティに関して言えば、オープンソースソフトウェアにおけるCVE問題が常にニュースの見出しを飾ります。これは第一に、このようなインシデントが稀であることを意味します。第二に、ソフトウェアが広く採用され、業界に大きな影響を与えていることを意味します。例えば、log4j問題は、Javaエコシステム内のほぼすべてのアプリケーションに影響を与えました。もしこれが商用ソフトウェアであれば、インフラストラクチャのセキュリティを確保するためにこれほど多くのソリューションを提供する企業はないでしょう。現在、中国、米国、ヨーロッパを問わず、あらゆる大規模IT環境において、ますます多くの基盤ソフトウェアがオープンソースを標準機能として採用しています。これは、オープンソースベースのビジネスが、単にサービスや24時間365日の提供を販売するだけにとどまらないからです。製品のパッケージングや販売ロジックなど、その根底には多くのビジネスロジックが存在します。 オープンソースコミュニティで助けを求める方法コードよりもコミュニティ。まず第一に、それは人々の力です。第二に、オープンな議論の力です。多くの中国のエンジニアにとって、コミュニティでの議論は苦痛な経験です。私たちはポイントツーポイントのコミュニケーション、インスタントメッセージ、そして短いフレーズに慣れています。例えば、昨年のKong Summitでは、ヨーロッパから来たあるエンジニアがスケーリングを体系的に導入したいと考えていました。彼はA、B、C、Dの4つの関数を試すという議論を発表しました。彼は既に2つの関数は知っていましたが、残りの2つは知りませんでした。彼の英語で書かれた議論は、ブラウザページ全体を埋め尽くし、彼が行ったことを説明していました。 これはむしろ態度の問題です。無料で使えるものを提供するということは、サービスを提供することが期待されるということです。海外の多くのコミュニティが大規模なコミュニティを構築できるにもかかわらず、中国では大規模なコミュニティを構築するのが非常に難しい主な理由がこれです。職場でオープンソースソフトウェアのバグで叱責され、不当に扱われたと感じるかもしれません。しかし、その不満をオープンソースコミュニティにぶつけてみると、コミュニティはそうではないことに気づくでしょう。コミュニティは、提供された情報が不十分だと決めつけ、突然リクエストを却下したり、必要な支援を一切与えずにデバッグプロセスを提示し、戻ってデバッグするように指示したりするかもしれません。 オープンソースソフトウェアに参加するということは、必ずしも開発に参加することを意味するわけではありません。ユーザーとして参加する場合は、質問の仕方や、オープンソースの設計者とコミュニケーションを取り、必要なサポートを受ける方法を知っておく必要があります。 コミュニティのメンバーは単なるボランティアです。オープンソースコミュニティ、財団、そしてプロジェクトは、いかなる個人にも給与を支払いません。これが、財団がボランティア活動に基づいて運営されている理由です。したがって、個人は本質的にボランティアとして働き、自分が貢献すべきと考えるシステム、すなわちApache Software Foundation内のプロジェクトに貢献しているのです。私たちは、これらのプロジェクトが財団の実体を構成すると考えており、実際、これらのプロジェクトはオープンソースそのものを体現しているのです。 イノベーション:Apacheインキュベータープロジェクトインキュベーションの条件まず、基本的な条件を満たす必要があります。プロジェクトには初期のコミュニティが必要です。これらの初期のコミュニティメンバーは、Apache Wayの中立性、プロジェクト維持、そしてプロジェクト開発に関する理論を学び、活用する必要があります。これが背景要件です。次に、Apacheインキュベータのプロジェクト管理委員会(Apache Software Foundationのメンバー)のメンバーの中から、約1年半から2年半のインキュベーション期間を通してプロジェクトを指導し、導いてくれるメンバーを少なくとも3人見つける必要があります。彼らの支援を受け、プロジェクトチームがプロジェクトの開発に意欲的で、真摯な関心を持っている場合、徐々に成熟した強固なコミュニティへと成長し、最終的にはApacheインキュベータを卒業することになります。 プロジェクトの卒業要件まず、プロジェクトが卒業するためには、必ずしも並外れた進歩を遂げている必要はないことを理解することが重要です。卒業はプロジェクトの機能的成熟度と直接関係するものではなく、ソフトウェアの成熟度を評価する機関もありません。Apache Software Foundationは、プロジェクトの卒業資格を評価するために、以下の基準を用いています。 まず、このプロジェクトは、オープンなコミュニケーション、コラボレーション、共同構築、透明性のある議論のすべての要件を満たす必要があります。 次に、プロジェクト ソフトウェアの依存関係は Apache Software Foundation の要件に準拠しており、ライセンス チェックが実行されます。 第三に、プロジェクトのコミュニティとユーザーベースはある程度の規模である必要があります。プロジェクトに本番環境への導入を希望するエンドユーザーがいる場合、彼らは概念実証(POC)テスト、ストレステスト、そして様々な機能テストを実施し、プロジェクトが本番環境のユーザビリティ基準を満たしているかどうかを判断します。プロジェクトがこれらの企業に導入可能であり、オープンソース版の使用に同意している場合、そのプロジェクトは一定のユーザビリティを備えており、この分野のいくつかの問題を解決できるとみなされます。 これらの基本条件が満たされ、その他の手続きが完了すると、プロジェクトはApacheソフトウェア財団を卒業し、トップレベルプロジェクトになります。トップレベルプロジェクトになることは、オープンソースプロジェクトにとって終わりではなく、始まりに過ぎません。プロジェクトが卒業すれば、成熟し洗練されていると考える人が多いですが、そうではありません。卒業こそが、成熟したオープンソースシステムとプロジェクトエコシステムを構築するための真の始まりです。多くのプロジェクトは卒業後に初めて大きな成長を遂げますが、その時点で初めて、プロジェクトが単なる小規模なグループとして運営されているのではなく、オープンマインドで正式な方法でオープンソースを追求していることが人々に認識されるようになります。 結論包括性と多様性は、Apacheが繰り返し強調しているテーマです。Apacheソフトウェア財団のメンバーは、10代の若者から60代、70代の退職者まで多岐にわたり、それぞれが異なる役割を担い、それぞれの強みと興味を追求しています。まさにこれこそが、多様性の重視するところです。Apacheソフトウェア財団全体では、現在コードを書いていない人も多くいます。中には、今では非常に古いと見なされるコードを書いた人も多く、おそらくライフサイクルが既に終了したプロジェクトで書いた人もいるでしょう。しかし、その作者たちは財団内で他の活動も続けています。 Apache Software Foundationは収益を上げない非営利団体です。そのため、資金調達と寄付のプロセスが存在します。多くのグローバル企業が、インフラ、広報、そしてもちろんApacheConのようなイベントを含む、財団の日常的な運営を支えるために寄付を行っています。 |