Following arguments on the Linux kernel mailing list the past few days over some Linux kernel maintainers being against the notion of Rust code in the mainline Linux kernel and trying to avoid it and very passionate views over the Linux kernel development process, Asahi Linux lead developer Hector Martin has removed himself from being an upstream maintainer of the ARM Apple code.
Rust seems to be imperative for security. I hope people in the Linux kernel community put aside their differences and find common ground for the benefit of everyone.
From my perspective as an outsider, there is a lot of apparent hostility and seemingly bad faith engagements going on in this space. Hopefully the reasons are innocuous like them just not wanting to learn a new language, to avoid increasing their workload, or to simply avoid working with the Rust team for whatever reasons they might have.
I would argue that anybody standing in the way of progress and increased security should be moved out of the way. No need for shaming or deep dives, just move the ship forward.
Hector posting it to social media, and by his own admission, to shame the C devs, is pretty hostile and bad faith too. Imo it’s the most overt occurrence of hostility here, but no one seems to mind? Are people just completely numb to social media hostilities or smth?
Does the kernel not need a lot of memory unsafe Rust code? There is a way to bypass the safety nets and I heard that for stuff like kernel development that is necessity.
The crucial point is that the people who can work on the kernel now itself are
The moment we get rust in there, the people who can work on the kernel reliably as a whole are
That’s a much smaller group than the one above.
Here’s the point: THE SAME ISSUE would arise if it were D, or some kind of compiled python, object-oriented bash static objects, if that existed; or anything. Whatever the other language was, it’d present the same risk.
Rust people: it’s not about you. It’s about splitting the codebase.
The rust people said they’d take ownership of the work for the bindings so C maintainers don’t have to. What’s the issue?
I always thought kernel devs were smart people. I’m kind of shocked learning a new language is this big of a barrier to them.
Even “smart people” have resource/time limitations. Learning rust to an extent that will work on that level is not the same as learning C.
Agreed, especially as the proprietary alternatives are starting to incorporate more and more Rust, even Windows is starting to rewrite their core libraries in Rust.
On top of security though, its going to be important for continuing to bring new maintainers onboard. Less and less people are learning C, especially to a level proficient enough to be a kernel maintainer. As Rust matures even more, C is effectively a legacy language at this point, a C++ won’t be too far behind either, and Linux is going to be hard pressed to find maintainers as the graybeards retire.