blacklisted,见证历史:“blacklist”等表述将逐渐从源代码中消失

张强律师 法律头条 2022-11-14 20:18:01

导读:黑名单,见证历史:“黑名单”等表达会逐渐从源代码中消失“黑名单-白名单”“主从”之类的词会逐渐从源代码中消失。美国和欧洲的“黑人的命也是命”运动愈演愈烈。本周,谷歌决

黑名单,见证历史:“黑名单”等表达会逐渐从源代码中消失

“黑名单-白名单”“主从”之类的词会逐渐从源代码中消失。

美国和欧洲的“黑人的命也是命”运动愈演愈烈。本周,谷歌决定放弃在Chrome浏览器中使用“黑名单”和“白名单”,转而使用“阻止列表”和“允许列表”来代替。

这些国家的开发者正试图摆脱“负面”的代码术语,希望“让世界变得更加友好”。“主从”“黑名单-白名单”之类的表述会逐渐从源代码中消失。

消除源代码中的负面术语

在过去的几周里,因为佛洛依德事件,一些国家,主要是美国,举行了支持“黑人的命也是命”运动的抗议活动。软件领域的积极分子也希望借此机会行动起来,表达消除种族压迫的决心和意志。

本周一,来自微软公司的程序员、教育家斯科特·汉瑟曼(Scott Hanselman)发表博文,呼吁人们消除Git版本控制软件创建的代码库中常见的“主”分支表达式,以此来表达软件业对奴隶制的抗议。

他写道,“互联网工程任务组(Internet Engineering Task Force,IEFT)认为:主从是一种压迫性的隐喻,这种表达的背后是一种深刻的历史烙印。所以,无论从技术层面,还是从历史的角度,都不应该使用这样一个冒犯性的比喻。”

“结合上下文,我们有许多更准确的表达方式可供选择。改变不会造成任何实际成本,甚至可以让更多新人加入进来,感受科技行业的平等态度。”

这个建议最早出现在2018年的IETF草案中,要求开源软件改变“主从”和“黑名单-白名单”的表述。同年,Redis(当然也包括Rails)和Python开发团队开始明确“主从”的表述。

迫于形势,谷歌也在很大程度上表示了支持。据报道,谷歌在2018年开始刻意避免使用“黑名单”一词,但“黑名单”一词仍然存在于Chrome浏览器的后端源代码中。

周一,Chromium的代码有了最新的提交,components/blacklist目录中的类名已经被重命名为components/blocklist。谷歌从终端用户可见的所有位置删除了“黑名单”和“白名单”,分别替换为“阻止列表”和“允许列表”。此更改包括所有类/方法/成员/变量的重命名。

据了解,在Chrome的源代码中,大约有2000次对“黑名单”的引用。这种改变不是简单的“查找-替换”。修改源代码还需要测试是否会产生bug。这需要谷歌程序员的大量工作,何时能完全完成还不确定。

不止一个谷歌家族做出了改变。

当然,谷歌不是唯一一家积极处理歧视性表达的公司。

今年1月,Pivotal的LicenseFinder开始将“白名单”转换为“授权许可”。

Box公司目前正在讨论全面使用“allowlist”和“denylist”这两个表达式。

大约一周前,Elixir已经清除了声明中的这一部分。

Open在四天前合并了一个pull请求,以更新所有相关语句。

Yelp大约在两周前修改了按键扫码,osquery项目的语言更改也在进行中。

开源Git项目的贡献者社区也在两个月前通过邮件列表讨论了“master”这个表达,也有人提议在Git 源代码中替换这个术语。但该提议遭到了抵制,理由之一是这会带来巨大的工作量。

在回应关于措辞修改的帖子时,GitHub开发人员Brian Golson(他也是Git代码库的贡献者)表示支持修改。他愿意负责审查语言变化对Git 源代码可能产生的影响,但同时他强调这项工作非常密集,他无法独自完成。

他说,“看起来,如果我们直接逐行修改buildin/init-db.c,将会导致大约304次测试失败,约占测试失败总数的三分之一。”

GitHub方面,GitHub CLI已经在两周前将“master”的表述替换为“trunk”,GitHub桌面软件早在2019年就完成了相关替换。

虽然人们普遍支持,但也有批评者指出,Git对“主人”的理解来自发音而非含义(设备网络中的主从描述不带有任何奴役色彩)。此外,“大师”的内涵非常丰富,在某一特定领域的专门知识中,它可以作为中性词自由使用。

