Redis 之后,Python 的 master-slave 亦恐被无奈修改
前两天我们报道了一篇关于 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 中的评论回应了关于这一主题的所有其他在线争论。
“我不会因为 Python 根据秘密评论改变其行为而感到激动”,Larry Hastings 感叹道,“传统上,Python 有一个非常开放的治理模式,所有讨论都是在公开场合进行的。”
“是否真的有必要用 SJW(Social Justice Warrior) 的意识形态/术语来“污染” Python 代码库?”Gabriel Marko 质疑道,“那么接下来又会是什么?”
Raymond Hettinger 也对这些术语是否真的有明显伤害他人感到疑问。他在评论中写道:“如果一个特定的段落表述不清楚或令人反感,这确实应该被修改;否则,我们不应该让含糊不清的政治正确观念影响其他明确的常见英语用法。而且据我所知,没有一个案例表明,在文档中使用了'master'就是为了反映奴隶制这件事,或者暗含对这一概念的认可。”
最后,van Rossum 介入了这场争论,以结束一场似乎是无解的讨论。他在评论中写到:“我正在关闭这些 PR,Victor 的 PR 中有四分之三已被合并。但第四个不应被合并,因为它是对 UNIX ptys 底层术语的反映。还有一个关于 'pliant children' -> 'helpers' 的讨论,这个后续可以作为 PR 处理,而不需要保持开放讨论的状态。”
I'm closing this now. Three out of four of Victor's PRs have been merged. The fourth one should not be merged because it reflects the underlying terminology of UNIX ptys. There's a remaining quibble about "pliant children" -> "helpers" but that can be dealt with as a follow-up PR without keeping this discussion open.
然而,我们都应该明白,要摆脱真正的 master 和 slave,绝不仅仅是一件提交 pull request 就能解决的事。
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
Java 11 将至,不妨了解一下 Oracle JDK 之外的版本
Java 11 计划于本月,即 9 月 25 日发布。与 Java 10 不同,Java 11 不仅提供了长期支持,还将作为 Java 平台的参考实现。新的长期支持版本每三年发布一次,根据后续的发布计划,Java 17 将于 2021 年发布。 我们曾报道过,甲骨文已经改进了Java SE(标准版)的商业支持计划,由之前企业一次性支付永久许可费用加年度支持费用的模式,改为新的订阅模式(Java SE Subscription),当然个人使用和非商业使用可继续享受免费支持,无需订阅。在本文中,我们不妨了解一下 Oracle JDK 之外的 JDK,以及围绕OpenJDK 构建的生态系统所拥有的深度。本文将为大家介绍一些主流的 OpenJDK 变种版本。 OpenJDK builds 实际上,JDK 只有一组源代码。源代码使用 Mercurial(分布式版本控制系统)托管在OpenJDK。任何人都可以获取该源码,并通过源码构建一个变种版本发布到网络上。但是需要一个独有的认证程序(certification process)来确保构建的变种版本是有效的。 这个认证程序是由 JCP(Java ...
- 下一篇
Facebook 开发的 HHVM 引擎宣布停止支持 PHP
近日,Facebook 开发的 PHP 执行引擎 HHVM 在其官方博客上宣布,他们即将停止支持PHP。 HHVM 通过将 PHP 代码动态翻译成原生机器码而大幅提高速度。HHVM 支持 PHP 和 PHP 方言 Hack 语言。但现在开发团队宣布 HHVM v3.30 将是最后一个支持 PHP 的版本,下面是一些关键的时间节点: 2018-12-03(branch cut): 在该日期后,PHP 代码将停止用于master 和 nightly builds 2018-12-17: 发布 v3.30.0 版本 2019-01-28: 发布 v4.0.0 版本,不再支持 PHP 2019-11-19: 终止对 v3.30 的支持 HHVM 开发团队建议使用 HHVM 的项目完全迁移到 Hack 或 PHP7 和 PHP 运行时。 他们还表示,希望自身做出的对现实世界PHP 代码的支持能够快速突破:例如,他们可能会使用 inout 参数代替内置的引用参数 (&$foo),使得INT64_MAX + 1 === INT64_MIN(浮点数除外)。 关于 HHVM 放弃对 PHP 支持...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS关闭SELinux安全模块
- CentOS7,8上快速安装Gitea,搭建Git服务器
- MySQL8.0.19开启GTID主从同步CentOS8
- SpringBoot2全家桶,快速入门学习开发网站教程
- SpringBoot2初体验,简单认识spring boot2并且搭建基础工程
- CentOS8编译安装MySQL8.0.19
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- 设置Eclipse缩进为4个空格,增强代码规范
- Red5直播服务器,属于Java语言的直播服务器