几天后,GitHub的“master”将更改为“main”
关注“脚本之家”,与百万开发者在一起
来源 | 开源中国(ID:oschina2013)
GitHub 官方表示,从今年 10 月 1 日起,在该平台上创建的所有新的源代码仓库将默认被命名为 "main",而不是原先的"master"。值得注意的是,现有的存储库不会受到此更改影响。
早在今年 6 月份,受美国大规模的 “Black Lives Matter”运动影响,为了安抚愈演愈烈的民众情绪,GitHub 就宣布将替换掉 master 等术语,以避免联想奴隶制。现如今,在外界一些声音的催促下,这一举措则终于要正式落地了。
除 GitHub 外,为了避免带有所谓的“种族歧视色彩”,许多科技巨头或知名软件也都调整了自己的业务和产品,以平息社会舆论。包括有:MySQL 宣布删除 master、黑名单白名单等术语;Linus Torvalds 通过了 Linux 中避免 master/slave 等术语的提案;还有 Twitter 、GitHub、微软、LinkedIn、Ansible、Splunk、OpenZFS、OpenSSL、JP Morgan、 Android 移动操作系统、Go 编程语言、PHPUnit 和 Curl 等宣布要对此类术语进行删除或更改。同时,IBM、亚马逊、微软也都接连调整面部识别平台业务,以防加深歧视或遭受指责。
且最初在 Git 中写下“master”一词的开发者 Petr Baudis 也于 6 月份在社交网站上表明立场称,自己当年不该使用“master”这个可能给别人造成伤害的词语。并表示,他曾多次希望可以将“master”改成“main”(和“upstream”)。不过直到现在,才由 GitHub 开始主导替换工作。
而对于为何选择“main”而不是其他替换词汇,Github 方面给出的解释为,main 是他们在平台上看到的最受欢迎的 master 替代品。并且 main 这个词汇很短,可以帮助用户形成良好的肌肉记忆;在很多种语言中翻译起来也都很容易。
目前,该平台已将 main 用于新创建的仓库和正在迁移的仓库,例如 dependabot-core。不过,Github 也指出,对于现有的仓库来说,重命名默认分支的举措无可避免地会造成一些麻烦,譬如必须编辑拉请求的设置和修改安全策略等。
此外,Github 还透露,截至今年年底,他们将使现有存储库无缝重命名其默认分支。当用户重命名分支机构时,他们将重新定位打开的 PR 和草稿版本、移动分支机构保护策略等,且所有的这些都将自动完成。
事实上,计算机术语政治正确性早已不是新鲜话题。2004 年,“master/slave”曾被全球语言检测机构评为年度最不政治正确的十大词汇之一,时任主席称这是政治渗透到计算机技术控制中的表现。2008 年,开源软件 Drupal 在社区发布消息,高调站队,将“master/slave”重命名为“client/server”。2018年,IETF 也在草案当中指出,要求开源软件更改“master/slave”和“blacklist/whitelist”两项表述。
然而在一些开发者呼吁一些开源软件厂商修改源码,清除此类词汇的同时,也有很多人持反对意见。其中最突出的两个理由则是:计算机源码中的“master、blacklist”等词语并不包含歧视情绪;和更改的成本不低。
可以理解的是,倡议者们想表达的是,并不是不能使用“黑”这个词,而是希望不要把“黑”作为“白”的对立面,表达“不好”、“坏”、“需要被限制”等负面意思。同理,当“master、slave”出现在源码中,并且表达的“主-从”关系,这会让一些人联想到奴隶制。
但是值得思考的是,在计算机源码领域中,“master/slave”和“blacklist/whitelist”之类的技术用语有错吗?一味的“一刀切”的话,会不会导致所谓的矫枉过正呢?
每日打卡赢积分兑换书籍入口
👇🏻👇🏻👇🏻