查看原文
其他

Master、Slave等术语将不能在未来的Linux代码中使用

码农小胖哥 码农小胖哥 2021-05-26

前提概要

最近国外反对种族歧视的Black Lives Matter活动愈演愈烈,已经在 IT 软件领域也蔓延开来。为了避免带有“种族歧视”的词汇,已经有越来越多的 IT 企业和知名软件项目宣布废除masterslaveblacklistwhitelist等敏感词汇。

Linux 将为此更换一些敏感的术语

近日Linus Torvalds已经批准了一个提议。我们可以在Linux内核的Git仓库看到这一Commit

Linus Torvald 批准了避免涉及种族歧视词汇的PR

大意上就是从今往后Linux开发者应避免使用master / slaveblacklist/whitelist等敏感词汇。

拟替代Master/slave的候选词汇有:

  • {primary,main} / {secondary,replica,subordinate}
  • {initiator,requester} / {target,responder}
  • {controller,host} / {device,worker,proxy}
  • leader / follower
  • director / performer

拟替代blacklist/whitelist的候选词汇有:

  • denylist / allowlist

  • blocklist / passlist

Linux团队并没有推荐具体的术语,而由开发者自行选择。新术语将应用于未来的源代码和文档中。而旧术语将只被允许用于维护旧的代码和文档。但是关于这一决定的正式声明还没有发布。

胖哥评点

为了把自己排除在“种族歧视”之外,众多科技公司和开源项目都重新审查了自己的行为。其中不乏 TwitterGitHub微软LinkedIn这些大公司,以及MySQLAndroidGolangCurl等知名项目,如今更是波及了影响力最大的Linux项目。

根据我从其他方面了解的情况,其实并不是这些词汇不好,倡议者只是希望不要把“黑”作为“白”的对立面,表达“不好”、“坏”、“需要被限制”等负面意思。同理,当“master、slave”出现在源码中,并且表达的“主-从”关系,这会让一些人联想到奴隶制,从而联想到种族不平等。他们希望“使用比较中性、包容的词汇”。

但是大家都知道修改这些词汇除了有可能带来不兼容等技术问题外,也会带来项目开发流程和变更等非技术的问题。这是开发中比较担心的事情,所以这个运动并没有得到所有人的拥护。但是对于国外来说这一话题是非常敏感的,没有组织和个人可以旗帜鲜明的反对,他们只能这样做。

说完国外,其实这个对国内也是有很大影响的,随着国内一些开源项目在国际上越来越活跃,比如国内的SkywalkingEchart已经进入了Apache基金会,TiDBTiKV进入了CNCF基金会。这些项目也都有可能因此改变一些“规则”来“包容”。此次Linux加入相关的议题也会影响像KylinDeepin等国产Linux系统。对于普通开发者其实影响还是有限的,不需要有太多的顾虑。

往期推荐:

Java常用构建对象的三种方式

2020-07-11

你要的技术干货我都总结好了

2020-07-11

微服务就真的适合你吗

2020-07-10



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

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