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?
Social media is virtual town hall and a place for many to vent and deal with their emotions - not everybody is perfect and uses the internet the way you approve of. It’s truly no different in essence than the LKML or other public-facing communication platforms - it just has more voices and more free engagement. We can be big people who express ourselves any way we’d like as long as we respect others the way we’d like to be respected.
I don’t advocate for shaming because I wouldn’t want it done to me, but I don’t see Hector acting in bad faith, and their actions are questionably hostile because Hector clearly wavered in their approach. They are under a lot of stress and are obviously motivated by the feelings of the other R4L maintainers and their issues - Hector’s good faith and empathy is plain to see. They are very upset that others are being disrespected, that their work is being unnecessarily questioned, and that their efforts overall are likened to a “cancer” while people openly stand in their way.
Did Hector disrespect the maintainer in question? Did Hector call people to action in order to shame the maintainer in question? Their initial intention did matter, of course, and I was not able to read the drama in question on social media because it appears to be removed. Hector certainly wanted the maintainer removed, which I don’t personally agree is ideal or fair, but it’s not their decision and it’s not social media’s decision.
On the flip-side in this instance, I similarly see somebody who brings up valid issues with splitting the codebase accompanied by a lot of emotions spilling out (like seeing Rust as a cancer, and vowing to stop it from spreading in the codebase further), but I personally fail to see how that is their problem if the code isn’t going to involve them. It’s up to Linus and the larger LKML community to discuss the form in which Rust will take in the Linux kernel.
Clearly a discussion that could be had with Hector included, but there is a lot of hostility towards larger public focus coming from Linus, and he effectively shut the discussion down and accused Hector of being the problem. There certainly are problems all around, from my perspective, but all of that could’ve been resolved, and still can.
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.
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.
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?
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.
Yes, from my understanding as an outsider and layman, of course. From my perspective, the observation and insights developed from the R4L project will make Linux much stronger project overall moving forwards.
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.