Linus 的行为与内核开发社区

作者:Zack Brown

警告:本文包含不雅语言。

在 2018 年 9 月 16 日,Linus Torvalds 发布了内核的 4.19-rc4 版本,并且他还宣布他将暂停 Linux 开发,以便反思自己的行为,并提出更好的内核开发方法。这部分受到他意识到自己并不期待 内核峰会 活动的启发,他说“我希望完全跳过年度内核峰会,这实际上并不好笑,也不是一个好兆头。”

他还写道,这部分灵感也来自于

...我们社区的人们就我一生不理解情感的问题与我对质。我在电子邮件中轻率的攻击既不专业也不应该。尤其是在我将其个人化的时候。在我追求更好的补丁的过程中,这对我来说是有道理的。我现在知道这是不对的,我真的感到抱歉。

因此他说,“我将抽出时间并寻求帮助,了解人们的情绪并做出适当的反应。”

他将这种情况比作 Linux 内核项目过去在技术层面经历的“痛点”,例如从 tarball 迁移到 BitKeeper,再从 BitKeeper 迁移到 git。他评论说:“我们大约十年没有遇到过那种痛点了。但本周对我来说感觉就像那种痛点。”

他还补充说,为了澄清,“这不是某种‘我精疲力尽了,我需要离开’的休息。我并没有感觉自己不想继续维护 Linux。恰恰相反。我非常 *想* 继续做这个我已经工作了近三十年的项目。”

那是 Linus 在撰写本文时发送到邮件列表的最后一篇文章。然而,他和几位其他内核开发人员签署了一项针对内核树的补丁,其中纳入了新的行为准则政策。这相当陈词滥调——基本上,不要刻薄,不要歧视,违规行为将受到调查,并采取适当的措施。

这不是一个新想法。很久以前,Richard Stallman 曾经在邮件列表中捣乱,试图就“Linux”与“GNU/Linux”展开争论,直到邮件列表维护者威胁说,如果他继续这样做,就会禁止他。他们将其表述为一般规则,与行为准则没什么不同。

对于 Linus 的声明和行为准则本身,人们的反应各不相同。有些人认为 Linus 之前的行为一直在加强社区,鼓励人们平等回应,并在他们关心的问题上与 Linus 争论。

有些人认为 Linus 迈出了非常棒的一步,寻求反馈并反思这些问题,他们反过来也提供了自己的见解和帮助。

另一方面,有些人认为在软件项目中开始欢迎政治议程是错误的。他们认为采用行为准则是某些利益集团获得对软件项目其他形式控制权的一种方式。

有些人认为行为准则没有像其他补丁那样在公共论坛上进行充分讨论,不应该在没有那种流程的情况下直接进入内核。

有些人认为自 2015 年以来就存在于内核源代码树中的“行为冲突准则”已经足够好了,不需要修订为这个新的行为准则。两者非常相似——都要求由 Linux 基金会技术咨询委员会 (TAB) 进行调查——但行为准则更明确地说明了哪些类型的沟通会被视为违规行为。有些人认为不需要增加这种明确性,也不应该采纳。

Michael Woods 特别强烈地反对行为准则

任何说服您添加行为准则的人都在说服您将控制权交给一个对内核的核心功能或存在理由没有兴趣的社会正义倡议。

行为准则是无能的人用来从项目所有者手中夺取控制权的工具,这样他们就可以蚕食尸体,并将项目的皮囊作为恋物癖游戏穿戴。

这些人试图引入行为准则的例子,并附有关于推动 CoC 引入的情绪和动机的评论

Pavel Snajdr 回复了 Michael 的论点,他说:“如果我们把新的行为准则看作与 BitKeeper 对开发过程的作用相同,怎么样?它并不完美,但对起步来说是 *某种东西*。而且我相信 Linus 可能会带着 CoC 的 Git,或者类似的东西回来。”

与此同时,Luke Kenneth Casson Leighton 反对行为准则的力度甚至超过了 Michael,他直接对 Linus 说

这开始让我想起神秘博士电影、喜剧电影《世界尽头》以及其他各种 b 级恐怖片,在这些影片中,人们通过精神控制或被替换而接管。

所以我道歉,我要停止小心翼翼,直接问你他妈的是不是疯了,把你的头从你的屁股里拔出来,停止自怨自艾,回到工程师的状态,你他妈的要振作起来,你这个可怜的小程序员

*咳嗽*。足够的 NLP 式的震撼战术,并加入一点喜剧来减轻其刺痛感……请允许我回到理性的见解。

(1) 你为你的行为道歉了,你认识到有问题并寻求帮助,这真是太棒了。但是,你 *可能* 感到有点内疚,而且这显然打击了你的信心,不幸的是,这让政治正确性“悄悄地溜进来”了,我们知道它永远、永远不属于那里:在工程领域。

接下来你就会知道,那些想要从历史书中抹去“master”和“slave”字眼的该死的负罪感十足的白痴会告诉你,我们必须把 SPI 的“MOSI”和“MISO”改成……天哪……我不知道……“ROWI 和 RIWO”——“请求者”和“工作者”或者一些极其愚蠢的东西