除了种族表达,谷歌的包容性编码指南也非常注重性别表达,强调应尽可能避免与性别相关的差异表达。比如,指南建议开发者避免使用“他(他)”作为带有性别倾向的代词;但当“他”代表希利姆,希伯来语中的ISO 639-1语代码或西班牙语动词“哈伯”的第一人称形式时,就没有问题了。

Hanselman承认,单纯改变表达方式并不能改变历史,也不能减少人们的种族主义观念。他在推特上指出,“我们所做的一切都是为了让世界变得更加友好。”

Python和Redis也参与其中。

其实早在2018年,互联网工程任务组(IEFT)就提出了草案,要求改变“主从”和“黑名单-白名单”的表述。编程语言Python和开源数据库Redis database在同一年做出了回应,逐渐从描述文档和API中删除了关于“主”和“从”的技术术语。

在Python中,由于社区的抱怨(具体细节不公开),项目管理团队在2018年9月决定完全替换“主”和“从”这两个术语。与此同时,GitHub平台上负责监管CPython代码库的管理员也锁定了pull请求,旨在清除相关表述,删除部分评论。

Python的核心开发者Victor Stinner在之前的评论中指出,很多人反对这种带有明显从属关系的表达方式,所以最好将“主”和“从”这两个术语从广泛使用的编程语言中分离出来。

同时,开源的内存数据库Redis也遇到了类似的“主从”问题。2018年,Redis的创始人Salvatore Sanfilippo发表了一篇博文,其中提到他因为Redis 5.0 RC5没有明确“主”和“从”的表述而受到开发者的批评。在此之前,与此相关的争议一直存在。

桑菲利波说,他根本不打算替换Redis中的措辞,但他被批评者称为“法西斯”。由于他的家人在第二次世界大战期间受到意大利法西斯的迫害,很明显,这顶帽子是故意挑衅他的。

他写道,“最重要的问题是,每个任期原则上都有令人不快的一面。但表达方式是多样的,我不想禁止使用一些有争议的词语,随着时间的推移,这些词语变得越来越中性。”他还反对来自开发者的批评,并强调“在如此混乱的环境下,不可能有任何有意义的讨论。”

然而,在实际沟通和推特调查后,他发现共有6242名追随者参与了他的调查推特,其中53%的人建议使用温和的表达方式,而不是“主人”和“奴隶”。大部分人都说出来了,他认为反对意见不能忽视。

此后,他在GitHub的一个帖子中解释说,他打算采取行动,防止他的个人观点影响他人使用Redis的意愿。

不到一周后,他又发表了一条推文,称Redis文档中删除“主从”表述的工作基本完成。目前API中只有一些难以清除的词。

Drupal和Django等其他开源社区也发起了类似的运动。2017年,Kubernetes项目确认将全面调整语言表达。在开源Helm项目中,管理团队承认“大师”本身就具有攻击性。因此,“主海图”已改名为“伞海图”。

你怎么想呢?

对于更改“黑名单”的事件,国内的程序员纷纷表示不解:

以后前端开发不能用黑/白代替彩色,只好用#000和#fff。

开源软件把黑名单改成黑名单,那么对应的红黑树如何恰当的表达呢?

毕竟黑名单来表达禁止的意思,也不够尊重人权。应该改成yamadeList。

等等,《黑人的命也是命》中的黑色应该换成别的吗?

此外,“主从”的中文译名一开始就避开了英文“slave”这个词,巧妙地改成了主从副本。从这个角度来看,其实奴才一词的否定性词性在中国已经得到了处理和规避。

但是仅仅因为一个词性问题,就要大费周章的去做一些激进的改变吗?目前,我们需要更仔细地考虑它。如果因为一些评论家的评论而修改细节甚至源代码,会不会影响到更多没有说出来的实际用户?

你怎么看待这些变化?欢迎在评论中留言!

参考:

https://www . the register . com/2020/06/08/developers _ renew _ push _ to _ get/

总结:以上内容是对黑名单、见证历史:“黑名单”等表达将从源代码逐渐消失的详细介绍。文章内容部分转载自网络,希望对你了解黑榜有帮助和价值。

版权声明

本站搜集来源于网络,如侵犯到任何版权问题,请立即告知本站,本站将及时予与删除并致以最深的歉意。