- cross-posted to:
- linux@sh.itjust.works
- linux@lemmy.ml
- linux@lemmy.world
- cross-posted to:
- linux@sh.itjust.works
- linux@lemmy.ml
- linux@lemmy.world
Behold, a Linux maintainer openly admitting to attempting to sabotage the entire Rust for Linux project:
https://lwn.net/ml/all/20250131075751.GA16720@lst.de/
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/20250128092334.GA28548@lst.de/
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/2b9b75d1-eb8e-494a-b05f-59f75c92e6ae@marcan.st/T/#m1944b6d485070970e359bbc7baa71b04c86a30af
I’m personally on board with the comment left by @equinox@chaos.social. I think marcan is unnecessarily escalating this situation and I’d hardly describe Christoph’s behavior as sabotage. He does appear to have a real technical concern regarding maintainability and I think discussing that concern is more productive than dismissing it and calling him a saboteur.
Do you take this sentence seriously, or not?
As far as I can tell, “this” here refers to literally any Rust code that isn’t constrained within a specific driver. That does indeed seem like a full-on attempt to stop the R4L project entirely.
“Appear” is doing some heavy lifting there. Opponents of the R4L project always couch their objections in technical concerns. For what it’s worth, I can’t actually find any concerns of merit or substance in that particular thread, although navigating mailing list threads is honestly pretty error-prone, so I may have missed it.
I do take it seriously and I think he’s overreacting a little but he does make a reasonable point. Bringing 2 languages into the kernel does create a divide that can come with a maintenance burden. The burden is probably worth the benefits but it’s still an additional burden and that is a valid concern IMO that should be properly addressed and argued with pros/cons rather than name calling and dismissal. Maybe he is acting in bad faith, but I feel like that should only be the conclusion drawn AFTER a reasonable attempt to talk things over has been made.
Additionally assuming someone is acting in bad faith when they’re not can make them jaded with the rust community and push them to actually acting with bad faith even if they weren’t before.
Regardless of the situation and whether he’s acting in bad faith or not I feel like marcan’s comments add nothing productive to the situation and that was my real point with the comment.
I wrote a longer reply with links, but somehow it didn’t actually post; so this will be shorter and unsourced. Sorry about that.
There already was a discussion, over the course of several years, about whether to add Rust to the kernel. Linus merged
rust/kernel
into the mainline in 2022, and it was released in Linux 6.1. The patch that Hellwig opposed did not introduce Rust, it just added more Rust.Hellwig also made it pretty clear that he wasn’t open to discussion. If you read the thread, there were numerous attempts to “talk things over.”
You may be right that Marcan’s posts on Mastodon added nothing productive, though I honestly think there’s some value in sharing behavior like Hellwig’s with the broader programming community. But his posts in the actual mailing list seem pretty sensible, albeit provocatively worded.
Also, in case you didn’t know, similar behavior (to Hellwig’s) led the primary Rust for Linux maintainer, Wedson Almeida Filho, to step down back in August. Marcan is correct that the anti-R4L maintainers are successfully demoralizing the R4L people.
There are already 2 languages in the kernel: C and Assembly(for example).
That already happened and Linus decided to accept Rust code into the kernel.
Assembly and C share a very very close relationship. C is really just high level ASM and ASM is used as little as realistically possible in the kernel so the situation is different.
Doesn’t mean you should neglect the opinion of every other maintainer. I’m not saying rust shouldn’t be included here or that Linus shouldn’t have the right to override his opinion. I am saying calling names as opposed to discussing his concerns is not productive. FOSS is a collaborative space and that collaboration is important even if redundant at times.
Both of your technical claims are wrong. C isn’t high-level assembly; on e.g. x86, it has no way to express SIMD, control I- and D-caches, or encode certain efficient instructions for which there is no corresponding idiom like Hamming weight (popcount). Also, the kernel does not have any sort of policy mandating a minimum of assembly, and there are definitely many spots where writing a compilation unit purely in assembly is done instead of using inline assembly to make the unit shorter and more readable.
C is basically high level assembly. It’s hardware agnostic high level assembly. I have written both, this is personal experience and also I believe even Linus has said EXACTLY that statement. It is an opinion ofc and you’re welcome to disagree but it isn’t just me.
I never said it was a policy but it’s definitely true. Inline assembly IS still assembly. I’m saying if the code can be written in C it more than likely will be over assembly unless there is a very good reason to write it in ASM. The kernel is 97.97% C and just over 1% ASM. If that doesn’t prove what I’m getting at Idk what else will. It’s a totally different circumstance than replacing large swaths of C with rust or introducing large amounts of rust in favor of C.
Whose arguments are you apologizing for? Read the thread backwards. Your claims about C and kernel policy were wrong, therefore @pressanykeynow@lemmy.world’s point about multiple languages was right, therefore your main defense of Hellwig acting in good faith is unevidenced. So, are you still so ready to insist that Hellwig is arguing in good faith? Would you say that this thread has adequately discussed the technical details and is ready to return to the overarching political point?
I would recommend looking at English WP’s style guide on weasel words. Rather than matching evidence and countering claims, you’ve set up a nest of strongly-held opinions with words like “basically”, “personal experience”, “I believe”, “an opinion of course”, “it isn’t just me”, and refused to actually directly engage with the evidence scrutinized. Given that it takes maybe five minutes to find even just one piece of assembly that has no justification for not being written in C, I think that it’s fair to characterize your position as inconsistent with actual kernel-hacking practices at best.
…look man, I’m going to say this as simply as possible because you keep mischaracterizing or misunderstanding a lot of what I say. I’m not making any claims about kernel policy, full stop. I never did.
I’m not saying his behavior is justified in regards to calling rust a cancer, I’m just saying that he is making a legitimate technical complaint, regardless of his motives…and EVEN if he wasn’t, name calling is unproductive.
C is high level ASM, Linus has said that as a quote, I personally agree with it having written both, it’s an opinion, not a statement of fact, you can disagree all you like but the fact that some kernel maintainers share the opinion is a valid point to bring up in this conversation about multiple languages causing a divide. I will find the source for his quote if that will satisfy you.
Lastly, the point I’m trying and failing to make is the kernel is 1% ASM, rust when fully brought into the kernel will comprise far more than 1%, additionally it is FAR more different to C than ASM is regardless of your opinions on the C is high level ASM statement. It WILL create a language barrier, the question is how significant will that be. The ASM is a small minority of kernel code, rust won’t be.
Some people are very evangelical about Rust. They take any real concern as a personal attack.