Following system colour scheme - Python 增強提案 Selected dark colour scheme - Python 增強提案 Selected light colour scheme - Python 增強提案

Python 增強提案

PEP 8011 – 由三位 Pythonista 領導的 Python 治理模型

作者:
Mariatta <mariatta at python.org>, Barry Warsaw <barry at python.org>
狀態:
已拒絕
型別:
資訊性
主題:
治理
建立日期:
2018年8月24日

目錄

摘要

本 PEP 提出了一種核心 Python 開發社群的治理模型,由三位擁有同等權威的領導者領導。“Pythonista 三人組”(The Trio of Pythonistas,簡稱 ToP 或 Trio)負責對該語言做出最終決定。它與 PEP 8010 的不同之處在於,它不提倡單一的中央領導者,而是由三個人組成的領導團隊。

本 PEP 還提議組建專門的工作組,協助領導三人組做出決策。

本 PEP **不**命名三人組的成員。如果該模型被採納,它將與本 PEP 中描述的所有職位的名稱一起,被編碼到 PEP 13 中。

本 PEP 描述了

  • 三人組的角色和職責
  • 三人組的組建指南
  • 選擇三人組而非單一領導者的原因
  • Python 核心開發者對三人組的角色和職責
  • 可持續性考慮
  • 多元化和包容性考慮

PEP 駁回

PEP 8011 在 2018 年 12 月 17 日(星期一)的 核心開發者投票 中被否決,該過程在 PEP 8001 中有所描述。

取而代之的是 PEP 8016 及其描述的治理模型。

開放討論點

在治理討論過程中,允許對本 PEP 的引數進行各種調整,例如三人組的具體職責、任期長度、投票程式以及三人組解散等。這些將在 PEP 準備好投票時進行編碼。

隨著對該模型的經驗積累,允許並且可能期望對這些引數進行調整,以提供更順暢的治理過程。調整這些引數的過程通常與 PEP 8001 中描述的投票過程相同。

領導三人組的角色和職責

  • 保持開放、考慮周全、互相尊重。換句話說,遵守 PSF 的行為準則。
  • 對 PEP 發表意見,可以作為一個團隊,也可以在其他三人組同意的情況下單獨發表。
  • 為 Python(程式語言和社群)提供願景和領導力。
  • 瞭解自身的侷限性,並在必要時尋求建議。
  • 為下一代領導者提供指導。
  • 成為一名 Python 核心開發者。
  • 成為 PSF 的投票成員(貢獻者/管理者/研究員/支持者之一)。[2]
  • 理解 Python 不僅僅是一門語言,也是一個社群。他們需要了解 Python 的技術方面以及社群中的其他問題。
  • 促進核心 Python 內的專業工作組的組建。請參見下文“專業工作組的組建”部分。
  • 為 Python 社群樹立良好的行為、文化和基調榜樣。正如 Python 從其他社群汲取靈感一樣,其他社群也將以 Python 為榜樣。

三人組的權威

需要明確的是,如果發生任何爭議:三人組擁有對 PEP(除了治理 PEP)發表最終意見的權力,決定某個決定是否需要 PEP,以及解決一般性的技術爭議。三人組的權力不包括改變治理本身,或處理其他可能出現的非技術性爭議;這些應透過 PEP 8001 中描述的流程來處理。

不屬於三人組角色職責的範疇

以下內容不屬於對三人組的期望,但他們如果願意,也可以去做。

  • 他們不總是那些提出所有想法、願景、需要解決的問題等等的人。三人組將對核心開發者和社群的建議持開放態度並予以接受。
  • 日常的錯誤報告不需要三人組介入。任何核心開發者都可以做出決定,但會根據各自專注的工作組進行,並在核心開發者之間出現重大分歧時最終上報給三人組。
  • 不負責執行/決定 Python 語言峰會及其後勤事務。
  • 不負責執行/決定 Python 核心衝刺開發會議及其後勤事務。
  • 不處理行為準則(CoC)案例。這些是 PSF CoC 工作組的職責,但他們會主動宣告,如果他們目睹了這些案例。
  • 不就其他 Python 實現(Cython、IronPython 等)做出決定。
  • 不負責執行/決定 Python 會議及其後勤事務。
  • 不是 Python 的傳播者。不期望三人組去宣傳/推廣 Python。如果他們願意,可以去做,但不是必需的。
  • 不是 Python 的教育者。不期望三人組成為教授/撰寫關於 Python 的人。如果他們願意,可以去做,但不是必需的。
  • 不期望三人組 24/7 全年無休地待命。他們可以自由決定自己對 Python 的可用性。
  • 不是 PEP 編輯。

