Origin Content
不确定这件事将来对 Asahi Linux 的用户会产生多大的影响,目前我能感受到的影响是 marcan 的社交帐号消失了,之前这个账号发布的很多 Asahi Linux 相关的帖子都看不到了,就是下面这个帐号:
https://social.treehouse.systems/@marcan/
Comment
Rust 开发人员和(不愿意写 Rust 的)C 开发人员的矛盾是不可调和的。
内核内部没有稳定 API ,这赋予了维护者想改什么东西就改什么东西的权力,可以随时改进、重构。如果改 X 模块的时候 Y 模块炸了,那 X 的维护者只需要顺带着把 Y 模块弄好就行。这事儿是很常见的。而加入 Rust 之后那可就不一样了:维护者改了 X 的 C 代码,Y 模块那边的 Rust 代码炸了,这谁负责?
按照原有规矩,C 的人就不得不去弄那个 Rust 代码,基本等于强迫 C 的人写 Rust 了,C 的人当然不愿意。所以 Rust 的人就承诺,如果改 C 代码把 Rust 改炸了的话,Rust 代码由 Rust 的人负责修。
这个承诺是很扯淡的。原本没有 Rust 的情况下,改炸了顺手修就完了,反正都是 C 语言。现在 C 的人要重构一下,还得要给 Rust 的人发邮件、等 Rust 的人来修。这要是 Rust 的人回复晚了赶不上合并窗口怎么办,这要是一两个星期都不回复(比如在度假)怎么办,要是跳出来扯皮那怎么办。而且说,有些 C 写的模块,都存在十几甚至几十年了,C 的人也维护了十几甚至几十年了,允许他们随时改进、重构代码,这确实是应该的,原有的规矩也确实如此。现在好了,重构得看 Rust 的人的脸色了。舆论上出事的模块都是这些,什么 FS 什么 DMA ,老模块了,被各个其他模块调用,一改就炸一片,未来哪天炸在 Rust 模块的头上那是必然的。
既然不可调和,那这事儿也简单,Rust 的人和(不愿意写 Rust 的) C 的人两边之间选一边开除就是了。别说什么得罪人,Linus 和 Greg K-H 连 Chinese 和 Russians 都能开除,那没有什么是不能开除的。