发生了什么事

日前,Linux 内核主要维护者之一 Greg Kroah-Hartman (Greg K-H) 提交了一项不寻常的“文档”更新,将数名具有 <.ru> 顶级域名邮箱的维护者,和一名明确为俄罗斯身份的维护者从 MAINTAINERS(维护者名录)文件除名。
这一提交已于上周日被 Linus Torvalds 拉取并包含于 6.12-rc4 版本的代码中。
已有来自于 AOSC 的开发者提交了 revert(尚未合并),而 Linus 本人在评论中声明其对先前的 commit 知情并支持

一开始,我以为是 “反向” 厚脸皮PR

一般来说, github 上混一个 contributor 得贡献代码,很多人就改改文档、翻译就拿到一个“贡献者”称号(我也干过哈哈哈)。甚至还有离了大谱的,直接提一个 pull request 内容是把自己加到 contributors 文件里。。

我以为是 Linux Foundation 发疯了,为了某种 “合规” 或者 sanction,掩耳盗铃,把 作者名字列表.txt 改改掩人耳目

仔细看了下,发现好像并不是那么简单。这里是diff

https://github.com/torvalds/linux/commit/6e90b675cf942e50c70e8394dfb5862975c3b3b2

这里是更改后完整的 MAINTAINERS 内容:

https://github.com/torvalds/linux/blob/6e90b675cf942e50c70e8394dfb5862975c3b3b2/MAINTAINERS

直接通过 github API 拿到原始的 diff

curl -H'Accept: application/vnd.github.diff' -sk 'https://api.github.com/repos/torvalds/linux/commits/6e90b675cf942e50c70e8394dfb5862975c3b3b2'

乱写几个 prompt 丢给 gpt-4o,可以看到大概做了下列几处更改:

Device/Module Probable Date Author Email
Acer Aspire 1 Embedded Controller ~2018 Nikita Travkin nikita@trvn.ru
Alpha Port (Ivan Kokshaysky removed) ~1992 Ivan Kokshaysky (removed) ink@jurassic.park.msu.ru
ARM/Cirrus Logic CLPS711X Architecture ~1996 Alexander Shiyan shc_work@mail.ru
Baikal-T1 PVT Hardware Monitor ~2015 Serge Semin fancer.lancer@gmail.com
GRE Demultiplexer Driver ~2000 Dmitry Kozlov xeb@mail.ru
LIBATA PATA Drivers ~2003 Sergey Shtylyov s.shtylyov@omp.ru
LIBATA SATA AHCI Synopsys DWC Driver ~2014 Serge Semin fancer.lancer@gmail.com
Media Drivers for Ascot2E ~2010 Sergey Kozlov, Abylay Ospan serjk@netup.ru, aospan@netup.ru
Media Drivers for CXD2841ER ~2015 Sergey Kozlov, Abylay Ospan serjk@netup.ru, aospan@netup.ru
Media Drivers for Helene ~2017 Abylay Ospan aospan@netup.ru
Media Drivers for Horus3A ~2018 Sergey Kozlov, Abylay Ospan serjk@netup.ru, aospan@netup.ru
Media Drivers for LNBH25 ~2012 Sergey Kozlov, Abylay Ospan serjk@netup.ru, aospan@netup.ru
NetUP PCI Universal DVB Devices ~2010 Sergey Kozlov, Abylay Ospan serjk@netup.ru, aospan@netup.ru
MIPS Baikal-T1 Platform ~2015 Serge Semin fancer.lancer@gmail.com
NTB IDT Driver ~2014 Serge Semin fancer.lancer@gmail.com
PPTP Driver ~1996 Dmitry Kozlov xeb@mail.ru
Renesas Ethernet AVB Driver ~2013 Sergey Shtylyov s.shtylyov@omp.ru
Renesas R-Car SATA Driver ~2015 Sergey Shtylyov s.shtylyov@omp.ru
Renesas SuperH Ethernet Driver ~2000 Sergey Shtylyov s.shtylyov@omp.ru
Synopsys DesignWare APB SSI Driver ~2010 Serge Semin fancer.lancer@gmail.com
UFS Filesystem ~1974 Evgeniy Dushistov dushistov@gmail.com

如果说作者 @gregkh 作出这个改动的动机说

Remove some entries due to various compliance requirements

那么 BAIKAL 这个是明显会去掉。其余的改动,我能认出来的比较重要的有 PPTP Driver,其它都是五花八门驱动的维护者,感觉就算去掉, impact 的功能也不多。

当然你也可以说 first they came for the ... 我就不继续展开了

下面列举几个可能不那么重要,但是我觉得很容易被忽略的事实:

一、 .ru 的邮箱被全部移除了吗?

是的。最新版本 MAINTAINERS 文件里我搜了 .rurussia 关键词没找到了。干干净净。当然后期会不会加回来我不知道。

