I don’t know why this reads so skeptical:
“The team has been setting the groundwork for new components/drivers to be written in Rust but as these are developed, we’re running into some roadblocks,” he told us. “[Linux creator Linus] Torvalds doesn’t seem to care, or perhaps believes they are appropriate. Time will tell.”
Some days ago what I read was this:
Switching to a more modern topic, the introduction of the Rust language into Linux, Torvalds is disappointed that its adoption isn’t going faster. “I was expecting updates to be faster, but part of the problem is that old-time kernel developers are used to C and don’t know Rust. They’re not exactly excited about having to learn a new language that is, in some respects, very different. So there’s been some pushback on Rust.”
Hell, I’m 19, using C for 5 years or so now and not even I like the Rust syntax and compiler!
And of course the conclusion is
If working with other open source developers is too hard, they could always fork the project.
Just fork it 🤓
It definitely feels like a knee jerk reaction, but there would be some merit to it: The Rust language feels apt to implement a kernel with. If I remember correctly that’s what Redox is trying to accomplish? https://redox-os.org/
I think there’s a problem with the ‘C only’ devs refusing to be accomodating to the Rust developers. Instead of being stubborn; why not provide them what is needed and help the Rust team learn how to maintain what is needed themselves?
None of the reasons I’ve seen mentioned are legitimate reasons for refusing to at least help them a few times, and helping them to learn how to do the onerous task themselves so they can keep it off the main plate for too long.
C devs do not need to learn Rust to provide critical information; they need only be present and cooperative with Rust devs to help them find, convert, and localize data structures for Rust use. They can stand to sit and pair code with their Rust Dev counterparts long enough to teach a Rust Dev counterpart how and what they need to look for in C code. It’s not that big of an ask, and it’s not something that really is a large ask. Provide the bindings for a short period of time, and work on training a team of Rust Devs to maintain the bindings.
That way both sides are stepping up to meet the others and the data isn’t being sat on by the C-only Devs.
“I am no visionary but if Linux doesn’t internalize this, I’m afraid some other kernel will do to it what it did to Unix.”
Linux has no owner, really, aside from Linus. How can IBM wrangle a reversal in the sale of it back to Novell who has no more devs to maintain it - because they sold it - and they put it on the shelf for 20 years until it’s dead?
I don’t get how this is like how Unix was killed; at all.
I am sorry, but these rust evangelist’s are a bit ridiculous. Rust is I great language. But saying that the Linux kernal not having a future because not everyone will adapt a new programming language is stupid. Does he not realize he is putting alot more technical burden on the remaining maintainers that need to learn a completely different language because he decided the kernel suddenly neeeds rust, thanks I guess?
Nobody gets forced to port kernel stuff to rust. Also the rust compiler takes a lot of burden from maintainers by the safety it enforces.
The whole conflict ist not a technical one, it is entirely human. Some long-term kernel developers don’t like people turning up and replacing the code they wrote. Instead of being proud that the concepts they built get to be elevated in a superior implementation, they throw tantrum and sabotage.
The article itself proves you wrong on this one, my friend. The situation is less simple and more subtle than you’re claiming.
Of course ego is a factor. That’s true for every organization in the world. But there are many other highly relevant factors in play here.
C has not aged well, despite its popularity in many applications. I’m grateful for the incredible body of work that kernel developers have assembled over the decades, but there are some very useful aspects of rust that might help alleviate some of the hurdles that aspiring contributors face. This was not a push by rust evangelists, but an attempt to enable modernization efforts at least for new driver development. If it doesn’t work out, that’s fair enough but I’m grateful for the willingness - especially of Linus - to try something new.