當前位置:
首頁 > 知識 > 後 Guido 時代,Python 面臨的「七岔路口」

後 Guido 時代,Python 面臨的「七岔路口」

隨著 Python 之父 Guido van Rossum 逐步卸任 BDFL,Python (本文特指CPython)的未來之路牽動了萬千開發者的心。

目前,Python 社區共提出了 7 種治理方案,其最終勝出者,將決定 Python 未來的發展方向和方式。此話題事關重大,任何 Python 開發者最好都有所了解。

Python 的核心開發者之一、PEP-8015 的作者 Victor Stinner 對這 7 個治理提案做了全面的對比。下面是編程派的朋友「豌豆花下貓」(Python貓 公眾號作者)的翻譯投稿。

經譯者同意,我對譯稿進行了略微調整,將部分差異對比改為表格的形式,方便直接比較。另外,還添加了一個讀者投票,歡迎大家發出自己聲音。

以下是原文:

對幾個治理提案(governance PEPs)的重要差異點,我做了一份比較。我選擇忽略了一些不太重要的方面,比如專門的投票組織(詳見每個PEP)。提取信息並總結它,這不是一件容易的事,所以我可能會出錯。

我建議在給治理提案投票時,不要以它們的完整性來評判,而要聚焦其關於決策過程的部分,即誰能拍板做決策,以及怎麼做?依我之見,那些還不夠完整的 PEP 可以吸收其它 PEP 的創意(best ideas),來逐漸完善自身。

治理模式、核心開發者晉陞等

雙擊查看大圖

對比表格鏈接:


PEP流程

概括得最差的部分,建議複查每個 PEP

PEP 8010:PEP 代表,GUIDO是 PEP 決策的最終權威

PEP 8011:三巨頭和/或工作組?

PEP 8012:遵照現行的 PEP 流程。提案人確定 PEP 的選題方向。提案人負責收集與整合反饋(來自整個社區)。然後,相關領域的專家們匯總全部討論,並開啟為期 14 天的最終評審,其評審結果不再需要社區性的投票。如果一個 PEP 很有爭議,任何專家成員都可發起動議(motion)來拒絕通過它(需2/3票數)

PEP 8013:如果理事會不否決,PEP 自動被批准

PEP 8014:投票對所有 Python 使用者開放(不僅僅是核心開發者)。理事會宣布投票結果是否足以作出決定。它提出了一個決定。如果理事會採納了一個上訴(appeal),則獲得多數票的一方需做出論證(demonstrated)

PEP 8015:委員會在 PEP 代表(一般來自 Python 團隊)之間做選擇,或者交給核心開發者投票,需大於2/3票數

PEP 8016:理事會在必要時可直接地批准/否決 PEP,但最好是設置流程來避免這樣做決策(例如,將決策權委派給團隊或者 BDFL 代表)


差異點

大多數 PEP 都有一個「最高決策層」(top of the hierarchy)(指導委員會,理事會,三巨頭,GUIDO,等等),除了 PEP-8012 和 PEP-8014。

PEP 8011、8012 和 8015 定義了明確會參與決策過程的「工作組」(或「專家」或「Python 團隊」),這可以視為第二級的決策層。

PEP 8014 允許所有人(任意 Python 用戶)參與投票。PEP 8013 將核心開發者排除在決策委員會之外。除了這兩個特例,其它所有的 PEP 中的決策過程都強依賴(strongly around)於核心開發者(候選人必須是核心開發者、只有核心開發者可以投票,等等)。

PEP 8010、8012、8013、8014 和 8016 提出了不信任投票 (No Confidence Vote)(譯註:即彈劾,可將任期內的「執政人員」趕下台)。我不確定其它 PEP 若不包含這點,是否深思熟慮(deliberate)。我喜歡這個提議,所以,會把它加入到我提出的 PEP-8015 里 :)

PEP 8015 和 8016 嚴格限定了在委員會裡,只允許少於 50% 的成員是企業(5人委員會裡最多有2個)。其它 PEP 不設限制。

有些 PEP(8010、8011 和 8014) 里幾乎只關注於定義最高決策層,然而其它 PEP(8015 和 8016)還關注到核心開發者的選舉/淘汰(eject)、如何更新治理提案,等等。我不知道前者是故意為之,還是因為時間不足而來不及完善。

PEP 8011、8014 和 8015 提到了多樣性(譯註:即決策層成員的多樣性,如女性開發者),但卻沒有提到如何「促進」(enforce)多樣性的詳細規則。PEP-8011 說道:「盡全力去接納弱勢群體」(take every effort into including members from underrepresented group into consideration)。

原文 :http://t.cn/EyhQd3b作者 :Victor Stinner譯者 :豌豆花下貓(Python貓 公眾號作者)


名詞解釋

PEP:全稱是 Python Enhancement Proposals(Python 增強提案),現在數量將近500個,涵蓋 Python 功能實現、規範與周邊信息等各種內容。本文出現的 7 個提案,全是針對新的治理模式,若想加深理解 PEP,並找到哪些提案是必讀的,可閱讀我寫的《學習Python,怎能不懂點PEP呢?》。

PSF:全稱是 Python Software Foundation(Python 軟體基金會),非營利組織,其使命是促進 Python 社區發展,負責舉辦各種社區活動,例如開發 Python 的核心發行版、管理知識產權、舉辦開發者大會(如PyCon)、促進多元與國際化、以及募集發展基金,等等。

BDFL:全稱是 Benevolent Dictator For Life(終身仁慈獨裁者),曾特指 Guido van Rossum,被賦予絕對的最終決策權。2018年7月12日,他宣布不再擔任此身份。本文的全部 PEP 都是圍繞如何選出新的 BDFL 以及配套的治理方案,該詞不再特指某人。

你傾向於哪種治理模式?

歡迎留言和我們分享

如果覺得文章對你有所幫助,歡迎點贊並且推薦給你的好友。

題圖:pexels,CC0 授權。


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 編程派 的精彩文章:

Python之父寫給計算機專業學生的職業建議

TAG:編程派 |