本文檔描述專案的規則和治理方式。專案的所有開發人員和 Prometheus 社群都應遵循本文檔。此治理文件中使用的常用術語列於下方
團隊成員:私人 prometheus-team Google 群組的任何成員。
維護者:維護者領導個別專案或其部分(MAINTAINERS.md
)。
專案:Prometheus GitHub 組織中的單一儲存庫稱為專案。
Prometheus 專案:在此治理下執行的所有活動的總和,關於一個或多個儲存庫或社群。
Prometheus 開發人員和社群應遵循 CNCF 章程中定義的價值觀,包括 CNCF 行為準則。此外,Prometheus 社群致力於友善、有效地提供回饋意見,並建立一個歡迎的環境。Prometheus 開發人員通常以共識決策,只有在無法達成共識時才以多數決來解決衝突。
每個專案都必須有一個 MAINTAINERS.md
檔案,其中至少有一位維護者。如果專案有發佈流程,則應提供權限和文件,以便多人可以執行發佈。發佈應在 prometheus-users 郵件論壇上發佈。任何新專案應先在 開發人員郵件論壇上根據下方列出的投票程序提出。當專案不再相關時,應將其移至 prometheus-junkyard GitHub 組織。
團隊成員身分可以授予至少 3 個月以來對 Prometheus 專案做出持續貢獻的人。這通常以程式碼改進和/或文件方面的顯著工作形式呈現,但也可能考慮到組織活動或使用者支援。
任何現有成員都可以透過電子郵件向 prometheus-team 提出新成員。強烈建議就新成員的接受與否達成共識。但是,該提案最終由正式的絕對多數決投票決定。
如果接受新成員提案,則應透過電子郵件私下聯絡提議的團隊成員,以確認或拒絕其接受團隊成員資格。此電子郵件也將抄送至 prometheus-team,以供記錄之用。
如果他們選擇接受,則會遵循加入程序。
團隊成員可以隨時透過向 團隊發送電子郵件來退休。
可以透過在 團隊郵件論壇上進行絕對多數決投票來移除團隊成員。在此投票中,有問題的成員沒有投票資格,也不計入法定人數。任何移除投票只能涵蓋單一人員。
成員死亡時,他們會自動退出團隊。
如果成員離開,則會應用退出程序。
目前的團隊成員是
先前的成員
請注意,在建立本治理文件和正式團隊成員資格之前,Prometheus 已收到許多未列出個人的重大貢獻。
維護者領導一個或多個專案或其部分,並在該專案的貢獻者之間充當衝突解決點。理想情況下,維護者也是團隊成員,但對於因任何原因尚未成為團隊成員的合適維護者,也可能存在例外情況。
維護者職位的變更必須在 開發人員郵件論壇上宣布。它們由惰性共識決定,並透過變更各自儲存庫的 MAINTAINERS.md
檔案來正式確定。
維護者被授予 GitHub 組織中所有專案的提交權限。
維護者或提交者可以透過通知 團隊郵件論壇來辭職。如果維護者一年沒有專案活動,則視為已辭職。鼓勵希望辭職的維護者提出另一位團隊成員來接管專案。
專案可以有多個維護者,只要他們之間明確同意職責即可。這包括協調由誰處理哪些問題和提取請求。
僅影響單一專案的技術決策由該專案的維護者非正式地做出,並假設惰性共識。跨越 Prometheus 專案多個部分的技術決策應在 Prometheus 開發人員郵件論壇上進行討論和決策。
決策通常由惰性共識做出。如果無法達成共識,則可以透過多數決來解決問題。
本文件的重要變更會在 開發人員郵件論壇上公開討論。任何變更都需要絕對多數贊成。編輯變更可以透過惰性共識來完成,除非遭到質疑。
編輯變更是修正拼寫或文法、更新工作關係或類似的變更;它們會更新樣式或反映外部和顯而易見的現實。它們不會變更本文檔中任何內容的意圖或含義。它們必須透過 PR 進行,並透過惰性共識接受。
任何需要決策的事項,包括但不限於財務事項,如果任何成員認為有必要,都可以要求投票。對於財務、私人或人事事項,討論和投票會在 團隊郵件論壇上進行,否則會在 開發人員郵件論壇上進行。
Prometheus 專案通常以非正式共識運作,但有時必須做出正式決策。
根據上方所述的主題,使用不同的投票方法。
對於所有投票,投票必須開放至少一週。截止日期應在投票呼籲中明確說明。如果已經以某種方式獲得足夠的投票,以至於進一步的投票無法改變最終決策,則可以提前發起和結束投票。
在所有情況下,所有且僅有團隊成員有資格投票,唯一例外是強行移除團隊成員,在這種情況下,該成員沒有投票資格。
有關人事事項(包括但不限於團隊成員資格和維護者資格)的討論和投票會在 團隊郵件論壇上私下進行。所有其他討論和投票會在 開發人員郵件論壇上公開進行。
對於公開討論,鼓勵任何有興趣的人參與。反對或投票的正式權力僅限於團隊成員。
Prometheus 專案的預設決策機制是惰性共識。這表示只要沒有人反對,團隊就視為支持任何關於技術問題的決策。
對於任何共識決策保持沉默,就表示默示同意,等同於明確同意。可以隨時聲明明確同意。決策可以在任何時間由任何人呼籲並在 開發人員郵件論壇上提出以供決策,但並非必須。
共識決策絕不能推翻或違反先前明確投票的精神。
如果任何團隊成員提出反對意見,則團隊成員會共同努力尋求所有相關人員都能接受的解決方案。此解決方案再次受到惰性共識的約束。
如果找不到共識,但必須做出單方面的決策,則任何團隊成員都可以要求進行正式的多數決。
多數決必須在適當的郵件論壇上以單獨的討論串明確要求。主旨必須加上 [VOTE]
前綴。在內文中,投票呼籲必須說明正在投票的提案。它應引用到目前為止的任何討論。
投票可以採用單一提案的形式,並選擇投票贊成或反對,或者採用多種替代方案的形式。
如果投票贊成單一提案的人多於反對的人,則視為投票成功。
如果有多個選項,成員可以投票選擇一個或多個選項,或投「否」以反對所有選項。不能投「棄權」票。如果某個選項獲得最多的贊成票,且贊成票超過投票人數的一半,則視為該選項的投票已決定通過。如果沒有任何選項達到此法定人數,則可以單獨召開另一次對縮減選項數量的投票。
超級多數決投票必須在適當的郵件列表中的單獨討論串中明確發起。主旨必須以 [VOTE]
作為前綴。在內文中,投票呼籲必須說明正在投票的提案。應參考此前任何相關的討論。
投票可以採用單一提案的形式,並選擇投票贊成或反對,或者採用多種替代方案的形式。
如果至少有三分之二的合格投票者投贊成票,則視為單一提案的投票成功。
如果有多個選項,成員可以投票選擇一個或多個選項,或投「否」以反對所有選項。如果某個選項獲得最多的贊成票,且至少有三分之二的合格投票者投贊成票,則視為該選項的投票已決定通過。如果沒有任何選項達到此法定人數,則可以單獨召開另一次對縮減選項數量的投票。
「成員加入/退出」章節僅供參考,除非受到挑戰,否則可以透過消極共識進行更改。如果無法達成共識,則可以透過多數決投票來解決問題。
新成員將被
<chosen-username>@prometheus.io
電子郵件地址,並提供對團隊 GDrive 和日曆的存取權限。新成員應將後者新增到他們自己的日曆列表中。)前成員將被
如果需要,我們保留公開宣布移除的權利。
「常見問題解答」章節僅供參考,除非受到挑戰,否則可以透過消極共識進行更改。如果無法達成共識,則可以透過多數決投票來解決問題。
將您的動議發送電子郵件至開發人員郵件列表。如果在合理的時間內沒有異議,則視為已做出決定。如果有異議且無法達成共識,則團隊成員可以發起投票。
要成為正式的團隊成員,您應持續為一個或多個專案做出貢獻至少三個月。在那時,團隊成員(通常是專案的維護者)可以提名您加入。相關的討論將私下進行,並且在做出決定後,您會收到私下通知。一個可能的(但非必要的)晉升途徑是先成為維護者。
如果決策結果為贊成,您新的成員資格也將在開發人員郵件列表上宣布。
作為團隊成員,請在開發人員郵件列表上提出新專案。如果沒有人反對,請在 GitHub 組織中建立專案。至少新增一個 README.md
來解釋專案的目標,以及一個 MAINTAINERS.md
來列出專案的維護者(此時,這可能意味著您自己)。
發送電子郵件至開發人員郵件列表,提議撤銷某個專案。如果沒有人反對,請將其移至 prometheus-junkyard GitHub 組織。
維護者可以透過通知團隊郵件列表來辭職。一年內沒有專案活動的維護者將被視為已辭職。如果需要緊急更換維護者,請在團隊郵件列表上討論此事。
團隊成員可以透過通知團隊郵件列表來辭職。如果您認為應該將某位團隊成員強制移除,請向團隊郵件列表提出。討論將在那裡私下進行。