Linux内核的多事之秋,我们还要不要坚持upstream?

文摘   2024-10-27 14:26   新西兰  

关于最近Linux内核删除俄罗斯维护者的事情,网上的评论非常多,作为一个一线的内核开发者,笔者谈一谈我个人的看法。

俄罗斯开发者被删,主要原因无非就是三点:

1. 基于美国法律

如果你为U.S. OFAC SDN制裁列表的实体工作,将不能作为maintainer;实际上,相信被删的部分俄罗斯开发者并不在为SDN制裁列表的实体工作。

2. 基于历史素怨

Linus是芬兰人,芬兰历史上与俄罗斯民族的战争比较残酷。所以,这可能是社区里面一旦有人为俄罗斯说话的时候,Linus就情绪较激动的原因。

3. 基于正在发生的俄乌战争

俄罗斯和乌克兰处于热战状态,西方大部分人同情乌克兰的遭遇。

那么未来有没有一天,中国开发者有无可能被删除呢?我个人认为是完全有可能的,我们不能太天真地觉得不会被删。

上面3个因素中,2这个因素相信是完全没有的。那么1这个因素,未来可能不可能发生呢?这个相信是完全有可能的。

一旦我国的相关公司进入SDN列表,Greg和Linus可能就必须“执法”,但是基于Linus素来对中国没有怨恨,我国的部分大企业与Linux基金会的关系相当友好,相信到时候执法时的柔情度会高很多

这种情况下,我们还要不要坚持upstream和贡献Linux呢?

我相信仍然是有必要的,Linux内核只要一天存在和在前进,它仍然代表人类集体智慧的结晶。相信任何个人的力量都不可能超越人类集体智慧。

参与upstream,我们至少可以收获如下益处:

1. 好的feature,如果长期downstream维护,其本身维护成本将相当高。在维护的过程中,已经被社区类似的更好的feature所替代。

2. 凝聚人类集体力量,社区的开发者会将他们的智慧、人力和软硬件各方面工程力量投入到你的feature,从而反向让你的feature更加完善。

建立以上两点认识非常重要,不然经常会发生自以为自己在内核里面做了个很牛逼的事情,实际上经不起考验或者漏洞百出。适时地选择让人类集体智慧来拷打自己的代码,而不能闭门自嗨。

但是Linux社区的分裂,势必本身也会伤害Linux内核本身。目前相信很多俄罗斯开发者会选择远离,寻找新的乐趣。

但是这不意味着Linux内核在俄罗斯就没法用了,其实我仍然相信,俄罗斯开发者还是可以用upstream,当然他们的各个行业还是可以基于mainline fork自己的tree。没有必要说被删了几个人,就从此狠上了Linux内核跟它一刀两断了。你可以不喜欢牛顿,但是你得喜欢牛顿定律,否则就是和科技本身过不去了。目前没有任何一个开源通用操作系统的内核超越Linux本身,这点是毋庸置疑的。即便出于策略或政治原因分离开,仍然维持与 upstream 的联动,这将有助于这些他们的分支长期维持活力。

实际上,Android kernel,openEuler很多内核也是这么玩的,这本身没有什么问题。只要Linux社区一天没有删除中国开发者,我们都应该坚持upstream。即便未来发生什么情况删除了,我们仍应该客观地将技术和人本身分开。历史上,在洋人虐我们的时候,我们仍然坚持学习了他们的先进技术最后在诸多领域反超他们,这就是中国人的智慧。

当然,希望这样的事情永远不会发生。Linux社区不能再进一步分裂下去了,希望Linus能超越民族情感,服务于全人类共同的理想,未来让这样的事情永远都不会发生。

我们也可以同时构建和发展我们的开源社区,未来我们建成了,Linux本身的upstream也持续地值得我们借鉴。我们的开源社区如何构建好呢?我觉得最主要还是要提供共同利益,社区的构建者不能既是裁判又是运动员,这样大家都没兴趣玩了,RT-Thread在这个方面做地很好。

独树居士
一位老码农的心灵之旅。