原文:Infoworld 作者:Paul Krill 編譯:開源中國
https://www.oschina.net/news/98455/guido-van-rossum-resigns
Python 創始人 Guido van Rossum 前段時間宣佈脫離 Python 決策層,辭去所謂的 BDFL (終生仁慈的獨裁者) 身份曾引發熱議,當時他以 PEP 572 改進提案的爭吵事件為例,表明其退出緣由。近日 Guido van Rossum 在接受外媒 InfoWorld 採訪時,再次聊到了關於他退出決策層背後的隱情,以及對 Python 開發流程的看法。
InfoWorld:為什麼辭去 BDFL 職務?
van Rossum:其實,所謂的終生和獨裁都只是玩笑話。在過去十年的大部分時間裡,我一直有退休的念頭。我自身有一些健康問題,雪上加霜的是我需要無數次地去告訴社群的人們該如何做事並保持冷靜,也需要無數次地去向別人解釋 Python 的語言哲學。
壓倒駱駝的最後一根稻草是一個非常有爭議的 Python 改進提案(即 PEP 572 ),在我接受它之後,他們去了像 Twitter 這樣的社交媒體並說出了一些真正傷害我個人的話語。而且說這些事情的實際上都是 Python 的核心開發者,所以我覺得我們相互之間已不再信任。
InfoWorld:能否談談 PEP 572 提案的好處以及為何如此具有爭議性?
van Rossum:該提案是關於給 Python 新增運算式內賦值的一種語法。總而言之,這是給語言的一個很小的補充,主要是讓人們在需要時,將賦值放在運算式的中間。其實許多其他語言也有類似的次要功能,包括我熟悉的 C 和 C ++。Java 和 JavaScript 據我所知也有支援 。它是一種相當小的語法,但在某些情況下,可以使程式碼更容易編寫,並且透過刪除冗餘也更容易閱讀。
很多人認為他們知道 Python 的設計理念是什麼,而這個提議他們覺得沒有遵循 Python 的設計原則。 該提案引起爭議的另一個原因是提案作者有點自我,前面的幾個版本存在一些嚴重的問題,導致之後即使是同意其基本理念的人,也投了反對票。 這是一個輕微的語法變化,並不激進。
InfoWorld:該特性將包含在哪個版本的 Python 中?
van Rossum:Python 3.8 。
InfoWorld:會有另一個 BDFL 嗎? Python 後續將如何管理?
van Rossum:很遺憾,我目前無法告訴你。我給了核心開發團隊一個任務,就是思考後續的管理樣式以及選出相關負責人。這應該會是一個長期的討論,無法立即達成共識。
現在可以說的是,他們已經同意給出提案的截止日期是2018年10月1日。我相信,到2018年11月1日,他們會選出一個合理的管理提案。到2019年1月1日,他們承諾會完成選舉或任命負責人。
如果有提案認為需要一個 BDFL ,那麼該提案必須詳細列明細節,比如說要如何選擇 BDFL ,任命期是多久,以及他/她在哪種情況下能被彈劾。不排除到1月1日,他們真能選出這樣一個人。
InfoWorld:您將在 Python 專案中擔任什麼角色?
van Rossum:我將成為常規貢獻者或常規核心開發者的角色,偶爾寫一些和審查一些程式碼。我將嘗試專註於指導核心開發者,尤其是新的核心開發者,以及女性和少數群體,因為核心開發團隊的多樣性是我的標的之一。
InfoWorld:您是否擔心作為 BDFL ,您的離開可能會嚇跑一些 Python 愛好者?
van Rossum:我不這麼認為。 Python 擁有一個非常健康的社群,核心團隊也擁有非常強大的能力。如果我認為他們無法剋服這一點困難併在未來幾十年內繼續引領語言發展,我就不會辭職。我認為這隻是一次輕微的打擊,儘管出現了,但我期待後續版本的成功以及開發流程的逐步演變。
InfoWorld:Python 過去幾年的開發流程是怎樣的?如何看待其未來發展?
van Rossum:語言在不斷變化,我們為該語言和庫添加了一些新特性。過去幾年變化較大的可能是語言的流行度,直到五年前,Python 還一直感覺自己是一個“小玩家”。
之後隨著資料科學的發展,Python 作為其主要工具出現了令人難以置信的快速發展。這也導致核心開發者在決策上有更大的壓力,但是一般情況下,我們釋出語言的方式非常穩定。
我們有發行管理員(release managers),主要版本發行間隔約一年半,Bug 修複版本,由於使用需要,可能會在幾個月到大半年左右。
我們也有非常穩定的 Python 改進提案流程。也許隨著社交媒體的發展 PEP 的方式有所改變,但總的來說,除了幾年前從 Mercurial 轉向 Git 之外,PEP 一直是一個非常穩定的流程,沒有出現過失誤和問題
●編號468,輸入編號直達本文
●輸入m獲取到文章目錄
演演算法與資料結構
更多推薦《18個技術類公眾微信》
涵蓋:程式人生、演演算法與資料結構、駭客技術與網路安全、大資料技術、前端開發、Java、Python、Web開發、安卓開發、iOS開發、C/C++、.NET、Linux、資料庫、運維等。