二、 俄国人对 Linux 的贡献被抹掉了吗?

第一,上面这些人的对应代码贡献,目前并没有删掉。

第二,Linux 源码根目录还有一个 CREDITS 文件,里面包含了下列俄国人:

N: Yuri Per
E: yuri@pts.mipt.ru
D: Some smbfs fixes
S: Demonstratsii 8-382
S: Tula 300000
S: Russia

N: Alexey Kuznetsov
E: kuznet@ms2.inr.ac.ru
D: Author and maintainer of large parts of the networking stack

N: Stas Sergeev
E: stsp@users.sourceforge.net
D: PCM PC-Speaker driver
D: misc fixes
S: Russia

三、 俄国人不能参与 Linux 项目了吗?

我在这里想补充一个背景知识,什么是 Linux Kernel 的 maintainer

内核功能繁多,Linus 老爷子一个人照看不过来,得把拆分成各个模块,授权给相应的 负责人(maintainer),给予他们检查、合并代码的权限。Linux基金会(注册地:美国)会给他们配置一个专用邮件列表用来主持专项议事

上面这句话,如何理解?可能对某些简中读者没看明白。简单的说:.ru 用户还是可以以 developer 身份向别的 maintainer 提交代码。这里不得不提到那个出名的 kernel git workflow

这是普通 git 项目的工作流:

这个是 linux kernel 的(图很老,大概这个意思):

普通人是没法直接向 mainline https://github.com/torvalds/linux 提交代码的。这个社区甚至会给你一个长长的文档教你一步一步如何提代码

不要说新功能了,一些老功能的 patch 要赶上主线发车窗口,你手续流程都很长。

想给内核做贡献,你要面对的甚至都不是 Linus 本尊,恰好是这些 MAINTAINERS 里列举的各位把关人。世界上绝大部分的人对 Linux 内核做贡献都是这样。 maintainer 是极少数,他们可以直接向 Linus 提改动。

Linus 自己也说了,他是芬兰人,意思就是说他不想看到俄国人。啊这。能理解,不提倡!

四、maintainer 名单变化多吗?

从提交历史来看,

https://github.com/torvalds/linux/commits/master/MAINTAINERS

人员进进出出很频繁。但是 @gregkh 这种在 char-misc 里搭车进去,的确偷偷摸摸。

五、 .cn 会被波及吗?

这个问题我无法回答,但是可以列一下现在有的:

  1. 一大堆 LOONGARCH 龙芯的驱动和各种模块
  2. 海光 HYGON 驱动
  3. 简中翻译 Alex Shi alexs@kernel.org Yanteng Si siyanteng@loongson.cn
  4. 繁体翻译 Hu Haowen 2023002089@link.tyut.edu.cn https://github.com/srcres258/linux-doc 太原理工的人才!
  5. RADOS BLOCK DEVICE (RBD) Ilya Dryomov idryomov@gmail.com Dongsheng Yang dongsheng.yang@easystack.cn ceph-devel@vger.kernel.org
  6. 一大堆 @huawei.com @linux.alibaba.com的各种驱动和模块
  7. 可能有别的大陆+港澳台公司邮箱我漏掉了。懒得看了。

CREDITS 里鸣谢的:

N: Chih-Jen Chang
E: chihjenc@scf.usc.edu
E: chihjen@iis.sinica.edu.tw
D: IGMP(Internet Group Management Protocol) version 2
S: 3F, 65 Tajen street
S: Tamsui town, Taipei county,
S: Taiwan 251
S: Republic of China

N: Li Yang
E: leoli@freescale.com
D: Freescale Highspeed USB device driver
D: Freescale QE SoC support and Ethernet driver
S: B-1206 Jingmao Guojigongyu
S: 16 Baliqiao Nanjie, Beijing 101100
S: People's Repulic of China

N: Tsu-Sheng Tsao
E: tsusheng@scf.usc.edu
D: IGMP(Internet Group Management Protocol) version 2
S: 2F 14 ALY 31 LN 166 SEC 1 SHIH-PEI RD
S: Taipei
S: Taiwan 112
S: Republic of China
S: 24335 Delta Drive
S: Diamond Bar, California 91765
S: USA

六、结束语

总的来说 Linux内核项目,包括不限于很多别的社区项目,还是英雄主义色彩很重的,这样的个人主义既可以说出“nVidia fuck you”,也完全有可能在某一天把主语丝滑切成 “Russia”。这压根就是同一个硬币的同一面(甚至都不是另一面)

在国际地缘政治热火朝天、段视频AI诵读、情绪控制终端满天飞的今天,讨论这些重要吗?有用吗?

回答:不重要,没用

但是对我个人而言,或许有那么一丢丢重要,有一丁点用。

希望对你也有点用。