发布于 2026-01-05 2 阅读
0

在 Git C++ 中替换“master”时遇到的 9 个问题

在 Git 中替换“master”时遇到的 9 个问题

C+=

【背景介绍(供不熟悉这场争论的人参考):2020年夏天,仿佛世界还不够多真正的问题(新冠疫情、乔治·弗洛伊德抗议活动)似的,一些渴望博取社会关注的活动人士开始声称,在所有人类活动领域都必须取消“master”(主人)一词,因为在古代,它指的是黑奴的主人。软件工程领域就是其中之一,在这个领域,“master”一词从未与奴隶制有任何关联,它仅仅表示“主要的”,而不是“次要的”。我不知道为什么这场争论偏偏在这个时候爆发,而不是延续之前反对硕士学位的争论。】


这篇文章最初是对“在 Git 中替换 master 分支”一文的评论回复,但后来却变成了一个更长的话题。引发我思考的是这句话:

“主人/奴隶是一种压迫性的隐喻”

这句话存在太多问题。首先……

1. Git 中没有“从属”的概念。

或许MongoDB 存在这个问题,但 Git 不存在。因此,Git 中并不存在所谓的“主/从”模式。

2. 词语的含义会随着时间而改变

“Master”一词常用于唱片行业,或用来指代技能(例如“理学硕士”、“功夫大师”等)。我不是英语母语者,所以“master”这个词对我来说也很陌生,但在美式英语中,过去50年里,“master”更多地用来指代黑胶唱片、CD、学位和专业知识,而不是奴隶制。正如其他人所说

这些词语已经存在几十年了,现在突然就觉得它们带有种族歧视色彩了吗?我认为这是对一个根本不存在的问题的过激反应。

3. 任何事物本身都不具有压迫性。

人们会赋予事物意义。爱比克泰德曾就侮辱说过一句名言(虽然“主人”远非侮辱,但为了说明这一点):

“记住,仅仅被侮辱并不足以构成伤害,你必须相信自己受到了伤害。如果有人成功地激怒了你,你要意识到你的思想也参与了这种挑衅。真正侮辱你的不是辱骂你的人,而是你认为这些话是侮辱的想法。”

4. Git 中的“master”一词究竟冒犯了谁?

绝大多数开发者与压迫无关,也从未打算压迫任何人。

有没有人抱怨过在 Git 代码库中看到“master”分支时感到被冒犯?就我目前所见,黑人开发者似乎并没有因为这个词而感到被冒犯。

我觉得这是个不错的举动。但作为一名有色人种,看到这样的事情还是会感到有些尴尬,因为自从我开始接触计算机科学以来,直到现在,我从未有过这种感觉。这种感觉受到很多因素的影响,部分原因是我的出身不同,那里的一些词汇对我的历史影响并不那么深刻,而且我也无法代表世界其他地方的有色人种发言。

在我看来,重新利用代码库比重命名代码库的影响更大。将分支名称从“master”改为“default”的影响远不及GitHub直接停止与美国移民及海关执法局(ICE)等政府机构合作的影响。移除“黑名单/白名单”机制,转而采用可能更难记忆的新机制,其影响也远不及不屏蔽来自伊朗等地的开源账户和代码库的影响。

历史名称造成的危害远小于当今企业不人道的做法。但这只是我个人的看法。

黑人根本不在乎

我完全同意你的观点,我认为这类改变只会让情况比以前更糟,我从未听说有人抱怨过这个术语。

我是一名开发者,也是黑人(我并不代表其他有色人种发言),但我从未因为在使用或不使用的软件中看到某个词而感到冒犯。我认为,如果我们能够接受彼此不同的文化,作为一个社区,我们可以做更多更好的事情。

感谢 Ben Calder指出一些 Drupal 贡献者对主/从架构感到不满。这与masterGit 世界中的情况不同。

如果真的没有人因为这个词而感到冒犯,那么我们所做的只是浪费时间去改变一个完美运行的流程,仅仅是为了标榜自己“觉醒”,同时在这个过程中惹恼更多的人,浪费他们的时间,因为“master”将不再有效,而它的替代品将破坏一切。

5. 这次更名有哪些缺点?

