ガバナンス

ガバナンス

このドキュメントは、プロジェクトの規則とガバナンスを記述しています。プロジェクトの開発者全員とPrometheusコミュニティが従うことを意図しています。このガバナンスドキュメントで使用される一般的な用語は以下の通りです。

  • チームメンバー: プライベートのprometheus-team Googleグループのメンバー。

  • メンテナー: メンテナーは、個々のプロジェクトまたはその一部を主導します (MAINTAINERS.md)。

  • プロジェクト: PrometheusのGitHub組織内の単一のリポジトリを指します。

  • Prometheusプロジェクト: このガバナンスの下で、1つまたは複数のリポジトリまたはコミュニティに関連して行われるすべての活動の総称。

価値

Prometheusの開発者とコミュニティは、CNCF憲章、およびCNCF行動規範に定義されている価値観に従うことが期待されています。さらに、Prometheusコミュニティは、親切さ、効果的なフィードバックの提供、そして歓迎される環境の構築に努めています。Prometheusの開発者は、一般的に合意によって決定し、合意が得られない場合にのみ多数決による紛争解決に頼ります。

プロジェクト

各プロジェクトには、少なくとも1人のメンテナーを持つMAINTAINERS.mdファイルが必要です。プロジェクトにリリースプロセスがある場合、アクセスとドキュメントは、複数人がリリースを実行できるようにする必要があります。リリースはprometheus-usersメーリングリストで発表されるべきです。新しいプロジェクトはすべて、以下の投票手順に従って、まず開発者メーリングリストで提案されるべきです。プロジェクトがもはや関連性がない場合、prometheus-junkyard GitHub組織に移動されるべきです。

意思決定

チームメンバー

チームメンバーのステータスは、少なくとも3ヶ月間Prometheusプロジェクトに継続的に貢献してきた者に与えられる場合があります。これは通常、コードの改善やドキュメントに関する注目すべき作業の形で行われますが、イベントの企画やユーザーサポートも考慮される場合があります。

新しいメンバーは、既存のメンバーからprometheus-teamへのメールで提案することができます。新しいメンバーの受け入れについて合意に達することが非常に望ましいです。ただし、最終的には正式な絶対多数決によって提案が採決されます。

新しいメンバーの提案が承認された場合、提案されたチームメンバーには、チームメンバーシップの受け入れを確認または拒否するために、プライベートに電子メールで連絡が取られます。この電子メールは、記録保持のためにprometheus-teamにもCCされます。

彼らが受け入れることを選択した場合、オンボーディングの手順が実行されます。

チームメンバーは、チームにメールで通知することでいつでも退職できます。

チームメンバーは、チームメーリングリストでの絶対多数決によって削除される場合があります。この投票では、当該メンバーは投票資格がなく、定足数にも含まれません。いかなる削除投票も1人の個人にのみ適用されます。

メンバーの死亡時には、自動的にチームを離れます。

メンバーが脱退した場合、オフボーディング手順が適用されます。

現在のチームメンバーは以下の通りです。

以前のメンバー

  • Brian Brazil
  • Conor Broderick
  • Fabian Reinartz
  • Jessica Grebenschikov
  • Krasi Georgiev
  • Matt Layher
  • Steve Durrheimer
  • Stuart Nelson

このガバナンスドキュメントと正式なチームメンバーシップが作成される前に、Prometheusは多くの非公開の個人から多大な貢献を受けていました。

メンテナー

メンテナーは1つまたは複数のプロジェクト、またはその一部を主導し、そのプロジェクトの貢献者間の紛争解決の窓口を務めます。理想的には、メンテナーはチームメンバーでもありますが、何らかの理由でまだチームメンバーではない適切なメンテナーについては例外も可能です。

メンテナシップの変更は、開発者メーリングリストで発表されなければなりません。変更は暗黙の合意によって決定され、それぞれのリポジトリのMAINTAINERS.mdファイルを変更することによって正式化されます。

メンテナーには、GitHub組織内のすべてのプロジェクトへのコミット権が付与されます。

メンテナーまたはコミッターは、チームメーリングリストに通知することで辞任できます。1年間プロジェクト活動がないメンテナーは辞任したとみなされます。辞任を希望するメンテナーは、プロジェクトを引き継ぐ別のチームメンバーを提案することが推奨されます。

プロジェクトには複数のメンテナーがいても構いませんが、その責任は彼らの間で明確に合意されている必要があります。これには、どの問題やプルリクエストを誰が担当するかを調整することも含まれます。

技術的な意思決定

単一のプロジェクトにのみ影響する技術的な決定は、そのプロジェクトのメンテナーによって非公式に行われ、暗黙の合意が前提となります。Prometheusプロジェクトの複数の部分にまたがる技術的な決定は、Prometheus開発者メーリングリストで議論され、決定されるべきです。

