- cross-posted to:
- [email protected]
- [email protected]
- [email protected]
- cross-posted to:
- [email protected]
- [email protected]
- [email protected]
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
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.
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 @[email protected]’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.