Djangoプロジェクトの組織
原則
Djangoプロジェクトは、次の3つの目標を追求するボランティアのチームによって管理されています。
- Django Webフレームワークの開発を推進し、
- Django関連ソフトウェアのエコシステムを育成し、
- Django行動規範に記載されている価値観に従ってDjangoコミュニティをリードします。
Djangoプロジェクトは法人ではありません。 非営利団体である Django Software Foundation は、Djangoプロジェクトに関連する財務上および法律上の問題を処理します。 それ以外に、Django Software Foundationは、DjangoプロジェクトがDjangoフレームワーク、そのエコシステム、およびそのコミュニティの開発を管理できるようにします。
Djangoコアチームが決定を下し、新しいメンバーを指名し、技術委員会を選出します。 理論的には意思決定力を持っていますが、実際にはできるだけまれにしか使用しないことを目的としています。 ラフコンセンサスは標準であり、正式な投票は例外です。
コアチーム
役割
コアチームは、Djangoプロジェクトを管理する信頼できるボランティアのグループです。 彼らは、プロジェクトの目標を達成するために必要な多くの役割、特に高いレベルの信頼を必要とする役割を担っています。 彼らはプロジェクトの将来を形作る決定を下します。
コアチームメンバーは、コミュニティとDjangoに依存するすべての人々を代表して、コミュニティとプロジェクトのカストディアンのロールモデルとして機能することが期待されています。
彼らは、必要に応じて、介入が必要な状況が発生するまれな機会に、オンラインディスカッションまたは公式のDjangoイベントに介入します。
彼らは、Django ProjectのWebサイト自体、Django GitHubの組織とリポジトリ、Tracバグトラッカー、メーリングリスト、IRCチャネルなどを含むDjangoProjectインフラストラクチャに対する権限を持っています。
特権
コアチームメンバーは、通常、新しいチームメンバーを指名し、技術委員会を選出するために、正式な投票に参加できます。
一部の投稿では、コミットアクセスは必要ありません。 寄稿者がチームに参加する理由に応じて、寄稿者はDjangoコードリポジトリへのコミット権限を持っている場合と持っていない場合があります。
ただし、必要が生じた場合は、チームメンバーはコアチームのメーリングリストに書き込むことでコミットアクセスを要求できます。 その人が要求を撤回するか、技術委員会が提案を拒否しない限り、アクセスは許可されます。
コミットアクセス権を持つコアチームメンバーは、「コミッター」または「コア開発者」と呼ばれます。
サーバーへのアクセスなどの他のアクセス許可は、同じプロセスを通じてサーバーを必要とするユーザーに付与されます。
メンバーシップ
Djangoチームメンバーのデモンストレーション:
- Djangoプロジェクトの哲学をよく理解している
- 建設的で役立つという確かな実績
- あらゆる形で、プロジェクトの目標への重要な貢献
- Djangoの改善に時間を割く意欲
プロジェクトが成熟するにつれて、貢献はコードをはるかに超えます。 コアチームに参加するために貢献が検討される可能性のある領域の不完全なリストを、順不同で示します。
- コミュニティ管理とアウトリーチに取り組んでいます
- メーリングリストとIRCでのサポートの提供
- チケットのトリアージ
- パッチ(コード、ドキュメント、またはテスト)の作成
- パッチ(コード、ドキュメント、またはテスト)の確認
- 設計上の決定への参加
- 特定のドメイン(セキュリティ、i18nなど)の専門知識を提供する
- 継続的インテグレーションインフラストラクチャの管理
- サーバーの管理(Webサイト、トラッカー、ドキュメントなど)
- 関連プロジェクトの維持(djangoproject.comサイト、ex-contribアプリなど)
- ビジュアルデザインの作成
コアチームメンバー専用の領域はほとんどありません。
- セキュリティレポートの確認
- パッチ(コード、ドキュメント、またはテスト)のマージ
- パッケージリリース
コアチームのメンバーシップは、Djangoプロジェクトの哲学と目標によく一致する持続的で価値のある取り組みを認めています。
これは、コアチームの投票で投じられた投票の5分の4の過半数によって付与され、技術委員会による拒否権は付与されません。
コアチームのメンバーは常に有望な貢献者を探し、プロジェクトの管理方法を教え、準備ができたらコアチームの投票に名前を提出します。 コアチームに参加したい場合は、コアチームのメンバーに個人的に連絡するか、 Django CoreMentorshipメーリングリストでガイダンスを求めることができます。
コアチームのメンバーシップに時間制限はありません。 ただし、Djangoを維持している人の数を一般の人々に合理的に知らせるために、貢献をやめたコアチームメンバーは、自分自身を「過去のチームメンバー」として宣言することをお勧めします。 2年間重要な貢献をしていない人は、このカテゴリに移動するように求められ、応答がない場合はそこに移動することがあります。 過去のチームメンバーは、投票権やコミットアクセスなどの特権を失います。
テクニカルボード
役割
テクニカルボードは、技術的な選択を行う経験豊富でアクティブなコミッターのグループです。 彼らの主な関心事は、Django WebFrameworkの品質と安定性を維持することです。
特権
技術委員会は2つの特権を保持しています。
- 他にコンセンサスが見つからない場合に主要な技術的決定を行う。 これは django-developers メーリングリストで発生します。
- コミットアクセスの許可を拒否するか、コミットアクセスを削除します。 これは
django-core
メーリングリストで発生します。
どちらの場合も、テクニカルボードは最後の手段です。 これらの問題では、それは以前の慈悲深い独裁者と同様の機能を果たします。
取締役会がこれらの特権の1つを行使したい場合、その決議について非公開の単純な多数決を行う必要があります。 定足数は完全な委員会です—各メンバーは投票するか、明示的に棄権する必要があります。 次に、取締役会は適切なメーリングリストで結果と、可能であれば理由を伝えます。 そのような決定に対する上訴はありません。
さらに、その裁量により、技術委員会は非技術的決定について助言的な立場で行動する場合があります。
メンバーシップ
テクニカルボードは、5人のコミッターからなる選出されたグループです。 彼らは経験を積むことが期待されていますが、正式な年功序列の要件はありません。
Djangoの各機能リリース後に、新しいボードが選出されます。 選挙プロセスは、退任する技術委員会によって指名された選挙管理官によって管理されます。 選挙プロセスは次のように機能します。
候補者は、テクニカルボードの申請をチームに宣伝します。
彼らはすでにコミッターでなければなりません。 技術委員会のメンバーに任期の制限はありません。
各チームメンバーは、候補者の中から0人から5人に投票できます。 候補者は、受け取った投票の総数によってランク付けされます。
同点の場合は、先にコアチームに参加した人が勝ちます。
申請と投票期間はどちらも、退任する取締役会の裁量により、1週間から2週間続きます。
組織の変更
このドキュメントの変更には、コアチームの投票で投票の5分の4の過半数が必要であり、技術委員会による拒否権は必要ありません。