決定は通常、暗黙の合意によって行われます。合意に達しない場合、問題は多数決によって解決される場合があります。

ガバナンスの変更

この文書に対する重要な変更は、開発者メーリングリストで公に議論されます。いかなる変更も、賛成票が絶対多数を必要とします。編集上の変更は、異議がない限り暗黙の合意によって行われる場合があります。

編集上の変更

編集上の変更とは、スペルや文法の修正、職務上の所属の更新、その他これらに類するもので、スタイルを更新したり、外部の明白な現実を反映したりする変更のことです。これらは、この文書の意図や意味を変更するものではありません。これらはPRを介して行われ、暗黙の合意によって承認される必要があります。

その他の事項

財政事項を含むがこれに限定されない、決定が必要な事項は、必要と判断した場合、いずれかのメンバーが投票に付すことができます。財政、プライベート、または人事事項については、チームメーリングリストで議論と投票が行われ、その他の場合は開発者メーリングリストで議論と投票が行われます。

投票

Prometheusプロジェクトは通常、非公式な合意に基づいて運営されますが、時には正式な決定が必要となる場合があります。

上記に示されているように、議題に応じて異なる投票方法が使用されます。

すべての投票において、投票期間は少なくとも1週間開かれなければなりません。投票終了日は、投票の呼びかけで明確に述べられるべきです。十分な票が一方向に集まり、それ以上の票が最終決定を変えられない場合、投票は早めに呼びかけられ、終了される場合があります。

すべての場合において、チームメンバー全員が投票資格を持ち、チームメンバーの強制的な解任の場合のみ、当該メンバーは投票資格を持ちません。

人事事項(チームメンバーシップおよびメンテナシップを含むがこれに限定されない)に関する議論および投票は、チームメーリングリストで非公開で行われます。その他のすべての議論および投票は、開発者メーリングリストで公開で行われます。

公開討論では、関心のある人は誰でも参加することが奨励されます。異議または投票の正式な権限は、チームメンバーに限定されます。

合意

Prometheusプロジェクトのデフォルトの意思決定メカニズムは、暗黙の合意です。これは、技術的な問題に関するいかなる決定も、誰も異議を唱えない限り、チームによって支持されていると見なされることを意味します。

合意決定に対する沈黙は暗黙の合意であり、明示的な合意と同等です。明示的な合意は任意で表明することができます。決定は、いつでも誰でも開発者メーリングリストで呼びかけ、決定に付議することができますが、その必要はありません。

合意による決定は、以前の明示的な投票の精神を覆したり、それに反したりすることは決してできません。

いずれかのチームメンバーが異議を申し立てた場合、チームメンバーは関係者全員が受け入れられる解決策を協力して模索します。この解決策も、暗黙の合意の対象となります。

合意が得られず、いずれかの方法で決定を下す必要がある場合、任意のチームメンバーが正式な多数決投票を呼びかけることができます。

多数決投票

多数決投票は、適切なメーリングリスト上の別のスレッドで明示的に呼びかける必要があります。件名には[VOTE]という接頭辞を付ける必要があります。本文では、投票に付される提案を明記し、これに至るまでの議論を参照する必要があります。

投票は、賛成または反対に投票する選択肢を持つ単一の提案の形式を取ることも、複数の代替案の形式を取ることもできます。

単一の提案に対する投票は、賛成票が反対票よりも多い場合に成功とみなされます。

複数の選択肢がある場合、メンバーは1つ以上の選択肢に投票するか、すべての選択肢に反対するために「反対」票を投じることができます。「棄権」票を投じることはできません。複数の選択肢に対する投票は、最も多くの賛成票を獲得し、投票者の過半数からの票を獲得した場合に、その選択肢が決定されたとみなされます。いずれの選択肢もこの定足数に達しない場合、選択肢の数を減らした別の投票が別途呼び出される場合があります。

絶対多数決投票

絶対多数決投票は、適切なメーリングリスト上の別のスレッドで明示的に呼びかける必要があります。件名には[VOTE]という接頭辞を付ける必要があります。本文では、投票に付される提案を明記し、これに至るまでの議論を参照する必要があります。

投票は、賛成または反対に投票する選択肢を持つ単一の提案の形式を取ることも、複数の代替案の形式を取ることもできます。

単一の提案に対する投票は、投票資格のある者の少なくとも3分の2が賛成票を投じた場合に成功とみなされます。

複数の選択肢がある場合、メンバーは1つ以上の選択肢に投票するか、すべての選択肢に反対するために「反対」票を投じることができます。複数の選択肢に対する投票は、最も多くの賛成票を獲得し、投票資格のある者の少なくとも3分の2からの票を獲得した場合に、その選択肢が決定されたとみなされます。いずれの選択肢もこの定足数に達しない場合、選択肢の数を減らした別の投票が別途呼び出される場合があります。

