由于时间仓促,错别字和不通顺之处请见谅。本文代表甲辰计划主理人个人观点。
TL;DR:
Linux Kernel核心维护者 Greg K-H 突然清洗掉了所有使用俄罗斯国家域名后缀的邮箱的内核维护者。此次行动缺乏透明度,有太多疑问和猜测,并且引发了对全球开源社区发生硬分叉的担忧。笔者作为甲辰计划主理人一方面呼吁国内外赞助企业和开发者积极向Linux基金会及开源社区维护者咨询,另一方面坚决反对国内借机“空手立门户”的投机行为。
事件描述
今日,一个令全球开源开发者意外和震惊的消息开始从Linux Kernel 社区迅速扩散至全球开源开发者群体中:Linux kernel(内核)项目的主要维护者 Greg K-H 在没有进行公开和广泛讨论的前提下,近乎于静默的提交了一笔修改(commit),将所有俄罗斯域名结尾的内核维护人员清除出了内核MAINTAINERS文件。而Linux项目的创始人Linus也迅速而沉默地合并了该笔提交。目前,在最新的Linux代码中已经无法查询到使用俄罗斯域名(.ru) 结尾的维护者邮箱。
最新v6.12 分支中已经被“清洗”(感谢H.R.供图)
在已经发布的v6.11 代码分支中还可以找到20多位使用俄罗斯国家域名结尾的邮箱的维护者的信息。(感谢H.R.供图)
开源项目的开发和维护普遍采用一种分层次的、松散扁平的协作方式。Linux Kernel 项目的最高合并权力掌握在创始人 Linus 手中,而日常的维护则由 Greg K-H 等顶层维护者负责合并;Linux Kernel 目前已经有超过3000万行代码,这些代码由超过3700名子模块维护者进行维护。MAINTAINERS文件公开记录着Linux内核维护者的信息,能够进入维护者的行列需要多年长期的技术投入和社区维护工作,对于开发者而言是巨大的技术声望体现。可能有的开发者用超过10年的时间贡献Linux社区,获得了维护者的荣誉,但是一瞬间就被公开剥夺了身份。此次“维护者清洗”的方式也相当粗暴,有些只有俄罗斯维护者的系统子模块的信息也被一并直接删除。有太多的疑问尚未得到回复,Greg K-H 的提交信息中也仅仅只有含糊其辞的“满足合规要求”,并且找补了一句“如果以后这些人提供了文件证明了自己,还可以加回来的”(英文原文见下图):
可能的后续发展
目前为止公开发布的信息还很少,仅看到少量的报道和评论。目前一个相对而言比较可信的推测是,美国政府对俄罗斯企业发起了制裁,放入了一个名为SDN的特殊名单中,所有美国人(含绿卡持有者)和美国企业(含境外实际控制的实体)不得与SDN名单企业及员工有商业接触,否则将面临极其严厉的处罚。
但是Linux Kernel 核心维护者此次的行为过于缺乏透明度,在没有公开讨论的情况下静默合并,在内核开发者社群里已经引起了震动,以至于有直接掀掉开源社区合作的最底层共识的风险。
仅就此次事件而言,可能有几个不同的发展:
1.Greg K-H 和 Linus 保持沉默强推。这会引起社区开发者的不满和争议,并有可能成为 Linux Kernel 社区从繁荣走向平庸的开始。
2.维持清洗后的 MAINTAINSERS 文件不变,在内核开发者社群中进行解释沟通。这是最有可能的情况。Linux 基金会超过 2/3 的雇员、Linux Kernel 活跃开发者中相当可观的一部分,都居住在美国或持有美国护照,对于美国政府的管辖抗争可能性小。
3.Revert 掉了 Greg K-H 的修改。这是最为 drama 的结果,也是我作为开源社区的“信徒”最希望看到的结果。
长远的影响
此次提交如果后续没有戏剧性的结果,那么很有可能彻底改变全球开源软件协作的格局。Linux 基金会是目前全球资金规模最大、托管开源项目数量最多、参与的开发者数量最庞大的组织,注册地是美国。如果美国政府动用行政和司法权力让注册在美国的开源社区和基金会无法与全球开发者进行充分合作,那么从全人类文明的视角来看,会走向一条令人悲伤的未来;从全球开源软件社区的发展历程来看,一定是更为开放的社区超越封闭的社区的过程。长远来看甚至有可能会导致美国开源社区的衰落和欧亚大陆开源社群的复兴。
为什么在内核社区upstream这么重要?
开源代码仓库是可以随意克隆(clone/fork)的,所以存在无数个 Linux kernel 仓库。而 Linus 维护的分支最为特殊和权威,这类仓库一般称为 upstream(上游)。全球开源生态已经形成了一个相互依赖的庞大群体,由于有限的开发者只能维持有限的代码分支的原因,大多数操作系统和关键系统软件社区都只接受各个upstream发布的代码。如果一个厂商的产品所需要的开源代码没有被upstream接收,那么将会付出巨大的维护成本和时间成本。
以RISC-V 为例,很多主流著名的 Linux 发行版,都只接收 upstream Kernel 代码。而众多 RISC-V 厂商的 SoC/Board 中还存在大量的未被 upstream 接收的 patchset,这导致了RISC-V厂商只能维护和发布自己制作的downstream发行版。直到2023年开始, debian 和 openEuler 陆续宣布将RISC-V列入Tier-1架构支持,情况才开始好转。
30%贡献占比的重要性
笔者在编译器等开源社区服务了超过15年。在过去几年笔者逐步总结出了一些经验判断。需要指出,这些判断是主观的,不像物理学定律一样真理。不同的社群可能会有不同的情况。
笔者的论断之一是:越是在这种非技术因素干扰全球开源社群的时候,就越需要更为积极投入全球开源社区的贡献和治理。企图在某一个区域范围内创造出一个活跃的社区,是不现实的,是缺少开发者的。除非万不得已,否则应该坚决反对借机在国内“空手立门户“的投机行为。笔者在过去15年中见过了太多fork一份代码就想要成为一个新的社区、但是很快因为没有开发者感兴趣而不了了之的尝试,从公司级别、省市机构级别、到更高级别都有过类似的尝试,劳民伤财。
笔者的论断之二是:一个群体如果想要对抗和消除地缘政治负面影响,在关键基础开源软件领域,需要达到30%的贡献度。在代码提交总量和子模块覆盖面上需要至少超过30%;在贡献者数量、维护者数量上要至少超过30%;在资金规模和基础设施投入上需要达到项目总量的30%。当达到这个比例之后,就形成了两方面的制衡:一方面会使得地缘政治各方(其实就是美国政府)由于利益共同依赖而无法直接割裂社区;另一方面如果被强行割裂,那么30%的资源和开发者足够对割裂后的upstream进行commit级别的rebase & merge,从而成为新的 upstream。这个模式在过去自由软件历史过程中发生过多次。
笔者的第三个论断、也是最为重要的论断是:中国大陆的高质量开源开发者相对稀缺,需要创建更适合开源开发者自我成长的“土壤”。中国目前每年保有千万大学生,预估有200万大学生从事IT行业工作,其中如果能够每年吸引和持续培养出2-5万名开源贡献者,并留存30%在开源社区长期贡献维护,那么必将加速促进欧亚大陆的开源力量的蓬勃发展。笔者自2024年发起的甲辰计划,目前形成了目标年培养2300名「联合实习生招聘培养」、服务万名开发者的「RISC-V闲置开发板随缘漂流」、万名「RISC-V顶尖人才互认背书」、旨在募集10亿资金的「开源贡献识别和协同赞助提名委员会」等项目,努力为全球提供“培养开源开发者的土壤”。
行动起来
亲爱的读者,如果您所在的企业是Linux基金会的赞助商,您可以在企业内部会议企业联络人向Linux基金会发送质询邮件,要求进一步解释澄清,是否存在违反Linux基金会宪章以及社区CoC规范。如果您是Linux Kernel社区的开发者,我强烈的呼吁去 Greg K-H 这次不光彩的提交下进行评论,表达自己的困惑、担忧、质疑和正义。
已经有开发者提出了撤销修改的提案。
参考链接文献
LWN是最先一批报道此次提交的媒体:
https://lwn.net/Articles/995186/
删除了所有ru 维护者的 commit 已经被合并 Linus tree:
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=6e90b675cf94
Greg K-H这笔不光彩的提交引起了巨大的争议:
https://lore.kernel.org/all/2024101835-tiptop-blip-09ed@gregkh/#r
有开发者要求撤销修改并进行详细解释:
https://lore.kernel.org/all/20241023080935.2945-2-kexybiscuit@aosc.io/