在做出如此重大的决策时,我们需要意识到,它会使过去15年来使用“master”一词编写的脚本、构建流水线、持续集成流程和Git教程全部失效。它的投资回报率是多少?这是一个合理的问题。我们认为“master”可能会冒犯一些黑人开发者的感受,好吧,也许还有一些我还没遇到,但那些不得不应对这一变化的人实际承受的痛苦呢?构建失败、熬夜修复由变更引起的P0错误、因为部署前没有进行充分测试而被解雇、给无辜的客户造成停机——任何DevOps人员都会告诉你,这些都是变更带来的切实痛苦。

6. 这纯粹是公关手段吗?

通过公开反对“奴隶主”这一概念,品牌可以从煽动种族冲突中获益,从而提升自身在消费者心目中的形象。索尼公司使用由包括儿童在内的黑奴开采的钴矿,却支持“黑人的命也是命”(BLM)运动。相比之下,GitHub 重命名一个分支的行为显得像是廉价的公关噱头,他们本可以做更有意义的事情,比如停止与美国移民及海关执法局(ICE)合作

Github与ICE的联系

……或者不禁止伊朗开发者,暗示他们利用 GitHub 开发核武器

7. 接下来我们要改什么名字?

奴隶曾被吊死在树枝上,那么“树枝”这个词是否应该更改?还有Lighthouse网站速度审核工具呢?光通常是白色的……展望未来,我们或许可以考虑重新命名“硕士学位”。

我知道这会滑向危险的深渊。我们已经走过这条路了!2015年,“.bro”这个文件扩展名 被认为具有冒犯性,不得不改成.bro。在一些文化中(比如澳大利亚和新西兰),“bro”是一个非常积极的称呼。但总有人会因此感到被冒犯。问题的关键在于,这种滑坡效应会止于何处?我敢肯定,当初觉得“bro”冒犯的人肯定不会就此罢休。.br

我们通过改变扩展程序,是否帮助这个人变得更加宽容、包容、坚韧、冷静,或者在任何方面比以前更好?

我想知道那个人对这个恶搞视频作何反应:

GitHub 标志 ErisBlastar / cplusequality

女权软件基金会 C++,一种为我们女权主义者设计的新语言

自由科学 C+平等

这是女权主义软件基金会的一个项目。女权主义软件是任何现代自由社会的基石。我们致力于构建这一基石。

警告:本代码库使用讽刺、挖苦和其他幽默手法,可能会激怒女权主义者。本代码库的维护者曾一度离开,原因是她遭到一群缺乏幽默感的女权主义者的恶意篡改。这颇具讽刺意味,因为这门语言是由女性为女权主义者编写的。我们致力于帮助女性和女权主义者拥有一种不受资本主义父权制和男性控制的编程语言。

现在托管在 BitBucket 上,因为GitHub 被证明过于厌女,无法支持女权主义编程语言

C+=

C+=(读作C-plus-Equality,或See Equality)是一种女权主义编程语言,旨在打破所有当前计算机编程语言中固有的、渗透其中的有毒父权制。

总之,我有个很奇怪的习惯:我特别讨厌别人叫我“bro”。这很不合常理,我也不知道为什么。但我并不介意我的澳洲朋友叫我“bro”。他们这么说并没有恶意;相反,“bro”是一种表示兄弟情谊、亲切的称呼。有人会因为一个文件扩展名而感到冒犯,而这个扩展名除了是压缩算法“Brotli”的缩写之外没有任何意义,这让我很费解。

当滑坡谬误被用来支持论点时,它就是一种谬误。但在这里,它仅仅是一个事实。我并不是说我们不应该重命名“master”。尽管改吧,改就改。我只是指出,对此大惊小怪有些不妥。

8.难道我们没有更重要的事情需要担心吗?

我们花在这场辩论上的时间,难道不能更好地用于其他方面吗?还是我们只是喜欢那种做了些有意义的事情的错觉?我认为,争论黑人(应该?)对某个词的感受,会让我们忽略真正的问题。

9. 这对黑人开发者来说是一种羞辱吗?

最后,也是最糟糕的一点,我们盲目地删除“大师”一词,实际上是在不加批判地复制一种贬低黑人主体性、以白人为中心的叙事。我们假定黑人开发者无法将“大师”一词仅仅视为一个标签,而不能将其视为其他含义。难道你不认为黑人开发者会觉得这种假定是一种羞辱吗?

PS:我之前也关注过类似举措引发的反应。Ruby on Rails 的创始人曾在 2018 年 8 月就讨论过重命名 master 分支。当时开发者社区的反应和我几乎一样。

文章来源:https://dev.to/dandv/8-problems-with-replacing-master-in-git-2hck