ガバナンス

このドキュメントでは、プロジェクトのルールとガバナンスについて説明します。これは、プロジェクトの開発者全員およびPrometheusコミュニティが遵守すべきものです。このガバナンスドキュメントで使用される一般的な用語は以下の通りです。

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

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

  • プロジェクト:PrometheusのGitHub組織にある個々のリポジトリをプロジェクトと呼びます。

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

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

プロジェクト

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

意思決定

チームメンバー

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

新しいメンバーは、既存のメンバーが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を承認します。
  • 既存のチームメンバーによって開発者メーリングリストでアナウンスされます。理想的には、新しいメンバーはこのスレッドに返信し、チームメンバーシップを認めます。
  • OwnerとしてGitHub組織に追加されます。
  • オプションとして、コミュニティ、junkyard、および関連する組織やリポジトリに追加されます。
  • チームメーリングリストに追加されます。
  • 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セクションは情報提供のみを目的としており、異議がなければラジーコンセンサスによって変更できます。コンセンサスが得られない場合は、多数決で解決されることがあります。

意思決定を提案するにはどうすればよいですか?

モーションを添えて、開発者メーリングリストにメールを送信してください。合理的な期間内に異議がなければ、決定は下されたとみなされます。異議があり、コンセンサスが得られない場合、チームメンバーが投票を呼び出すことができます。

チームメンバーになるには?

公式なチームメンバーになるには、1つ以上のプロジェクトに3ヶ月以上継続的に貢献する必要があります。その時点で、チームメンバー(通常はプロジェクトのメンテナー)があなたのメンバーシップを提案することができます。これに関する議論は非公開で行われ、決定が下されたら、あなたに非公開で通知されます。メンテナーになることが、可能な(必須ではない)昇格パスです。

決定が賛成となった場合、あなたの新しいメンバーシップは開発者メーリングリストでもアナウンスされます。

プロジェクトを追加するには?

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

プロジェクトをアーカイブまたは削除するには?

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

非アクティブなメンテナーを削除するにはどうすればよいですか?

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

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

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

このページの内容