前两天我们报道了一篇关于
Redis 的新闻,因为 Redis 中的 master-slave 术语被认为具有侵犯性,所以出现了很多呼吁修改的声音。最终,Redis
作者迫于无奈,在尽量不影响项目的情况下,做了一些妥协。而如今,这项带有政治色彩的“运动”蔓延到了 Python 身上,就连宣布退出 Python 核心开发组决策层的 Guido van Rossum 也被请回来解决关于政治不正确的语言辩论。Guido van Rossum 是 Python 创始人,素有“终身仁慈独裁者(BDFL)”之称,不过他现在的处境就像教父中黑手党柯里昂家族首领的 Michael Corleone 一样。 和其他开源社区一样,Python 的管理员也被问及是否真的想继续使用 master 和 slave 术语来描述相关的技术操作和关系,因为这些单词会让一部分人想起美国旧时的黑奴制度,这是一个历史遗留问题而且直到今天依然会引起关于政治方面的激烈争论。 就在上周,在 Red Hat 工作的 Python 开发者 Victor Stinner 公开提交了 4 个 PR,希望能将 Python
文档和代码中出现的 "master" 和 "slave" 修改为像 "parent" 和 "worker"
这样的术语,以及对其他类似的术语也进行修改。Victor Stinner 在他的 bug report
中解释说,出于多元化的考虑,尽量避免出现与奴隶制相关的术语反而可能会更好,像 'master' 和 'slave'
这种。他还指出之前就已有关于这个问题的投诉,但都是私下提出的 —— 以避免引起激烈的争论。 等到 Python 3.8 发布时,相信像这些被认为具有“侵犯性”的术语将会减少。 事实上,在技术圈子里,这种关于政治正确的事屡见不鲜。前两天关于 Redis 的这件事,社区去年就因这个问题进行了激烈的争论。而在 2014 年,Drupal 在经过一番论证之后,将 "master" 和 "slave" 这两个词换成了 "primary" 和 "replica"。同年,Django 用 "leader" 和 "follower" 代替了 "master" 和 "slave"。CouchDB 也在 2014 年进行了类似的语言描述方面的清理。 这些争论在科技行业也仍然存在。2004年,观察组织 —— 全球语言监测组织将科技行业中 "master" 和 "slave" 的使用列为当年政治最不正确的术语。而这些术语的行业用法可追溯到几十年前,我们甚至可以在多个 RFC 中找到它,例如 RFC 977 (1986)。 而这次关于 Python 的讨论,我们可以预见到,参与讨论的每个 Python 开发者都不会同意 Stinner 提出的变更。Stinner 提交的 bug report 中的评论回应了关于这一主题的所有其他在线争论。
最后,van Rossum 介入了这场争论,以结束一场似乎是无解的讨论。他在评论中写到:“我正在关闭这些
PR,Victor 的 PR 中有四分之三已被合并。但第四个不应被合并,因为它是对 UNIX ptys 底层术语的反映。还有一个关于
'pliant children' -> 'helpers' 的讨论,这个后续可以作为 PR 处理,而不需要保持开放讨论的状态。”
然而,我们都应该明白,要摆脱真正的 master 和 slave,绝不仅仅是一件提交 pull request 就能解决的事。 |