歡迎光臨
每天分享高質量文章

Redis 之後,Python 的 master-slave 亦恐被無奈修改

(點選上方公號,快速關註我們)


英文:TheRegister,翻譯:開源中國社群

www.oschina.net/news/99858/python-purges-master-and-slave


前兩天我們報道了一篇關於 Redis 的新聞,因為 Redis 中的 master-slave 術語被認為具有侵犯性,所以出現了很多呼籲修改的聲音。最終,Redis 作者迫於無奈,在儘量不影響專案的情況下,做了一些妥協。而如今,這項帶有政治色彩的“運動”蔓延到了 Python 身上,就連宣佈退出 Python 核心開發組決策層的 Guido van Rossum 也被請回來解決關於政治不正確的語言辯論。Guido van Rossum 是 Python 創始人,素有“終身仁慈獨裁者(BDFL)”之稱,不過他現在的處境就像教父中黑手黨柯里昂家族首領的 Michael Corleone 一樣。


和其他開源社群一樣,Python 的管理員也被問及是否真的想繼續使用 master 和 slave 術語來描述相關的技術操作和關係,因為這些單詞會讓一部分人想起美國舊時的黑奴制度,這是一個歷史遺留問題而且直到今天依然會引起關於政治方面的激烈爭論。


就在上週,在 Red Hat 工作的 Python 開發者 Victor Stinner 公開提交了 4 個 PR,希望能將 Python 檔案和程式碼中出現的 “master” 和 “slave” 修改為像 “parent” 和 “worker” 這樣的術語,以及對其他類似的術語也進行修改。Victor Stinner 在他的 bug report 中解釋說,出於多元化的考慮,儘量避免出現與奴隸制相關的術語反而可能會更好,像 ‘master’ 和 ‘slave’ 這種。他還指出之前就已有關於這個問題的投訴,但都是私下提出的 —— 以避免引起激烈的爭論。


等到 Python 3.8 釋出時,相信像這些被認為具有“侵犯性”的術語將會減少。


事實上,在技術圈子裡,這種關於政治正確的事屢見不鮮。前兩天關於 Redis 的這件事,社群去年就因這個問題進行了激烈的爭論。而在 2014 年,Drupal 在經過一番論證之後,將 “master” 和 “slave” 這兩個詞換成了 “primary” 和 “replica”。同年,Django 用 “leader” 和 “follower” 代替了 “master” 和 “slave”。CouchDB 也在 2014 年進行了類似的語言描述方面的清理。


這些爭論在科技行業也仍然存在。2004年,觀察組織 —— 全球語言監測組織將科技行業中 “master” 和 “slave” 的使用列為當年政治最不正確的術語。而這些術語的行業用法可追溯到幾十年前,我們甚至可以在多個 RFC 中找到它,例如 RFC 977 (1986)。


而這次關於 Python 的討論,我們可以預見到,參與討論的每個 Python 開發者都不會同意 Stinner 提出的變更。Stinner 提交的 bug report 中的評論回應了關於這一主題的所有其他線上爭論。


“我不會因為 Python 根據秘密評論改變其行為而感到激動”,Larry Hastings 感嘆道,“傳統上,Python 有一個非常開放的治理樣式,所有討論都是在公開場合進行的。”


“是否真的有必要用 SJW(Social Justice Warrior) 的意識形態/術語來“汙染” Python 程式碼庫?”Gabriel Marko 質疑道,“那麼接下來又會是什麼?”


Raymond Hettinger 也對這些術語是否真的有明顯傷害他人感到疑問。他在評論中寫道:“如果一個特定的段落表述不清楚或令人反感,這確實應該被修改;否則,我們不應該讓含糊不清的政治正確觀念影響其他明確的常見英語用法。而且據我所知,沒有一個案例表明,在檔案中使用了’master’就是為了反映奴隸制這件事,或者暗含對這一概念的認可。”


最後,van Rossum 介入了這場爭論,以結束一場似乎是無解的討論。他在評論中寫到:“我正在關閉這些 PR,Victor 的 PR 中有四分之三已被合併。但第四個不應被合併,因為它是對 UNIX ptys 底層術語的反映。還有一個關於 ‘pliant children’ -> ‘helpers’ 的討論,這個後續可以作為 PR 處理,而不需要保持開放討論的狀態。”


I’m closing this now. Three out of four of Victor’s PRs have been merged. The fourth one should not be merged because it reflects the underlying terminology of UNIX ptys. There’s a remaining quibble about “pliant children” -> “helpers” but that can be dealt with as a follow-up PR without keeping this discussion open.


然而,我們都應該明白,要擺脫真正的 master 和 slave,絕不僅僅是一件提交 pull request 就能解決的事。

【關於投稿】


如果大家有原創好文投稿,請直接給公號傳送留言。


① 留言格式:
【投稿】+《 文章標題》+ 文章連結

② 示例:
【投稿】
《不要自稱是程式員,我十多年的 IT 職場總結》:http://blog.jobbole.com/94148/


③ 最後請附上您的個人簡介哈~

看完本文有收穫?請轉發分享給更多人

關註「資料分析與開發」,提升資料技能

贊(0)

分享創造快樂