
ガバナンスの詳細についてはこちらのApacheスタイルのガバナンスをご覧ください。
Apacheコミュニティ開発プロジェクトは、新規参入者がASFでの活動方法を理解するのに役立ちます。
このページでは、Apacheソフトウェア財団について知りたいと思っていたすべてのことに対する概要を説明します。メンバーシップとコミッターシップの違い、意思決定の方法、選挙の実施方法、インフラストラクチャの構成方法、理事会の役割、PMCとは何か、インキュベーターの背後にある理念、ASFが長年にわたる新しいプロジェクトや貢献者の驚異的な増加にどのように対処しているかなど、ASFの舞台裏をご覧ください。
Apacheソフトウェア財団(ASF)は、米国で設立された501(c)3非営利公益団体です。主に以下の目的のために1999年に設立されました。
ハードウェア、通信、およびビジネスインフラストラクチャを提供することにより、オープンで共同作業によるソフトウェア開発プロジェクトの基盤を提供する
企業や個人がリソースを寄付し、それらのリソースが公共の利益のために使用されることを保証できる独立した法人を作成する
個々のボランティアが、財団のプロジェクトに対する訴訟から保護される手段を提供する
ソフトウェア製品に適用される「Apache」ブランドが他の組織によって悪用されるのを防ぐ
これらは事実ですが、どのようにしてこれらが実現したのか、そしてそれは実際には何を意味するのでしょうか?歴史を少し振り返る必要があります。
LinuxカーネルやPerl/Python言語のようなオープンソースライセンスの下での他のソフトウェア開発活動とは異なり、Apache Webサーバーは単一の開発者によって開始されたわけではありません。共通の関心を持つ多様な人々のグループが、情報、ソフトウェアの修正、および提案を交換しながらプロジェクトを開発しました。
グループがNCSAバージョンから離れて独自のソフトウェアバージョンを開発し始めると、より多くの人々が引き付けられ、最初は小さなパッチや提案を送信したり、メーリングリストのメールに返信したり、後に重要な貢献をすることで支援を始めました。
グループが、ある人物が開発コミュニティの一員となるに値する「功績」を「獲得」したと感じたとき、彼らはコードリポジトリへの直接アクセスを許可し、グループを成長させ、プログラムを開発し、ソフトウェアをより効果的に保守および開発する能力を高めました。
私たちは、この基本原則を「実力主義」:功績による統治と呼んでいます。
権力が希少で保守的な資源である他の状況とは異なり、Apacheグループでは新規参入者は地位を奪いたい人ではなく、助けたいボランティアと見なされていたため、このプロセスは摩擦を生じることなく非常にうまく拡張できました。
限られた、したがって貴重な資源(お金、エネルギー、時間)が危機に瀕していないため、グループは新しい人々が参加して支援してくれることを喜んでいました。彼らは、関心を表明した人々を選別し、仕事に十分に取り組んでおり、特に意見の相違がある場合に、他の人と良好に協力するために必要な人間の態度に合致していると信じている人々を見つけ、含めました。
ASFの構造を説明した後、実力主義がさまざまな役割にどのように関連しているかを見ていきます。
Apache Webサーバーは、その技術的なメリットとプロジェクトを支えるコミュニティのオープン性との相乗効果により、市場シェアと人気が高まるにつれて、人々はサテライトプロジェクトを作成し始めました。彼らが慣れ親しんでいたコミュニティの精神の影響を受け、彼らはコミュニティ管理の同じ伝統を採用しました。
ASFが設立されるまでに、「Webサービス」問題のさまざまな側面に焦点を当てた、それぞれ独立したコミュニティがいくつかありましたが、すべて共通の目標と、エチケットとプロセスの両方の文化的伝統の尊重によって結ばれていました。
これらの別々のコミュニティは「プロジェクト」と呼ばれ、類似してはいましたが、それぞれに特別な違いがありました。
摩擦を減らし、多様性を emergenceさせるために、トップダウンで単一文化を強制するのではなく、ASFはプロジェクトをApacheの世界の中央意思決定組織として指定しています。各プロジェクトは、ソフトウェアの開発に対する権限を持ち、独自の技術憲章と独自の統治規則を設計する上で大きな自由度を持っています。
同時に、元のApacheグループの文化的影響は強く、後で説明するように、さまざまなコミュニティ間の類似点は明らかです。
財団は、以下の組織によって運営されています。
理事会(board)は財団を統治し、メンバーで構成されています。
プロジェクト管理委員会(PMC)はプロジェクトを統治し、コミッターで構成されています。(すべてのPMCメンバーは、定義上、コミッターでもあります。)
理事会によって任命された、特定の分野(法律、ブランド、資金調達など)で財団全体のポリシーを設定する、さまざまな役員
詳細については、ガバナンスの概要をご覧ください。
理事会は、財団の規約に従って、法人の業務と affairsの管理と監督を担当します。これには、企業資産(資金、知的財産、商標、およびサポート機器)の管理と、プロジェクトへの企業リソースの割り当てが含まれます。
ただし、各ApacheプロジェクトのPMCは、プロジェクトの内容と方向性に関する技術的な意思決定権限を持っています。
理事会は現在、財団のメンバーによって選出された9人の個人で構成されています。規約では、財団が持つべき理事会のメンバー数は指定されていませんが、これは最初の理事会のメンバー数であり、変更されていません。理事会は毎年選出されます。
理事会のウェブサイトには、詳細情報、現理事のリスト、会議のスケジュール、過去の会議の議事録が掲載されています。
理事会は、1つ以上の特定のコミュニティの積極的な管理を担当するプロジェクト管理委員会(PMC)を設立します。
各PMCには、議長に指定されるASFの少なくとも1人の役員が含まれ、ASFの1人以上の他のメンバーが含まれる場合があります。
理事会はPMCの議長を任命し、議長はASFの役員(副社長)にもなります。議長は理事会に対して主要な責任を負い、PMC自体の構成を含め、PMCが責任を負うコミュニティの日常管理のための規則と手順を確立する権限を持っています。PMCの議長の役割と、議長が役員である理由についての詳細をご覧ください。
ASF規約(セクション6.3)は、PMCと議長の地位を定義しています。いくつかのメールが明確にするのに役立ちます:こちらとこちら。
財団の観点からのPMCの役割は監督です。PMCの主な役割はコードやコーディングではなく、コミュニティがすべての法的問題に対処し、定められた手順に従い、各リリースがコミュニティ全体の産物であることを確認することです。これは、訴訟保護メカニズムの鍵となります。
PMCの2番目の役割は、コミュニティ全体の長期的な発展と健全性を促進し、バランスの取れた広範なピアレビューとコラボレーションが行われるようにすることです。ASF内では、レビューなしで事実上作業している少数の個人を中心に展開しているコミュニティを懸念しています。私たちは、これがコードと長期的な社会構造の両方の品質、安定性、および堅牢性に悪影響を及ぼすと考えています。
私たちは帽子をしっかりと信じています。ASFでのあなたの役割は、あなた個人に割り当てられたものであり、仲間によってあなたに与えられます。それはあなたの仕事や現在の雇用主や会社に関連付けられていません。
ただし、PMCのメンバーはより高い基準に保持されます。PMC、特に議長はASF理事会の目と耳であるため、法的監督を提供するためにあなたに頼り、信頼する必要があります。
理事会は、いつでも決議によってPMCを終了できます。
Apache開発者情報ページには、PMCの仕組みの詳細が記載されています。すべてのApacheプロジェクトの完全なリストも入手可能です。
Apacheソフトウェア財団の役員は、財団の日常業務を監督します。理事会はこれらの役員を選出します。
実力主義は、通常、個々のApacheプロジェクトコミュニティ内でさまざまな役割を持っています。
ユーザー | 開発者 | コミッター | PMCメンバー | PMC議長 | ASFメンバー
ユーザーとは、私たちのソフトウェアを使用する人のことです。彼らは、バグレポートや機能提案という形で開発者にフィードバックを提供することにより、Apacheプロジェクトに貢献します。ユーザーは、メーリングリストやユーザーサポートフォーラムで他のユーザーを支援することにより、Apacheコミュニティに参加します。
開発者とは、コードまたはドキュメントの形でプロジェクトに貢献するユーザーです。彼らはプロジェクトへの参加にさらに一歩踏み込み、開発者メーリングリストで活発に活動し、議論に参加し、パッチ、ドキュメント、提案、批判を提供します。開発者は、コントリビューターとも呼ばれます。
コミッターとは、コードリポジトリへの書き込みアクセス権を持ち、署名済みのコントリビューターライセンス契約(CLA)を提出している開発者です。彼らはapache.orgのメールアドレスを持っています。コードやドキュメントにパッチを適用するために他の人に頼る必要がなく、プロジェクトの短期的な決定を実際に行っています。PMCは(暗黙のうちにさえ)変更に同意し、永続的に承認するか、拒否することができます。PMCが決定を下すのであり、個々のコミッターではないことを忘れないでください。
PMCメンバーとは、プロジェクトの発展への功績により選出されたコミッターです。彼らは、コードリポジトリへの書き込みアクセス権、apache.orgのメールアドレス、コミュニティ関連の決定に投票する権利、および他のアクティブなコントリビューターをコミッターに推薦する権利を持っています。PMC全体がプロジェクトを管理するエンティティであり、他に誰もいません。特に、PMCは、プロジェクトのソフトウェア製品の正式リリースを承認するために投票する必要があります。
理事会は、PMCメンバーの中からPMCの議長を任命します。PMC全体がプロジェクトを管理および主導するエンティティです。議長は、理事会とプロジェクトの間のインターフェースです。PMC議長には特定の職務があります。
ASFメンバーとは、現在のメンバーによって推薦され、財団の発展と進歩への功績により選出された人物です。メンバーは、通常はプロジェクト関連およびプロジェクト横断的な活動を通じて、ASF自体に関心を持っています。法律的には、メンバーは財団の「株主」、つまり所有者の1人です。彼らは、理事会を選出し、理事会選挙の候補者となり、コミッターをメンバーシップに推薦する権利を持っています。また、新しいプロジェクトをインキュベーションに提案する権利もあります(これが何を意味するかは後で説明します)。メンバーは、メーリングリストと年次総会を通じて活動を調整します。 Apacheメンバーの完全なリストがあります。
Apacheプロジェクトは、協調的でコンセンサスに基づくプロセスを使用して管理されます。階層構造はありません。むしろ、さまざまなグループのコントリビューターが組織内で異なる権利と責任を持っています。
任命されたPMCは独自の自治規則を作成する権限を持っているため、PMCがプロジェクトを運営し、主導するコミュニティを育成する方法について、単一のビジョンはありません。
同時に、いくつかの違いはありますが、すべてのASFプロジェクトに共通する多くの類似点があります
コミュニケーションはメーリングリストを介して行われます。これらは、会話が非同期的に行われる「仮想会議室」であり、多くのタイムゾーンに分散しているグループ(通常、Apacheコミュニティの場合)の一般的な要件です。
一部のプロジェクトでは、より同期的メッセージング(IRCやインスタントメッセージングなど)も使用しています。音声コミュニケーションは、通常、コストと言語の壁(音声は書かれたテキストよりも理解するのが難しい)のために非常にまれです。
一般に、非同期通信は、アーカイブの作成を可能にし、さまざまなコミュニティのボランティアの性質に対してより寛容であるため、重要です。
各プロジェクトは、独自のプロジェクトWebサイトを担当します。コミッター、開発者、およびPMCを支援するための詳細情報は、ASFインフラストラクチャで入手できます。
プロジェクトは通常、自主的に管理され、仕事にボランティアする人々によって推進されます。これは、「do-ocracy」、つまり実行する者の力と呼ばれることもあります。これはほとんどの場合うまく機能します。
調整が必要な場合、プロジェクトは怠惰なコンセンサスアプローチで決定を下します。否定的投票なしで少数の肯定的投票があれば、開始するのに十分です。
投票は数による
+1 -- 賛成票
0 -- 棄権、意見なし
-1 -- 反対票
規則では、反対票を登録するPMCメンバーは、代替案または反対票の理由の詳細な説明を含める必要があります。
コミュニティはその後、問題を解決できる代替案についてコンセンサスを得ようとします。大多数の場合、反対票につながる懸念事項に対処できます。
このプロセスは「コンセンサスギャザリング」と呼ばれ、健全なコミュニティの非常に重要な指標と考えています。
特定のケースには、より詳細な投票規則があります。
公式なリストはありませんが、人々はしばしば、財団の背後にある中核となる信念として、しばしば「Apache Way」と呼ばれるこれらの6つの原則を挙げています。
共同ソフトウェア開発
商業に優しい標準ライセンス
一貫して高品質のソフトウェア
敬意を払い、正直で、技術に基づいた相互作用
標準の忠実な実装
必須機能としてのセキュリティ
すべてのASFプロジェクトはこれらの原則を共有しています。同様に、Apacheプロジェクトは、過度の商業的影響を受けずに独自に管理する必要があります。
ASFプロジェクトのすべての参加者はボランティアであり、誰も(メンバーや役員でさえ)財団から直接仕事をするために支払われていません。プロジェクトに取り組むために給与が支払われているコミッターの例はたくさんありますが、財団自体から支払われることはありません。むしろ、ソフトウェアを使用し、それを強化または維持したい企業または機関が給与を提供します。
ASFは、会計、報道およびメディア関係、インフラストラクチャシステム管理など、さまざまなサービスを外部委託しています。
理事会、役員、コミッター、メンバーを含むASFのすべては、個人として参加しています。それはASFの強みの1つです。個人的な所属は、その人の貢献を曇らせることはありません。
ASF参加者が特に別段の定めをしていない限り、メーリングリストに投稿するものはすべて*彼ら自身として*行われます。それは個人の視点であり、個人的な立場であり、たまたま給与を支払っている企業の代弁者ではなく、ASFのディレクターでさえないのです。
すべてのASF参加者は、暗黙のうちに複数の立場を持っており、特に理事会、役員、PMC議長はそうです。彼らは時々、ポリシーの問題について話す必要があるため、個人的な意見を表明しているように見えないように、特別な立場で話していると述べます。ただし、ほとんどの場合、これは必要ありません。個人的な意見はうまくいきます。
メールに特別なフッターを使用して自分の立場を宣言する人もいれば、発言を特別な引用符で囲む人もいれば、そうでなければ個人的なメールアドレスを使用するapache.orgのメールアドレスを使用する人もいます。多くの人が常にapache.orgアドレスを使用しているため、この最後の方法は信頼できません。
私たちは可能な限り多くの議論を公の場で行うよう努めています。これは開放性を促し、公記録を提供し、より広いコミュニティを刺激します。
ただし、内部のプライベートメーリングリストが必要になる場合があります。リストの明示的な許可なしに、そのようなリストからの情報を公開してはなりません。また、プライベートリストとパブリックリストの間でメールをコピーしないでください(Ccなし)。そのようなイベントは、メールのエチケットの通常の必要性を超えており、重大な機密情報の侵害となります。深刻な影響を及ぼし、不必要な混乱と情報に基づかない議論を引き起こす可能性があります。
プライベートリストは通常、個人としての個人に関する事項(新しいコミッターへの投票など)や、機密性を必要とする法的問題にのみ使用されます。
ASFにはオフィスや建物がありません。その唯一の物理的な存在は、運用を可能にする技術インフラストラクチャとスタッフです。
「Infra」として知られるASFインフラストラクチャチームは、ASFとそのプロジェクトが機能し、繁栄するのに役立つサービスをサポートしています。詳細はこちら。
新しいプロジェクトを支援および奨励するために、ASFは、新しい取り組みが財団に参加するのを支援するためのインキュベーターを作成しました。
メリットクラシーのルールはASF全体で下から上に適用されるため、この形式の政府の長期的な安定性のために、プロジェクトの最初のコミッターのセットがそのようなシステムのダイナミクスを非常によく理解し、ASFがプロジェクトに期待するコラボレーションとオープン性に対する同じ哲学的態度を共有することが不可欠です。
インキュベーターは、次の役割を担います。
新しいプロジェクトまたはサブプロジェクトの作成に関する提案のフィルタリング
新しいプロジェクトとその運用に必要なインフラストラクチャの作成を支援する
オープンでメリットクラシーな環境を作成するのを支援するために、インキュベートされたコミュニティを監督および指導する
インキュベートされたプロジェクトの成熟度を評価し、公式プロジェクト/サブプロジェクトステータスに昇格させるか、失敗した場合は廃止するかを決定する
インキュベーター(理事会と同様)は、技術的な問題に基づいてフィルタリングを実行しません。財団は、さまざまな技術的アプローチを尊重し、サポートしています。イノベーションや、機能が重複するプロジェクト間の内部対立を恐れていません。
インキュベーターは、プロジェクトが成功する実力主義のコミュニティになる可能性に基づいてプロジェクトをフィルタリングします。インキュベーションの基本的な要件は以下のとおりです。
動作するコードベース -- 長年にわたり、何度かの失敗を経て、財団は初期の動作するコードベースがなければ、一般的にコミュニティを立ち上げるのが難しいことを理解しました。これは、動作するコードベースがないと、開発者によって実力が十分に認識されないためです。また、初期設計段階で発生する可能性のある摩擦は、コミュニティを分断する可能性があります。
ソフトウェアに対する十分な知的財産権をASFに譲渡する意思 -- これにより、財団は、自身またはユーザーのロックインを恐れることなく、コードを再配布および作業するための取消不能かつ永続的な権利を取得できます。同時に、元の著者は著作権を保持できます。
スポンサーとなるASFメンバーまたは役員 -- この人物は、プロジェクトに指示を与え、日々の詳細を支援し、インキュベーターPMCとの連絡を維持する、主要なメンターとして機能します。
インキュベーション期間は通常、プロジェクトがコミッターベースの多様性を高め、財団の実力主義のルール内で活動できるかどうかを評価するために使用されます。
達成するのはかなり簡単に見えるかもしれませんが、ボランティアで非常に選択的な環境では、新しいコミッターを引き付けることは自動的ではありません。
コミッターの多様性は、主に2つの理由で重要です。
プロジェクトの開発に長期的な安定性をもたらします。実際、すべての開発者が同じエンティティに所属している場合、全員が同時にプロジェクトから離れる可能性は、無関係のエンティティに所属する個人のコミュニティよりもはるかに高くなります。
より多様な技術ビジョンを提供します。これは、環境とユーザーのニーズへのより良い適合性を保証し、したがって、ソフトウェアの実際の使用法を見つける可能性が高くなります。
インキュベーターに加えて、財団には他にもいくつかの財団横断的なプロジェクトがあります。たとえば、ASFにはオフィスや建物がありません。インターネット上にのみ存在する仮想エンティティであり、インフラストラクチャチームが、その運用を可能にする技術インフラストラクチャを管理しています。
これらおよびその他の財団横断的なプロジェクトの詳細については、財団プロジェクトページをご覧ください。
ASFは、財団全体のメーリングリストもいくつかホストしています。詳細については、メーリングリストページをご覧ください。
ASFは、構造と柔軟性のバランスを見出したオープンな組織の最良の例の1つです。私たちは200人のコミッターから約3000人に成長し、その数は日々増え続けています。市場をリードするソフトウェア製品を作成することができました。また、オープン性と経済的な実現可能性のバランスを見つけることができました。これにより、Apacheソフトウェアの個人ユーザーと多国籍企業の両方から尊敬を集めています。私たちは、企業、政府、教育プログラム、その他のソフトウェア財団にインスピレーションを提供し続けたいと考えています。