种族平权运动加速 Github、Go 废除 Blacklist 命名,技术政治正确?
By 超神经
内容提要:自 George Floyd 事件后,美国至全球各地为非洲裔人群争取权利的 Black Lives Matter活动愈演愈烈,从线下游行也扩展到了技术圈里。
关键词:blacklist master/slave 命名规则
2020 年 5 月 26 日,明尼苏达州的明尼阿波利斯市,四名美国警察暴力执法,导致 George Floyd 窒息身亡。
至今,全美已经有近 100 个城市进行了抗议示威、游行、甚至打砸抢的暴力活动。
现在,这场平权风潮也刮到了科技圈,衍生出了不少运动。
GitHub :将 Master 改为 Trunk
GitHub 在 https://github.com/cli/cli/issues/929
中申明(5 月 15 日首次发布):
Github 团队在近一个月前就提出了该 issue
我们团队希望将默认分支名称从「master」更改为「trunk」,因为「master」在某些情况下与奴隶制相关。
(虽然我们知道 git 中使用的「master」 并不一定具有该含义,但是我们不想在这里出现歧义。)
目前这个 issue 已经关闭。
Chrome 、Go:废除 Blacklist/Whitelist
自去年 10 月以来,Chrome( 开源项目Chromium )在其官方指南加入了如何编写 「种族中立」的代码指导手册。
Google Chrome 的代码评审 Chromium Gerrit 指出
在组件/黑名单中重命名类,使用更具包容性的名称
该手册中明确指出,Chrome 和 Chromium 的开发者,应避免使用 「Blacklist」和 「Whitelist」一词。
而应使用中性词 「Blocklist」 和「 Allowlist」。
Go 已经删除了所有 whitelist/blacklist
和 master/slave 的使用
Golang 也有开发者也提了类似 commit,认为 whitelist/blacklist、master/slave 这些词汇给一些人带来了伤害。
Redis :18 年曾因 master/slave 引发争议
因为种族中立的原因修改命名,并不是第一次,早在 2018 年,Redis 就曾做过一次调整。
Redis 的主从模式(master-slave),源自 MySQL 中同名的一个概念,用于同步数据。
在具体场景中,master-slave 不带任何感情色彩,仅表示主从关系。然而有很多开发者却不这样认为,他们认为 Redis 发布 5.0 RC5 后,更新日志中 Redis 仍然在使用 「master」 和 「slave」 并希望 Redis 作者能修改 Redis 中 master-slave 架构的描述。
按 Redis 作者 antirez 的说法,这已经不是开发者第一次提这种要求了,但这次反馈的人数居多。
antirez 在 Twitter 发起的匿名投票,希望收集大家的意见。
结果显示超过半数的人希望修改 master-slave 这一描述。
Twitter 上站队:修改命名,你滋不滋词?
也是这几天,在 Twitter 上有网友发起了一项运动,号召更多技术组织和公司,将「Blacklist」和 「Whitelist」以及「master」和 「slave」都进行修改
推特用户 Leah Culver 号召大家加入修改命名运动
获得了很多支持,也收获了不少质疑和嘲讽。
支持的声音主要认为命名的确不妥,尤其在现在,种族问题浮上水面,更应该通过这类方式表示出自己的立场和支持。
而质疑和嘲讽也是很有自己的道理,认为技术本身与立场无关,这些命名无非就是按照大家的认知习惯进行。
无论是 Black/White 还是 Slave/Mster,并没有代表种族歧视的意义在其中。
网友@Doug Gorley 认为:
我自己这两年也把 Master/Slave 换成了 Leader/Replica,但其实我压根没考虑过 Blacklist/Whitelist 的内涵。
我不知道有什么好的替代方案。Passlist/Blocklist 或者 Golist/Stoplist 或者 Greenlist/Redlist?
更有网友讽刺这种做法多此一举,只能装装门面:
在我下国际象棋时,我总是让黑棋先走,然后立即认输。虽然这不是一局好棋,但这是一种象征性的姿态,最终会解决种族主义问题。
—— 完 ——
扫描二维码,加入讨论群
获得更多优质数据集
了解人工智能落地应用
关注顶会&论文
回复「读者」了解详情
更多精彩内容(点击图片阅读)