Python之父Guido van Rossum因最近的“PEP 572”事件宣布放棄他在Python社區“仁慈大君”的稱號,且沒有任命繼任者,并將治理問題留給了核心開發人員。今后的PEP572乃至整個Python該何去何從?
Guido van Rossum最近宣布,他決定放棄他在Python社區“仁慈大君”的稱號,雖然這令人有些意外,但在核心開發社區卻并沒有太大的震驚。雖然最近的“PEP 572混亂”事件是不幸的,但 Van Rossum幾年來一直在為Python暗暗的做著努力。 與此同時,該項目需要弄清楚如何管理自己前進 - Rossum沒有任命繼任者,并將治理問題留給了核心開發人員。
在過去的幾年里,Rossum一直燃燒著他的熱情,起碼在一定程度上是因為他一直在為自己感興趣的PEPs進行有爭議的討論。關于PEP 572(“賦值表達式”)的討論很可能是Python歷史上最糟糕的冒險。
它跨越了多個巨大的線程,在兩個不同的郵件列表上,生成了兩個獨立的投票(poll)(這兩個投票都不支持這個特性),而且有時似乎是沒完沒了的。也許最讓人惱火的是它的重復性;同樣的想法被一次又一次地提出來,不管PEP的作者(最初是Chris Angelico,后來在快結束時Van Rossum和Tim Peters加入了進來)和其他人不斷地反對他們的論點。很明顯,許多人只是在感情上(有時是表面上)對這個建議做出反應:不讀激勵語或任何討論,然后大聲宣布他們的觀點顯然是唯一明智的。很明顯,許多人只是在感情上(有時是表面上)對這個建議做出反應:不閱讀PEPs或任何討論,然后大聲宣布他們的觀點顯然是唯一明智的。
Van Rossum說,作為一個普通的核心開發人員,他將會在“一段時間內”堅持下去,但他留給社區來決定未來項目的治理。他似乎很好奇會發生什么:“那你們都要做什么?”創建一個民主嗎?無政府狀態?一個獨裁政權?聯盟?”正如許多人在辭職信中指出的那樣,人們希望他在今后一段時間內繼續擔任“仁慈大君”;如果離開只是因為有爭議的激勵討論,而不是簡單的退休決定,那還是挺令人難過的。在所有的祝福之中,許多對Van Rossum聲明的回復中都提到了Python社區人經常說的一句話:卷起袖子開始工作。
新的治理
Van Rossum呼吁進行治理的主要領域有兩個:如何確定PEPs以及如何添加新的核心開發人員。后者似乎已經根據現有核心開發人員的投票決定好了。他們是唯一被允許發布到核心提交者郵件列表的人,這也是Van Rossum辭職的一方面,大概是為了避免費力地瀏覽數百條信息——幾乎所有信息都是懷揣感激之心的,盡管肯定也會有一些是不好言論。
對于PEP和任何其他主要語言決定,Christian Heimes建議triumvirate(三人管理)或quintumvirate(五人管理)作為統治機構。 Victor Stinner認為應該考慮核心開發人員對功能提案進行投票的PHP流程。 不過,Stinner的解決方案并不是特別受歡迎。 Brett Cannon這樣說:
對于我來說,我認為Guido為我們作為“仁慈大君”所提供的一個關鍵資產就是設計/品味的一致性。設計由委員會通過投票來決定并不吸引我,太容易導致偏好的變化,并且沒有很好的凝聚力和語言的整體設計,特別是考慮到總是會有主觀的選擇。包括我在內的人們也指出,應該讓Guido敬仰你,我們對社區的行為有非常一致的看法,這也是一種資產。
triumvirate(或一個小的、奇數N的N-virate)的想法似乎得到了一些支持,盡管“誰將加入”、“他們將服務多久”以及其他細節仍在討論中。還有一個不可避免的問題是,這個群體的名字可能是什么?人們提出了各種各樣的想法。但是,正如Raymond Hettinger所說,這件事情沒有這么著急:
就目前而言,我建議我們轉向低齒輪(low gear)以及推遲主要語言改變的時間,這將給我們時間來消化這些變化,給其他實施策略更多的機會來趕上進度。
討論的大部分內容是PEP決策過程以及它將如何改變。在他辭職之前,Van Rossum是PEPs的最后仲裁者,除非他將自己的權力委托給了另一位“仁慈大君”。許多人認為,“Python長老理事會”(PCOE)或“設計專員”(治理機構的兩個比較流行的名稱)的作用主要是找到合適的人選,以便在給定的PEP上進行決策。如果不能就一項決定達成協商一致意見,該小組也將是最后的決定機構。
但也存在人們在這樣一個機構服務多久的問題。有些人要求“終生”任命,因為他們明白人們可以在任何時候辭職,而其他人則希望隨著時間的推移這些職位能輪換出來。然而,在此之前必須確定(可能通過PEP或一組競爭的PEP)該組的作用。Heimes提出了三個功能:。
首先,將主要責任委派給領域專家。
其次,提供一致性和信任。
最后,在有爭議的bike shedding事件中給出最后的結論。
但是,如果主要作用是委托,則不需要將其作為終身工作。正如Doug Hellmann所說:
如果決策的主要方法是委托(除非絕對必要的仲裁者),那么長期的一致性和穩定性不會因為找到個人而在N-virate上服務很長時間,因為這項工作的完成是需要對評論有很好的理解以及有意愿在沒有達成共識的情況下保持現狀。
就像我們與發布經理所做的那樣,構建系統以支持和鼓勵人員更替,降低了當某人同意服務時的工作量。考慮到在Python社區和開放源代碼中有很多關于倦怠的討論,這似乎是一個重要的特性。
如何制定和溝通決策也是一個問題。有人建議要求機構一致投票,但這可能過于嚴格。Barry Warsaw建議不要公布成員的個人投票,而只是公布結果,但Larry Hastings和其他人的意見不同:
我更喜歡在治理方面提高透明度,作為受本機構管理的社區成員,我更傾向于更多地了解流程和進入決策的思路。我不認為PCOE要求作為一個統一的秘密工作,應該讓他們相互支持,并支持機構的決定。
Hastings和其他人認為PCOE類似于美國最高法院-這個機構只有在存在無法以任何其他方式解決的爭議時才作出決定。但是?ukaszLanga想知道為什么有三個成員如此受歡迎:
對于triumvirate我看到了一些問題,比如一個公司只雇傭了三個成員中的兩個就能接管Python的設計過程(持續地對第三個成員進行投票)。如果其中一名成員棄權,也有很大的可能產生關聯等等。
“憲法”
他還擔心如何確定設計管理員的角色:“Python需要一個‘憲法’,它將編纂委員會的內容及其運作方式”。許多人將該文檔稱為“PEP 2”,但在這種情況下如何接受該文檔完全是未知數。Langa提出了一個可能不被Van Rossum接受的建議:“理想的情況是Guido會接受PEP,但我不確定他是否愿意接受。”如果確實如此,那么該如何做才能使該文件得到所有提交者的普遍接受呢?
很明顯的,許多人都認同這種觀點,幾乎所有人都希望Van Rossum仍將擔任一個積極的角色——也許甚至是作為一些PEPs上的“仁慈大君”。Carol Willing可能總結了許多關于Van Rossum參與的觀點:“我大多希望Guido做任何撼動他的世界的事情”。如果Van Rossum愿意,Cannon有一個具體的想法:“在我的理想情景中,人們寫PEPs提出治理模型,Guido選擇一個,使其成為PEP 2。”
在這方面,Van Rossum確實短暫地插入了這個話題,試圖闡明他在決定治理方面的角色:“我仍然在這里,但我希望退出辯論,退出決策圈。我還是PSF(Python軟件基金會)的董事長。但這不是由PSF決定的。你們都做得很好了。”
因此,某種類型的“神圣干涉”很可能并不存在。核心開發人員需要自己解決這個問題。他表示,在確定治理模式時,有兩種指導原則:“如果發展的內容包含Python之禪 (Zen of Python,PEP 20)和‘我為語言而來,為社區而留下’,我相信這種語言將從技術上受益。”實際上,Python社區是一個強大的社區,這證明了Van Rossum在過去28年里的領導能力。
作為制定治理計劃過程的一部分,Nathaniel Smith正在組織一個信息化的PEP來調查其他開源項目的治理。我們的想法是看看是否有可用于Python的部件和零件。另一些努力甚至早于Van Rossum的辭職,就是找出一種更好的方式來討論PEP,并試圖達成共識。Hettinger提議了一種可能性:
對于更大的決策(并沒有很多),我對如何改進討論有一些建議,以便有關各方能夠在結果中擁有更平等的發言權,從而使討論更具時間效率。
基本上,這個想法是讓所有參與者都可以編輯wiki/faq。它將包括關鍵的例子、贊成和反對的論據,以及可以收集到當前對話的rebuttal。這與當前的PEP過程有些不同,因為目前是PEP作者主導了對話,而其他人很容易被淹沒。(這一想法模仿了加州立法分析師選民指南,該指南總結了各項提案,并有支持者和反對者的陳述和反駁)。
Neil Schemenauer用經濟學術語來表述:
也許這可以被視為一種經濟問題。發布到PEP討論thread的成本與閱讀該帖子的每個人的成本是分別多少?或者,評論的價值是什么,每個人閱讀它的代價是什么?
使用目前的討論方式,成本往往不成比例。有成百上千的人在閱讀帖子,所以成本很高。而發表一個不成熟的評論太容易了。用新的主題線開一個新的thread太容易了。
他建議,一旦他們在python-ideas郵件列表中的“free-wheeling wild west”上完成了運行,就應該單獨列出一個郵件列表,以便進行PEP discussion。PEP-discussion列表中有一些基本規則,目的是最大限度地利用每個人的時間。充分投入的參與者與Python用戶或開發人員之間的不成比例的成本可能是導致Van Rossum由于倦怠而辭職的主要原因。
顯然,事件塵埃落定和制定具體計劃需要一段時間,但人們會覺得Python社區已做好準備——即使不是完全愿意——追求自治(self-governance)。不過,這一過程將在公開場合發揮作用,這可能會對其他經歷類似甚至不同的過渡的項目有所幫助。在開源的世界中,項目可以從技術的角度互相學習,當然也治理和社區等領域相互學習。
我們每個人都應該(與其他人一起)感謝Guido,否則就是不負責任的表現。我們的網站依賴于Python,并且已經運行了16年或甚至更久。 Van Rossum 用他的努力為世界做出了偉大的貢獻——即使在這一切都已過去之后,他的努力似乎也不太可能改變。在許多方面,Python社區是它的“仁慈大君”的反映;它令人愉快的基調和對每個人的友好是其他項目應該效仿的。
-
源代碼
+關注
關注
96文章
2949瀏覽量
67692 -
python
+關注
關注
56文章
4822瀏覽量
85943
原文標題:Guido 轉身離去,Python 何去何從?
文章出處:【微信號:AI_era,微信公眾號:新智元】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
?如何在虛擬環境中使用 Python,提升你的開發體驗~

是否可以使用OpenVINO?部署管理器在部署機器上運行Python應用程序?
使用Python實現xgboost教程
使用Python進行Ping測試

評論