美国的抗议活动,程序中的命名
(给程序员的那些事加星标)
为了种族中立,谷歌修改 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 -
关注「程序员的那些事」加星标,不错过圈内事
圈内事,我在看❤️