Resigning as Asahi Linux project lead
-
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?
-
Nobody prevents anyone from maintaining their own tree, thereby proving it works.
Yet the Linux project officially OK'd the R4L experiment, so why does this stuff still have to be kept out-of-tree?
And yes, Rust is trying to replace C, in the kernel.
No, Rust is not trying to replace C in the kernel.
Let's start off by being honest here, k?
Sure, why don't you give it a try?
-
I’m not sure why they feel it’s Linus’ responsibility to make Rust happen in the kernel.
That's not what's being said here, as far as I can tell. Linus is not expected to somehow "make Rust happen". But as a leader, he is expected to call out maintainers who block the R4L project and harass its members just because they feel like it. Christoph Hellwig's behavior should not be allowed.
I'm not saying Marcan is necessarily correct, to be clear. It might well be that Linus chose to handle the issue in a quieter way. We can't know whether Linus was planning on some kind of action that didn't involve him jumping into the middle of the mailing list fight, eg contacting Christoph Hellwig privately. I'm merely pointing out that maybe you misunderstood what Marcan is saying.
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.
That's what they're doing. But if you read the entire post carefully, he explains why maintaining a fork without eventually upstreaming it is problematic. And it's not like they're forcing their dream on the linux project, because the discussions have already been had and rust has officially been accepted into the kernel. So in the wider context, this is about individual maintainers causing friction against an agreed-upon project they don't like.
-
For example, Apple has cared about their developers as customers.
Only if by "customers" you are referring to how they constantly find new ways to fuck you over.
-
The latter is I think aiming for Linux ABI compatibility.
I had never hard of Asterinas, but this sounds like a the best approach to me. I believe alternative OS's need to act as (near) drop-in replacements if they want to be used as daily drivers. ABI-incompatible alternatives might be fine for narrower use cases, but most people wouldn't even try out a desktop OS that doesn't support most of the hardware and software they already use.
-
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:
I will do everything I can do to stop this
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.
-
The maintainer literally says the issue is that there are two languages. There is no way to convince them, there's nothing anyone can do.
Which doesn't help me a bit. Every additional bit that the another
language creeps in drastically reduces the maintainability of the kernel
as an integrated project. The only reason Linux managed to survive so
long is by not having internal boundaries, and adding another language
complely breaks this.The maintainer didn't say "I worry about the maintainability, please prove that it works outside the tree" (this concern was already discussed when the R4L experiment was officially OK'd). They are explicitly saying they'll block Rust in the kernel, no matter what.
I don't know how to better explain this to you.
-
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.
-
aughhhhhh here's your upvote. git out.
-
The maintainer literally says the issue is that there are two languages. There is no way to convince them, there’s nothing anyone can do.
Sure there is! Maintain your own tree, like I said. Eventually, it'll be proven to be workable. Or not.
The maintainer didn’t say “I worry about the maintainability, please prove that it works outside the tree” (this concern was already discussed when the R4L experiment was officially OK’d). They are explicitly saying they’ll block Rust in the kernel, no matter what.
No, they aren't. They are blocking how it's being done, with R4L folks wanting to toss the maintenance headaches over the wall, for someone else to deal with, because they don't want to build their own C interfaces, that match the already existing ones.
I don’t know how to better explain this to you.
Try to understand the problem better, so maybe you'll be able to understand why maintaining your own tree to prove the conceptual implementation works, and doesn't hand maintenance overhead to another party.
-
Why lie about something so easy to check? Here's the maintainer himself saying that the issue isn't "R4L folks wanting to toss the maintenance headaches over the wall, for someone else to deal with":
I accept that you don't want to be involved with Rust in the kernel, which is
why we offered to maintain the Rust abstraction layer for the DMA coherent
allocator as a separate component (which it would be anyways) ourselves.Which doesn't help me a bit. Every additional bit that the another
language creeps in drastically reduces the maintainability of the kernel
as an integrated project. The only reason Linux managed to survive so
long is by not having internal boundaries, and adding another language
complely breaks this. You might not like my answer, but I will do
everything I can do to stop this. -
You’ve brought this up in several comments. given the situation, what do you think is the answer to replacing a huge c codebase with rust under the specific conditions of Linux development (open source, overwhelmingly maintained by 9-5 lifers employed by disparate organizations, in use everywhere for everything) when maintainers say they’ll oppose it?
Microsoft made the news a year or so ago announcing a rewrite of some libraries in rust, but conditions and limitations in Redmond are very different than those faced by the kernel team.
-
I'm not surprised by this.
The general attitude around R4L is that it's largely unneeded and for every 1 person actively working against the project, there are 10 saying either "waiting and seeing if it works is the right decision" or "if rust is so good they should prove it."
So as a R4L developer you're generally expected by the community to fight an uphill battle with basically no support on your side.
We will likely keep having developers on that project continue to burn out and leave until the entire thing collapses unless the decision is made ahead of time to cancel the project.
Every time I read any news about Rust for Linux I leave generally disappointed by the entire kernel community.
-
given the situation, what do you think is the answer to replacing a huge c codebase with rust under the specific conditions of Linux development (open source, overwhelmingly maintained by 9-5 lifers employed by disparate organizations, in use everywhere for everything) when maintainers say they’ll oppose it?
Nobody is trying to replace a huge C codebase.
-
Yup. Modern MacOS is only pleasant to use if you have absolutely no preferences on how your computing environment should work and am willing to completely accept the walled garden.
Otherwise, it's a hellscape.
-
And, again, prove him wrong, maintain a tree that shows it's workable, and with minimum maintainability concerns. If there truly are minimal maintenance concerns, a separate tree would be quite simple to maintain!
-
Okay so if the point of the rust for Linux project isn’t to replace c code with rust then what is the point?
I understand the project maintains a coy line regarding that question but let’s be serious for a second and really consider why r4l is happening.