三人組組建指南

此治理模型的成功取決於三人組的成員以及三人組成員協作和良好合作的能力。

這三個人需要對 Python 有相似的願景,並且每個人可以擁有不同的、互補的技能。

有了這樣的團隊,分歧和衝突應該很少發生,但仍然可能發生。我們需要信任我們選出的人,相信他們能夠自行解決。

在選擇三人組的成員時,核心開發者將提名三人組合,並投票選出他們認為可以組成這個團結的三人組的組合,而不是提名各種個人並選擇前三名。一個人可以被提名到不止一個組合。

本 PEP 不會提名或指定任何人進入三人組。

只有在本 PEP 被接受後,任何活躍的核心開發者(有投票權者)才能提交三人組合的提名。

一旦本 PEP 被接受,並且核心開發者提交了他們的提名,投票就可以開始,屆時將使用 PEP 8001 中描述的投票機制。

三人組的期望品質

  • 成為一名 Python 核心開發者。
  • 成為 PSF 的投票成員(貢獻者/管理者/研究員/支持者之一)。[2]
  • 成為社群中聲譽良好的一員。
  • 遵守 PSF 的行為準則(保持開放、考慮周全、互相尊重)。[1]
  • 願意接受所述的角色和職責。
  • 能夠有效地溝通和表達自己的想法。

在考慮將某人納入三人組時,以下內容並非要求

  • “擁有某事 BDFL 經驗”並非要求。
  • “是天才”並非要求。

多元化和包容性

核心 Python 開發團隊完全支援 Python 軟體基金會的多元化宣告,並歡迎來自不同背景的參與和貢獻。在提名三人組人選時,Python 核心開發者將盡一切努力考慮來自弱勢群體的成員。

理想情況下,提名應包含並反映核心 Python 貢獻者的多元化。

可持續性

缺乏僱主支援或沒有業餘時間的奢侈不應成為確定誰應該成為三人組成員的因素。如果核心開發者認為某些個人具備成為三人組成員所需的技能,但由於時間不足、缺乏經濟支援而無法勝任,那麼我們應該與 PSF 或其他相關方討論提供必要的支援。

附加指南

在提名非本人時,請先私下詢問他們是否願意被提名,以及他們是否願意被提名到該三人組合中。這樣可以避免人們因公開提名而感到被迫接受。

為何不採用其他治理模型

核心 Python 社群在過去二十多年來熟悉了單一 BDFL 模型,該模型對 Python 來說是“有效”的。突然轉向一個完全不同的模型可能會破壞社群的穩定性。然而,社群未來可以繼續發展。

如果本 PEP 被採納,它不意味著是 Python 未來唯一的治理模型。

本 PEP 提議向一個由(儘管人數較少)一群人領導的社群過渡,同時引入了其他專業工作組的概念。

為何不多於三人

人多嘴雜,壞了湯。

建立領導團隊的目標是讓 Python 核心開發者團隊能夠達成共識和做出決定。領導團隊越大,做出決定就越困難。

這也有利於三人組的成員。學習與團隊中的其他人合作並非自然而然發生,需要付出很多努力。預計三人組的成員將長期任職。與另外兩個人打交道可能已經足夠困難了。我們希望三人組能夠高效地履行其職責。

團隊人數越多,越難安排時間會面、討論並做出決定。

Python 核心開發者對三人組的角色和職責

  • 保持開放、考慮周全、互相尊重。換句話說,遵守 PSF 的行為準則。
  • 由三人組個人成員做出的決定和宣告,應被視為權威性的,並來自三人組。
  • 一旦三人組做出決定,核心開發者將給予支援,即使他們一開始(在三人組做出決定之前)不支援。
  • 繼續在錯誤跟蹤器中進行日常決策,並在出現重大分歧時上報給三人組。
  • Python 核心開發者不處理 CoC 案例,這些是 CoC 工作組的職責,但如果他們目睹了這些案例,會主動宣告。
  • 認識到他們是更廣泛的 Python 社群的一部分,而不僅僅是技術方面。
  • 成為 PSF 的投票成員(貢獻者/管理者/研究員/支持者之一)。
  • 為 Python 社群樹立良好的行為、文化和基調榜樣。

任期限制

不期望三人組終身任職,但期望更長的任期。長期任職的目的是避免不必要的“選舉”更迭,併為語言和社群提供穩定性和一致性。

目前,Python 釋出經理任職 5 年(一個釋出週期),這似乎迄今為止是有效的。因此,本 PEP 提議三人組任職 5 年。