オンボーディング/オフボーディング

オンボーディング/オフボーディングセクションは情報提供を目的としており、異議がない限り暗黙の合意によって変更できます。合意が得られない場合、問題は多数決投票によって解決される場合があります。

オンボーディング

新しいメンバーは

  • チームメンバーのリストに追加されます。理想的には、自身のPRを送信するか、少なくともそのPRを承認することによって行われます。
  • 既存のチームメンバーによって、開発者メーリングリストで発表されます。理想的には、新しいメンバーがこのスレッドに返信し、チームメンバーシップを承認することです。
  • GitHub組織オーナーとして追加されます。
  • オプションとして、コミュニティ、ジャンクヤード、および関連する組織やリポジトリに追加されます。
  • チームメーリングリストに追加されます。
  • prometheus.io GSuiteアカウントに、新しいメンバーが選択したユーザー名で追加されます。(最も重要なのは、これにより<chosen-username>@prometheus.ioメールアドレスが付与され、チームのGDriveおよびカレンダーへのアクセスが提供されることです。新しいメンバーは、後者を自身のカレンダーリストに追加する必要があります。)
  • CNCFに通知されます。
  • 共有パスワードストレージへのアクセスが許可されます。

オフボーディング

元メンバーは

  • チームメンバーのリストから削除されます。理想的には、自身のPRを送信するか、少なくともそのPRを承認することによって行われます。強制削除の場合、承認は不要です。
  • GitHub組織および関連する組織やリポジトリから削除されます。チームが同意すれば、1つまたは複数のリポジトリのメンテナシップを保持することも可能です。
  • チームメーリングリストから削除され、その他のメーリングリスト、例えば開発者ユーザー、および告知の通常のメンバーに降格されます。
  • CNCFに削除されたことが告知されます。CNCFからの削除の再確認を明示的に要求します。
  • 共有パスワードストレージから削除されます。すべてのパスワード、APIトークンなどは、適切な時期に(つまり、自主的でない退職の場合は直ちに、それ以外の場合は他の退職または定期的な更新と適切に一括して)更新されます。
  • 該当する場合、グループアカウントから削除されます。グループアカウントの種類があるサービスには、Digital Ocean、DockerHub、GSuite、Netlify、Twitter (Tweetdeck経由)、Youtubeが含まれますが、これらに限定されません。
  • もはや自らを現役のチームメンバーと呼ぶこと、またはそのように示唆することは許可されません。
  • 希望する場合、以前のメンバーのリストに追加されます。

必要に応じて、削除を公に発表する権利を留保します。

FAQ

FAQセクションは情報提供を目的としており、異議がない限り暗黙の合意によって変更できます。合意が得られない場合、問題は多数決投票によって解決される場合があります。

どのように決定を提案しますか?

開発者メーリングリストに提案をメールで送信します。合理的な期間内に異議がなければ、決定は行われたものとみなされます。異議があり、合意が得られない場合、チームメンバーが投票を呼びかけることができます。

どうすればチームメンバーになれますか?

正式なチームメンバーになるには、少なくとも3ヶ月間、1つ以上のプロジェクトに継続的に貢献する必要があります。その時点で、チームメンバー(通常はプロジェクトのメンテナー)があなたのメンバーシップを提案することができます。この件に関する議論は非公開で行われ、決定が下されたらプライベートに通知されます。必須ではありませんが、まずメンテナーになるという卒業パスも考えられます。

承認された場合、新しいメンバーシップは開発者メーリングリストでも発表されます。

プロジェクトを追加するにはどうすればよいですか?

チームメンバーとして、新しいプロジェクトを開発者メーリングリストに提案してください。誰も異議を唱えなければ、GitHub組織にプロジェクトを作成してください。プロジェクトの目的を説明するREADME.mdと、プロジェクトのメンテナー(この時点ではおそらくあなた)を記載したMAINTAINERS.mdを少なくとも追加してください。

プロジェクトをアーカイブまたは削除するにはどうすればよいですか?

プロジェクトの廃止を提案するメールを開発者メーリングリストに送信してください。誰も異議を唱えなければ、それをprometheus-junkyard GitHub組織に移動してください。

活動していないメンテナーを削除するにはどうすればよいですか?

メンテナーは、チームメーリングリストに通知することで辞任できます。1年間プロジェクト活動がないメンテナーは、辞任したものとみなされます。メンテナーを緊急に交代する必要がある場合は、チームメーリングリストで議論してください。

チームメンバーを削除するにはどうすればよいですか?

チームメンバーは、チームメーリングリストに通知することで辞任できます。チームメンバーを本人の意思に反して削除すべきだと考える場合は、チームメーリングリストに提案してください。議論はそこで非公開で行われます。

このページの内容