this post was submitted on 03 Feb 2025
102 points (84.5% liked)

Linux

5864 readers
447 users here now

A community for everything relating to the linux operating system

Also check out [email protected]

Original icon base courtesy of [email protected] and The GIMP

founded 2 years ago
MODERATORS
 

Behold, a Linux maintainer openly admitting to attempting to sabotage the entire Rust for Linux project:

https://lwn.net/ml/all/[email protected]/

The good news is this doesn't affect drm/asahi, our GPU driver. The bad news is it does affect all the other drivers we're (re)writing in Rust, two so far with a third one coming.

Another choice quote, calling R4L "cancer": https://lore.kernel.org/lkml/[email protected]/

Personally, I would consider this grounds for removal of Christoph from the Linux project on Code of Conduct violation grounds, but sadly I doubt much will happen other than draining a lot of people's energy and will to continue the project until Linus says "fuck you" or something.

As for how to move forward, if I were one of the Rust maintainers, I would just merge the patch (which does not touch code formally maintained by the dissenter). Either Linus takes the pull, and whatever Christoph says is irrelevant, or he doesn't, and R4L dies. Everything else is a waste of everyone's time and energy.

Edit: Sent in my 2 cents: https://lore.kernel.org/rust-for-linux/[email protected]/T/#m1944b6d485070970e359bbc7baa71b04c86a30af

you are viewing a single comment's thread
view the rest of the comments
[–] [email protected] 48 points 3 days ago* (last edited 3 days ago) (18 children)

I am not a programmer. If you showed me C code and called it Rust, or vice versa, I would probably not be able to tell the difference. As such I'm not going to focus on technical merits or demerits, I'll focus on what people say.

This is relevant:

  • [Danilo Krummrich] What does "your code" mean? Duplicated in every driver?
  • [Christoph Hellwig] Yes, interfaces to the DMA API should stay in readable C code and not in weird bindings so that it reminds greppable and maintainable.
  • [DK] Rust drivers shouldn't use C APIs directly, but rather use an abstraction of the corresponding C API.
  • [CH] Don't force me to deal with your shiny language of the day.
  • [DK] Again, no one asks you to deal with or maintain this piece of Rust code.
  • [CH] Maintaining multi-language projects is a pain I have no interest in dealing with. If you want to use something that's not C, be that assembly or rust you write to C interfaces and deal with the impedence mismatch yourself as far as I'm concerned.
  • [DK] This is exactly what we're doing and proposing here, isn't it? // We wrote a single piece of Rust code that abstracts the C API for all Rust drivers, which we offer to maintain ourselves. // What else are you asking for?
  • [DK] Since there hasn't been a reply so far, I assume that we're good with maintaining the DMA Rust abstractions separately. // Hence, the next version of this patch series will have the corresponding maintainer entry.

What I take from this interaction is that Hellwig is not really picking a bone against Rust; his main concern is introducing new languages into the kernel and reducing its maintainability. And IMO Krummrich's answer up to the second-to-last reply was really great - addressing the complain by highlighting that C developers won't need to bother with that chunk of Rust code. (That last reply was awful, though.)

Based on this interaction I think that I agree with 5714 in this thread, that Hellwig might be overreaching.

So far, so good. What Hector Martin is doing there is something else. He is not selling the merits of the project Rust4Linux, he's simply creating drama, by distorting Hellwig's position from "don't bring new languages into the kernel" into some sort of personal crusade against Rust.

And it's rather "curious" how he brings up the CoC as some sort of rubber stick to bash people with, but omits which part of the CoC Hellwig would allegedly have violated.

[@raulinbonn] @marcan He does use the proper name shortly afterwards, but calling it "the another language" instead of just Rust sounds already quite loaded and belittling really. As if trying not to even acknowledge its proper name and existence.

Relevant tidbit: "the another language" sounds like a word-by-word translation from German "die andere Sprache". It doesn't really sound dismissive in German (Hellwig is clearly a German speaker.)

"As if trying not to even acknowledge its proper name and existence." - okay... now the user is assuming = making shit up. It's perfectly possible that Hellwig simply didn't call it "Rust" to focus on the fact that his problem is not against Rust, but against a mixed language codebase - the complete opposite of what raulinbonn is assuming.

[–] pressanykeynow 10 points 2 days ago (1 children)

don’t bring new languages into the kernel

Didn't the guy who decides on bringing new languages to the kernel(that's not Christoph Hellwig) specifically said "do bring Rust to the kernel"? And bringing it to the drivers not core subsystems is exactly because C developers won't need to maintain it?

[–] [email protected] 5 points 2 days ago

Didn’t the guy who decides on bringing new languages to the kernel(that’s not Christoph Hellwig) specifically said “do bring Rust to the kernel”?

Torvalds? Apparently, yes.

load more comments (16 replies)