三人組的繼任計劃(開放討論)

三人組應至少提前一年通知核心開發者其解散/退休/辭職的意圖,以便他們能夠積極指導和培訓下一代繼任者,並避免權力真空。

三人組不一定必須選擇下一任領導者。

本 PEP 不強制要求下一代採用相同的治理模型。Python 作為語言和社群可以繼續發展。透過提前一年通知解散,三人組為核心 Python 社群提供了反思該治理模型成功/失敗的機會,並在需要時選擇不同的治理模型。

然而,下一任治理模型和領導者應在三人組宣佈解散意願後的一年內選出。

如果決定繼續採用此治理模型,下一代三人組將按照第一代三人組的提名/選拔方式進行提名和選舉。

三人組應至少擔任 X 個月的新一代選定領導者的顧問/導師。

由於未來的三人組將從 Python 核心開發者中選出,因此未來的 Python 核心開發者也應該具備本 PEP 中列出的部分(但不一定是全部)三人組的素質。

因此,選擇三人組成員的指南也可以作為確定未來 Python 核心開發者的指南。

若三人組中的一名成員需要退出,該如何處理

有效的治理模型為需要辭職或暫停領導職務的領導者提供了退出或臨時休息的途徑。

如果選定的三人組中有一名成員因不可預見的原因需要退出,該怎麼辦?

有幾種可能的選擇:

  • 剩餘的兩人可以選舉另一名成員填補該職位。
  • 三人組可以選擇解散,核心開發者可以提名其他三人組合。
  • 核心開發者可以選擇不同的治理模型。

由於三人組是作為一個整體被選舉出來的,所以其中一人的損失會打破這個當選的整體。因此,應該舉行新的選舉。

工作組/專業領域/所有權(原 BDFL 委託人)的組建

(開放討論)。

核心 Python 和 Python 社群的某些領域和主題需要具有特定專業技能的領導者。建議成立幾個在特定領域擁有更大權威的工作組,以協助三人組做出決策。

這些“專業工作組/委員會”的角色是針對各自領域出現的爭議性討論做出最終決定。

這些工作組應規模較小(3-5 人),原因與領導三人組是小團體的原因類似。

這些工作組應由 Python 核心開發者和外部專家組成。這是為了確保決策不會只偏袒 Python 核心開發者。

Python 核心開發者將在各自的主題上將決策權交給這些工作組。然而,這些工作組將向三人組彙報/服從。

這些工作組的成員可以在本 PEP 被接受後進行選拔和投票。

如果本 PEP 被接受,可以在 PEP 接受後的一到兩年內決定工作組。

在選擇這些特別工作組成員時,三人組將盡一切努力考慮來自弱勢群體的成員。理想情況下,工作組成員應包含並反映更廣泛 Python 社群的多元化。

這些工作組成員不必是 Python 核心開發者,但至少需要是 PSF 的基本會員。[2]

這些工作組的活躍程度與三人組的活躍程度相同。

建議開始的幾個工作組

  • CPython 的文件
  • CPython 的安全性
  • CPython 的效能

這些工作組的角色可以被視為與以前的“BDFL 委託人”或 PEP 審查員的角色相似。不同之處在於,不是任命一個人作為決策者,而是由一個小團隊做出決策。

與以前的“BDFL 委託人”角色相比,另一個不同之處在於,工作組可以像三人組一樣持續活躍,而不是僅在需要他們專業知識的 PEP 出現時才活躍。

當三人組解散時,這些工作組也隨之解散。

為何需要這些工作組

這是對前任 Python BDFL “龐大角色”進行“重構”的嘗試。

作為 PSF 會員的確認

本 PEP 提議核心開發者和三人組成員自我認證為 PSF 的會員。

成為 PSF 的一部分意味著成為 Python 社群的一部分,並支援 PSF 的使命和多元化宣告。

透過成為 PSF 的會員,Python 核心開發者宣告支援 Python 並同意社群行為準則。

有關 PSF 會員資格的更多詳情,請參見:PSF 會員資格 FAQ。[2]

選擇“三人組”名稱的原因

不要與 Python trio(一個非同步庫)混淆。

“trio”(三人組)這個詞簡短易讀,不像其他詞語長且可能帶有負面含義,如 triad(三合會)、trinity(三位一體)、triumvirate(三巨頭)、threesome(三人組合)等。

參考資料


來源:https://github.com/python/peps/blob/main/peps/pep-8011.rst

最後修改時間:2025-02-01 08:55:40 GMT