ガバナンス¶
コアチームの働き者たちは、BeeWareという巣箱を動かすために数多くの責任を担っています。これは進化を続けるプロジェクトであるため、このページは変更される可能性があります。
これには、問題への対応、コードのレビューとマージ、新規貢献者への指導、BeeWareプロジェクト全体のアーキテクチャなどが含まれますが、これらに限定されるものではありません。
コードに関する決定を任せる人々がいる。コードと組織に関する決定を任せる人々がいる。そして組織全体のビジョンを導き、コミュニティが合意に至れない場合に最終決定を下すことを託された人物がいる。
チームの年功序列¶
BeeWareプロジェクトにおける異なるレベルのシニアリティは以下の通りです:
蜂、または働き蜂¶
BeeWareコミュニティのあらゆるメンバー。GitHub上でオープンに作業しているため、誰でもコードへの変更を提案でき、自身のコードをマージできます。貢献する能力に対する唯一の制限は、マージ権限を持つチームメンバーによって作業がマージされることです。
養蜂家¶
信頼できる貢献者として認められたビー。これらのビーは、一定期間にわたりBeeWareプロジェクトの特定分野において能力を発揮してきました。技術面(JavaScript、Python、Objective-Cの専門知識;GTK+、macOSの知識)でも、その他の面(コミュニティ管理、コードレビュー)でも可能です。養蜂家は、自身の専門性が認められたプロジェクトにおいてコミット権限を持つ場合もあります。
上級養蜂家¶
GitHubで高権限を持つ養蜂家であり、プロジェクト全体を監督する追加の責任を負う。アーキテクチャ上の決定を下す権限を持つが、最終的にはBDFNに報告する。
現時点での蜂の独裁者(BDFN)¶
[終身善意独裁者](BDFN)の概念に基づき、プロジェクトの方向性と決定に関する責任は最終的にBDFNが負います。「終身」ではなく「現時点」という表現を用いたのは、Djangoの理念である「コアメンテナの責任を個人の自然寿命全体に課さない」ことに由来します。 オープンソースの外にも人生は存在し、コードと生活のバランス、そして全般的な幸福は常に心に留めておくべき非常に重要なことです。
BeeWareのBDFNはラッセル・キース=マギーです。
創始養蜂家¶
丘の上に初めて立ち、毛刈りが必要なヤクを見つけた男。この役割は決して変わらず、無限に続く。しかし、組織内で追加の権限が本質的に付与されるわけではない。現時点では、創設養蜂家(Founding Apiarist)がBDFN(Best Damn F***ing Nerd)も兼任しているが、これは時間の経過と共に変わる可能性がある。
ガイドライン(実際の規則ではない)¶
コミット権限を持つメンバーが複数いるプロジェクトでは、チームが従うべき一般的なガイドラインがいくつか存在します:
- プロジェクトを広くコミュニティに適切に代表する存在となること
- BeeWareプロジェクトへのあらゆる問い合わせや貢献を敬意をもって扱うこと
- たとえ言葉遣いが適切でなくとも、誰もが善意を持っていると仮定せよ
- 誰かが何かを「間違った」方法でやった場合、それは我々がプロセスを伝えることに失敗したためだと仮定する
- 怒りや不満の表現は、すべてBeeWareツール/ライブラリを活用したいという純粋な思いから来ていると仮定する
- コミュニティの他のメンバーに対し、BeeWare・コミュニティ内外を問わず、自らのコミュニケーションにおいてこれらの理念を反映するよう促す
- 養蜂家は自身のコードをコミットすべきではない
- 例外: 「何かが深刻に壊れており、今すぐ修正が必要だ」
- 例外: BDFN(将来変更される可能性があります)
- コアチームメンバーがレビューのために提出したすべてのコードは、別のチームメンバーによってレビューされるべきである
- 例外: BDFN(将来変更される可能性があります)
- すべてのコードはマージされる前に継続的インテグレーションテストを通過すべきである
- 例外: 欠陥があると認識されているが、他の理由でコミットする必要があるコード
- 例外: CI テストが不十分なリポジトリ内のコード
- 例外:完璧でなくとも、働き、献身的な方が良い
- 受入プロセスは可能な限り自動化すべきである
- これはテスト、リンティング、スペルチェック、カバレッジなどを意味します
養蜂家になること¶
チームへの新たなApiaristの導入は、既存のコアチームの単独の裁量に委ねられています。現時点ではこれに関する確固たる規則は存在しませんが、一般的に、BeeWareプロジェクトへの確かな貢献を示した人物がApiaristとして招待されます。 また、既存チームに不足している特定の専門知識(例:iOS/macOS)を持つ人物にも適用されます。コミット数に基づく必要もありません。プロジェクト全体に対する強い関心を示せる人物であれば、誰でもプロジェクトへのコミット許可を申請できます。
新規養蜂家全員は、プロジェクトの核心的価値観と指針について「導入」(適切な言葉が見つからないため)されます。核心的価値観の概要はAboutページでご確認いただけます。チームに参加する者は、これらの価値観を遵守し、時間の経過とともに価値観を進化させる議論に貢献することが求められます。
養蜂家であれば、新米であろうとベテランであろうと、何か一つのことを単独で維持管理することを求められているわけではありません。多くの養蜂家が存在し、さらに多くの支援者や助言者、指導者が存在します。
コミットビット?¶
Unixシステムでは、ファイル内の1ビットがファイルの実行権限を示すために使用される。ソース管理システムにおいても、コードをマージする権限を示す同様のビットが存在する。誰かが「コミット権限」を持っていると言う場合、それはその人物がコードベースへの書き込みアクセス権を持っていることを意味する。GitHubの用語で言えば、プルリクエストをマージし、プロジェクトに直接コードをコミットする権限を有していることを指す。