I’m not sure why they feel it’s Linus’ responsibility to make Rust happen in the kernel. I’m certainly not happy someone is being harassed, but none of this is the fault of the Linux Foundation or the people that have been working on the kernel for decades.
If Rust is going to happen, then it’ll happen. Or fork it and make a Rust Linux with blackjack and hookers, and boy, will everyone left behind feel silly that they didn’t jump on the bandwagon. But nobody has to make your dreams their focus or even interact with it if they don’t want to. And these social media outbursts aren’t accomplishing what they think they’re accomplishing.
why they feel it’s Linus’ responsibility to make Rust happen in the kernel
who does? are you talking about marcan? because as far as i can see, what they’re asking for is for linus to make a stance and actually say whether R4L is a thing they want or not. because linus’ attitude so far has been “let’s wait and see” which hasn’t been all that helpful, as said in the blog post.
How can it happen if individual maintainers say they’ll do everything in their power to keep Rust out of the kernel? There’s fundamentally no way forward. The R4L devs already gave every commitment they could, but some maintainers fundamentally don’t want it.
And before anyone brings it up: no, the maintainers weren’t asked to touch Rust code or not break Rust code or anything else.
If we are going to be honest, let’s not be misleading.
Nobody is looking to replace C in the kernel just to switch out the language. This is not a “rewrite it in Rust” initiative.
What the R4L folks want is to be able to write “new” code in Rust and for that code to call into the C parts of the kernel in an idiomatic way (idiomatic for Rust). So they need to create Rust interfaces (which they, the R4L side, are doing). This whole controversy is over such an example.
At this point, we are talking about platform specific drivers.
Now, new kernel code is written all the time. Sometimes newer designs replace older code that did something similar. So yes, in the future, that new code may be written in Rust and replace older code that was written in C. This will be a better design replacing an inferior one, not a language rewrite for its own sake.
Core kernel code is not getting written in Rust for a while though I do not think. For one thing, Rust does not have broad enough architecture support (platforms). Perhaps if a Rust compiler as part of GCC reaches maturity, we could start to see Rust in the core.
That is not what is being talked about right now though. So, it is not a reasonable objection to current activity.
I doubt you care but others may want to know that you just hit the nail on the head. Just not the way you think.
All the Rust folks want is for “technically superior” solutions to be accepted on their merits. The exact problem is that some influential Linux folks have decided that “technically superior” is not the benchmark.
Take the exact case that has led to the current debate. The maintainer said explicitly that he will NEVER accept Rust. It was NOT a technical argument. It was a purely political one.
In the Ted Tso debacle. a high profile Rust contributor quite Linux with the explicit explanation that the best technical solutions were being rejected and that the C folks were only interested in political arguments instead of technical ones.
If it was true that “technically superior” solutions were being accepted, the R4L team would be busy building those instead of arguing.
I’m not placing blame on the Linux Foundation, Linus, or anyone else for that matter. However, I believe that if Linus has publicly endorsed the use of Rust in the kernel, that decision is already largely set in motion. On the other hand, if the community collectively opposes the integration of Rust with C and no action is taken to address these problems, and everyone say no, then there is little to no reason to make the initial statement.
Much of the work being produced by Rust developers seems to struggle, often because it’s not made in C and because of maintainers saying “No I don’t want any rust code near my C code”.
I recognize that there are various technical factors influencing this decision, but ultimately it was the creator’s choice to support it.
Isn’t it reasonable for a maintainer to say “no rust here” when they don’t know rust, don’t want to learn it, and have decades of experience in C, and are maintaining that part of the system
I’m not sure why they feel it’s Linus’ responsibility to make Rust happen in the kernel. I’m certainly not happy someone is being harassed, but none of this is the fault of the Linux Foundation or the people that have been working on the kernel for decades.
If Rust is going to happen, then it’ll happen. Or fork it and make a Rust Linux with blackjack and hookers, and boy, will everyone left behind feel silly that they didn’t jump on the bandwagon. But nobody has to make your dreams their focus or even interact with it if they don’t want to. And these social media outbursts aren’t accomplishing what they think they’re accomplishing.
who does? are you talking about marcan? because as far as i can see, what they’re asking for is for linus to make a stance and actually say whether R4L is a thing they want or not. because linus’ attitude so far has been “let’s wait and see” which hasn’t been all that helpful, as said in the blog post.
“Let’s wait and C”.
How can it happen if individual maintainers say they’ll do everything in their power to keep Rust out of the kernel? There’s fundamentally no way forward. The R4L devs already gave every commitment they could, but some maintainers fundamentally don’t want it.
And before anyone brings it up: no, the maintainers weren’t asked to touch Rust code or not break Rust code or anything else.
It will happen via it being better, and being shown to be better. And it will take time to unseat 30 years of C.
Not if they’re being prevented from showing to be better by C devs who, literally, “will do everything [they] can do to stop this”.
Nobody is trying to unseat 30 years of C.
Nobody prevents anyone from maintaining their own tree, thereby proving it works.
And yes, Rust is trying to replace C, in the kernel. Let’s start off by being honest here, k?
If we are going to be honest, let’s not be misleading.
Nobody is looking to replace C in the kernel just to switch out the language. This is not a “rewrite it in Rust” initiative.
What the R4L folks want is to be able to write “new” code in Rust and for that code to call into the C parts of the kernel in an idiomatic way (idiomatic for Rust). So they need to create Rust interfaces (which they, the R4L side, are doing). This whole controversy is over such an example.
At this point, we are talking about platform specific drivers.
Now, new kernel code is written all the time. Sometimes newer designs replace older code that did something similar. So yes, in the future, that new code may be written in Rust and replace older code that was written in C. This will be a better design replacing an inferior one, not a language rewrite for its own sake.
Core kernel code is not getting written in Rust for a while though I do not think. For one thing, Rust does not have broad enough architecture support (platforms). Perhaps if a Rust compiler as part of GCC reaches maturity, we could start to see Rust in the core.
That is not what is being talked about right now though. So, it is not a reasonable objection to current activity.
If R4L authors want to use Rust so badly, then still:
Maintain your own tree! Let’s see how simple and clean these interfaces are over the longer haul.
They will get mainlined if they are technically superior.
I doubt you care but others may want to know that you just hit the nail on the head. Just not the way you think.
All the Rust folks want is for “technically superior” solutions to be accepted on their merits. The exact problem is that some influential Linux folks have decided that “technically superior” is not the benchmark.
Take the exact case that has led to the current debate. The maintainer said explicitly that he will NEVER accept Rust. It was NOT a technical argument. It was a purely political one.
In the Ted Tso debacle. a high profile Rust contributor quite Linux with the explicit explanation that the best technical solutions were being rejected and that the C folks were only interested in political arguments instead of technical ones.
If it was true that “technically superior” solutions were being accepted, the R4L team would be busy building those instead of arguing.
It was merged into mainline, in 6.1, over a year ago.
https://docs.kernel.org/rust/index.html
Then this isn’t being blocked?
Yet the Linux project officially OK’d the R4L experiment, so why does this stuff still have to be kept out-of-tree?
No, Rust is not trying to replace C in the kernel.
Sure, why don’t you give it a try?
Yes, it’s been ok’d. That means it’s ok to go in, once proven.
So, R4L peeps need to figure out how to convince maintainers that is works.
So, go do it?
How do you convince a maintainer that NACKs a PR outside his subsystem while explicitly saying:
Please explain how one can convince such an individual.
I already did: maintain your own tree, and prove it out, that it’s better.
If the maintenance load is so light, it’ll be easy work to do, to keep the tree in line with upstream.
If it’s so obviously technically better, people will see it, and more people will push to mainline your tree.
It’s work. And you need to convince others on technical merit. So, do the work.
Just like what folks did with OpenBSD, the grsecurity tree.
I’m not placing blame on the Linux Foundation, Linus, or anyone else for that matter. However, I believe that if Linus has publicly endorsed the use of Rust in the kernel, that decision is already largely set in motion. On the other hand, if the community collectively opposes the integration of Rust with C and no action is taken to address these problems, and everyone say no, then there is little to no reason to make the initial statement.
Much of the work being produced by Rust developers seems to struggle, often because it’s not made in C and because of maintainers saying “No I don’t want any rust code near my C code”.
I recognize that there are various technical factors influencing this decision, but ultimately it was the creator’s choice to support it.
Isn’t it reasonable for a maintainer to say “no rust here” when they don’t know rust, don’t want to learn it, and have decades of experience in C, and are maintaining that part of the system
Yes.
But that’s not what’s happening here. The guy who said no is not the maintainer of the rust code, and is not expected to touch the rust code at all.