请求者:“非常抱歉,如果您不介意,如果不麻烦您,尊敬的工作者先生,当您有时间并且没有在工会规定的休息时间时,您能为我处理这个位更改吗?”

(2) 越来越多的人提出,这一改变是在没有协商的情况下做出的。这 *将* 会给每个人带来麻烦。我强烈、强烈建议恢复它:我非常清楚地表明,问题不在于实际的 CoC,而在于你自己并没有真正遵守它(所以其他人也无法遵守)。

(3) 让我们从工程学的角度来看看那些名为“行为准则”的有害文件是什么样的


#define BEHAVIOUR_GOOD() ((~BEHAVIOUR_BAD) == 0)
#define BEHAVIOUR_BAD BEHAVIOUR_SEXIST | BEHAVIOUR_RACIST |
                      BEHAVIOUR_NAZI |
BEHAVIOUR_UNPLEASANT |
                      BEHAVIOUR_RELIGIOUS_EXTREMIST
....
#define BEHAVIOUR_RELIGIOUS_EXTREMIST \
                      BEHAVIOUR_ANTI_CHRISTIAN \
                      BEHAVIOUR_ANTI_MUSLIM \
                                            ...
....
....
#define BEHAVIOUR_ANTI_MUSLIM 0x1
#define BEHAVIOUR_ANTI_CHRISTIAN 0x2
...
...
...
// oops fuck we're gonna run out of bits extremely quickly....

你看到它要去哪里了吗?你已经明白了吗?如果一位工程师提出上述补丁来创建最近悄悄潜入的有害 CoC 文档,你和几乎所有人都会认为提交者他妈的脑子有问题,需要精神帮助。

这些有害的文件不必明说,但它们 *暗示* 存在(深呼吸……)[在此处插入种族主义名称列表] 以及他们的母亲们都在试图攻击该项目,我们最好确保将他们全部排除在外,否则我们都会遇到麻烦,对吧?

我为使用这些词语道歉:如果你是一个正派的人,你现在应该因为读到那段话,那些词语甚至被使用过而感到生理上的恶心……但它们实际上并没有 *在* 那份有害的文件中,但它们不必在那里:人们仍然在这样想。就像“不要想粉红色的大象”一样,我们的潜意识无法避免地去掉了“不要”。

底线:*整个 linux 内核项目* 现在都已被那份文件 *完全毒害*。

换句话说:工程师会说,“wtf??”并且会说“我们不需要填充位域中的每一位,然后再为了上帝的缘故反转它!只需说‘期望良好的行为’就可以了!!”

那么为什么不说,而不是那个绝对糟糕的清单,“欢迎所有人;每个人都属于这里”。你看到区别了吗?你看到它是多么简单和赋权吗?它是在 *邀请* 人们参与,而且很明显,如果有人感到 *不* 受欢迎,那么规则就被打破了,他们可以提出这个问题。而不是绝对地恐吓和恶心所有人。

这个比喻是关于特蕾莎修女被邀请参加“反战”集会的故事。她拒绝了……并说,“如果你们举行和平集会,我将很乐意参加”。

所以来吧,Linus:醒醒吧,伙计。仅仅因为这超出了你的专业领域,并不意味着你必须放手。*振作起来*。运用你的工程专业知识,将其应用于问题,与 *所有人* 合作,并制定一个 *可接受的* 解决方案。

这个特定主题更多的是关于每个人对 Linus 的声明的回应,而不是关于他们自己之间讨论问题。总的来说,有些人赞成新的行为准则,有些人反对。

就我个人而言,我希望 Pavel Snajdr 是对的——行为准则就是这个特定问题的“BitKeeper”。上次 Linus 暂停内核开发时,他推出了 git,这是一种变革性工具,彻底改变了全世界人们开发软件的方式。

但期望 Linus 在这种情况下凭空想出类似的东西可能不太现实。这不仅仅是一个技术问题。这是一个政治问题,各方都有强烈、毫不妥协的感受——更不用说一些强大的实体,他们有既得经济利益,希望看到 Linux 本身走向毁灭。如果 Linus 带着类似于社区关系的“git”回归内核开发,也许我们那时应该要求他从内核开发中抽出更长的时间,来解决种族、贫困、全球变暖和法西斯主义抬头的问题。

注意:如果您在上面被提及并希望在评论区上方发布回复,请将包含您的回复文本的消息发送至 ljeditor@linuxjournal.com。

免责声明

本文中表达的观点和意见仅代表作者的观点,不一定反映 Linux Journal 的观点。

Zack Brown 是 Linux JournalLinux Magazine 的技术记者,并且是“Kernel Traffic”每周新闻通讯和“Learn Plover”速记打字教程的前作者。他于 1993 年在他的 386 电脑上安装了 Slackware Linux,配备 8MB 内存,并被开源社区彻底震撼。他是纯策略棋盘游戏 Crumble 的发明者,您可以用几块纸板自己制作。他还喜欢写小说、尝试动画、改革拉班舞谱、设计和缝制自己的衣服、学习法语以及与朋友和家人共度时光。

加载 Disqus 评论