近日,美國黑人喬治‧佛洛伊德(George Floyd)被警員制服期間死亡而觸發的反種族主義已經持續了10多天,這場有關種族的示威浪潮蔓延至歐洲英國、法國、德國、西班牙和澳大利亞等國家。瀏覽器
關於這個事件,最近也有不少互聯網公司紛紛加入。幾天內,微軟、蘋果以及谷歌等多家美國本土的互聯網公司的CEO均經過不一樣形式表達了對於種族平等的支持。分佈式
而在技術圈,最近也發生了一些支持這一運動的行動。ui
近日,谷歌的Chrome瀏覽器的源碼提交記錄中,出現了幾條關於種族歧視相關的提交。其中主要提交內容是廢棄了"blacklist"的寫法:cdn
下圖是部分文件重名的提交內容: blog
由於有開發者認爲 「黑名單」和 「白名單」之類的術語強化了"黑 == 壞,白 == 好" 等意思,具備必定的種族歧視色彩。事件
在提交記錄中,Chrome的開發者將blacklist修改成blocklist。其實,這一修改早在去年10月份,就已經有了相關規範,開發
自去年10月以來,Chrome 已在其官方代碼樣式指南中包含有關如何編寫「種族中立」代碼的指南。該文件明確指出,Chrome和Chromium開發人員應避免使用「黑名單」和「白名單」一詞,而應使用中性術語「阻止名單」(blocklist)和「容許名單」(allowlist)。文檔
除了Chrome廢棄了"黑名單"的表述之外,其實還有不少相似的事件。源碼
如開發者熟知的"Master/Slave",是分佈式系統中一個比較經常使用的計算結構,這個名詞由兩個單詞組合而成:Master和Slave。it
Master:主人、僱主。 Slave:奴,奴隸。
不少開發者認爲master-slave這一表述中的slave(奴隸)對於人權具備必定的侵犯性,因此有不少呼聲要求修改這一詞彙。
早在2014 年,Drupal 項目就用 primary 和 replica 替換了 master 和 slave;Django 項目則用 leader 和 follower 替換之;CouchDB 項目也作了相似語言上的淨化。
在2018年,兩個被咱們熟知的軟件,Redis和Python也爲了"政治正確"而作出了相應妥協。
2018年9月7日,Redis 5.0 RC5 發佈了,該版本中仍然使用master-slave來表示主從模式,這引發了不少開發者的抗議。以後Redis的做者在推特上發起了一個投票,結果顯示,超過半數的人但願修改這一描述。
最後Redis的做者決定將 master-slave 描述改成 master-replica。
一樣是2018年9月7日,在 Red Hat 工做的 Python 開發者 Victor Stinner 公開提交了 4 個 PR,但願能將 Python 文檔和代碼中出現的 「master」 和 「slave」 修改成像 「parent」 和 「worker」 這樣的術語,以及對其餘相似的術語也進行修改。
對於這個問題,Python的創始人,已經宣佈退出Python核心開發組決策層的Guido van Rossum被請回參與了這一事件的討論及仲裁。最終他作出了重要的決定:
計劃在Python 3.8中,將slave改成worker、helper、另外將master process改成parent process。
近日,Golang也有開發者提了相似的commit,要求修改whitelist/blacklist、master/slave等表述:
對於相似的修改,有一些是相對簡單的,只要修改命名就好了。就怕有些軟件修改以後產生各類兼容性問題。
因此,不少軟件都是持謹慎態度的,可是隨着不少呼聲愈來愈高,相信不少廠商也不得不最終選擇"政治正確"。
對了,美國還有個地方叫"白宮"...