查看原文
其他

美国的抗议活动,程序中的命名

程序员的那些事 程序员的那些事 2021-01-30

(给程序员的那些事加星标


为了种族中立,谷歌修改 Chromium 源码中的“黑/白名单”术语


国外正在进行的 Black Lives Matter 运动,谷歌已表态支持。


(图来自 consuelaward)


据 9to5Google 报道,Google 在修改 Chromium 源码中的有种族歧视色彩的术语,来消除微妙的种族主义形式。


根据 6 月 9 日凌晨的一份 Chromium 代码修改记录显示:


  • blacklist 改成了 blocklist

  • whitelist 改成了 allowlist




2019 年 10 月,在 Chromium 开源项目的官方代码风格指南中,新增了如何编写种族中立代码的内容。其中明确指出,Chrome 和 Chromium 开发人员应避免使用“黑名单”和“白名单”,而应使用中性术语“阻止名单”和“允许名单”。

其实早在 2018 年 5 月,Google 已开始着手删除普通用户在  Chrome 浏览器中能看到的“黑名单”和“白名单”。


但普通用户看不到的源码中还有很多很多,据统计约 2000 多处。



受谷歌影响,有开发者建议 PHP 源码也得改


受 Google 删改源码中的“黑/白名单”术语的启发,有开发者在 GitHub 上给 PHP 发 PR,把源码中的“黑/白名单” 全部改成 “阻止/允许名单”。


https://github.com/php/php-src/pull/5685


截至我们截图为止,该 PR 暂未通过,并且还有 11 个踩👎。



诸多开源项目已经修改 master/slave 术语


IT 技术圈这次修改“黑/白名单”现象并非首次,也许很多人记得在 2018 年已经有过一波,Redis 开源项目就是代表之一


国外有些包容性领域的活动人士,对 Redis 中的 master/slave  术语表示不满,多次要求 Redis 更换。虽然 Redis 之父 antirez 在推特上参与了讨论,但有些人声称要放弃使用 Redis。


2018 年 9 月 8 日,antirez 在 GitHub issues 中发了一篇长帖专门解释,并提出了短期修改方案和长期修改方案。



2018 年 10 月,Redis 5.0 rc6 发布,slave 字眼正式换成了 replica。


2018 年 9 月 12 日左右,Python 开源社区也经历了一场类似讨论。此前有一位在红帽工作的 Python 开发者 Victor Stinner 发了 PR,建议把 Python 文档和代码中的 “master/slave” 修改为 “parent / worker”。



让我们把时间再往前推!


2014 年 5 月 21 日,Django 社区把 master/slave 修改成 leader/follower




2014 年 5 月 28 日,Drupal 把 master/slave 修改成 primary/replica



至少早在 2003 年,就已有针对计算机领域中敏感术语的批评声音了。


外媒报道加州洛杉矶官员表示 master/slave 字眼不可接受,且有冒犯性,要求计算机制造商和供应商停止在计算机设备上使用 master/slave。




越来越多的开源项目在修改“黑/白名单”


6 月 6 日,一位程序员小姐姐发帖表示,她不再使用“黑/白名单” 或 “master/slave”,并号召大家加入她。这条帖子获得了 1.6w 赞。


随着谷歌竖起大旗( Chromium 的修改记录被扩散传播),越来越多的开源项目已经着手修改“黑/白名单”。


看看 GitHub 上的 PR 就知道了。



这下程序员们又有的忙了。


各位,如果你们(公司)有面向海外用户的产品,或许也面临修改文档和代码了。



- EOF -




推荐阅读  点击标题可跳转

1、知乎没有告诉你:年入百万有多难

2、6月编程排行榜:C第一,Rust首进Top20

3、红警1游戏开源,代码非常规范。网友:秀色可餐


关注「程序员的那些事」加星标,不错过圈内事

圈内事,我在看❤️

    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存