为避免种族歧视,谷歌Chrome将再也不使用“黑名单”等词

近日,美国黑人乔治‧佛洛伊德(George Floyd)被警员制服期间死亡而触发的反种族主义已经持续了10多天,这场有关种族的示威浪潮蔓延至欧洲英国、法国、德国、西班牙和澳大利亚等国家。浏览器

关于这个事件,最近也有不少互联网公司纷纷加入。几天内,微软、苹果以及谷歌等多家美国本土的互联网公司的CEO均经过不一样形式表达了对于种族平等的支持。分布式

而在技术圈,最近也发生了一些支持这一运动的行动。ui

谷歌摆脱"黑名单"

近日,谷歌的Chrome浏览器的源码提交记录中,出现了几条关于种族歧视相关的提交。其中主要提交内容是废弃了"blacklist"的写法:cdn

-w980

下图是部分文件重名的提交内容: blog

-w641

由于有开发者认为 “黑名单”和 “白名单”之类的术语强化了"黑 == 坏,白 == 好" 等意思,具备必定的种族歧视色彩。事件

在提交记录中,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等表述:

对于相似的修改,有一些是相对简单的,只要修改命名就好了。就怕有些软件修改以后产生各类兼容性问题。

因此,不少软件都是持谨慎态度的,可是随着不少呼声愈来愈高,相信不少厂商也不得不最终选择"政治正确"。

对了,美国还有个地方叫"白宫"...

相关文章
相关标签/搜索