- cross-posted to:
- linux@programming.dev
- cross-posted to:
- linux@programming.dev
cross-posted from: https://lemmy.world/post/25857381
Hellwig is the maintainer of the DMA subsystem. Hellwig previously blocked rust bindings for DMA code, which in part resulted in Hector Martin from stepping down as a kernel maintainer and eventually Asahi Linux as a whole.
A lot of people commenting on this seem to have gaps in their knowledge of what happened. I highly recommend reading the linked email, as it is both short and has valuable context.
A lot of people commenting on this seem to have gaps in their knowledge of what happened
We’re in a Linus-email-🍿-thread, so that kind of goes without saying doesn’t it? 😂
Is there an easy way of seeing the preceding emails in a threaded format?
I read some posted yesterday that were related but it’s damn confusing whether the conversation has been active in between?
On the bottom of the page you have a tree representation of replies, with clickable links to each message. The layout might not work well on mobile with limited screen width though, but you can just click through them.
Linus ain’t wrong tho
I really appreciated him saying ‘I don’t want yes men, I need people to call me on my bullshit, but I’m calling you out on yours’.
I read through the next few replies, and it seems like the anti-rust maintainer just has an axe to grind and can’t stand people working in a language they don’t understand.
He understands Rust and claims to like it. He simply disagrees with the decision to have a mixed language kernel and is trying to unilaterally stop it from happening.
He is totally correct and it is great to see him finally step in to settle this drama. Hopefully it will reduce the level of noise going forward.
Gee Linus you think you could’ve fucking said something before it got to this point?
Yah took him long enough and should have never got to this point. Now we have lost a contributer.
We’ve lost two this week
Sometimes you gotta let people try to resolve things on their own first.
What do you mean? He did step in, understood absolutely no context of the issue, told everyone to shut up, and then left without any real input. Fucking joke
Sometimes when you’re celebrating someone’s judgement, don’t shit on their judgement.
Are we hating on Linus here or agreeing with him? I’m so out of the loop.
Agreeing
Excuse me sir why would You ever disagree with our king linus
People really afraid of Rust out here.
I can relate. I can emphasize with someone who’s learned every nuance of a language, and after 30-40 years suddenly these kids come in with their strange hieroglyphics slowly replacing everything you’ve worked on.
Except that’s literally the reality with computers. Everything evolves and things go obsolete. I’m sure the COBOL and Fortran programmers were pissed when the kids started using C too.
It literally wasn’t about Rust specifically though. Christoph literally said it was about anything that was not C, including assembly, C++, brainfuck, or whatever, entering the kernel. Christoph likes Rust. Christoph (rightfully) does not like mixed language codebases for projects as large and important as Linux
(rightfully) does not like mixed language codebases for projects as large and important as Linux
You make it sound like it’s a matter of taste rather than a technical one (and I suspect it actually might be just about taste in the end)
Its a little of column A, little of column B type situation.
Yes, some of it is his taste, but that taste is coming from a technical place. Primarily long term maintainability of the project.
I realize what Linus came out and said outlines that no code is entering Christoph’s part of the project, but Christoph is playing goalie and needs to make sure that never happens in order to keep everything working correctly for a very long time.
Maybe the DMA module gets rewritten completely in Rust one day, but until then, rust modules interfacing with a C-only component seems to be the best for long-term maintenance.
But isn’t this in specific just about bindings?
It appears so now, yes, but when the drama initially came out it sounded like they were asking for a tiny amount of rust in the kernel to make it work, or if not rust, changing the C to tailor it specifically to the rust. Which I think is a reasonable thing to be concerned about from a maintainability perspective long-term, especially if the rust developers decide to leave randomly (Hector’s abrupt quitting over this very issue is a prime example).
A bunch of people were trying to make that argument to explain Hellwig’s disagreement, but it was never the case. His argument amounted to “you can’t make create unified code to reference mine, you must have each driver maintain its own independent calls to my code”.
Rust is straight up better than C. It’s safer and less prone to errors.
It’s not feasible to convert the entire Linux codebase at once. So your options are to either have a mixed codebase, or stick with effectively Cobol into 2020.
Rust is great, but you are not thinking from a long-term project perspective. Rust is safer, but Linux needs to be maintainable or it dies.
Based on what you’re saying, the only way its going to reasonably be converted to Rust is if someone forks Linux and matches all the changes they’re making in C as they happen but converts it all to Rust. Once its all converted and maintainability has been proven, a merge request would need to be made.
That is not how it will happen, if it ever fully converts at all.
Rust will first be added in a way that allows it to run on top of existing C code. That is what we are seeing here with Rust being used to write drivers.
As sub-systems get overhauled and replaced, sometimes Rust will be chosen as the language to do that. In these cases, a sub-system or module will be written in Rust and both C code and Rust code will use it (call into it).
The above is how the Linux kernel may migrate to Rust (or mostly Rust) over time.
As devs get more comfortable, there may be some areas of the kernel that mix C and Rust. This is likely to be less common and is probably the most difficult to maintain.
Nobody wants to rewrite working, solid kernel modules in Rust though. So, it seems very likely that the kernel will remain mostly C for a long, long time. There are no doubt a few areas though where Rust will really shine
No need for a fork or a rewrite.
Anyone got more context on this I can read through? I haven’t kept up with this other than Linus’s notorious attitude.
God damn if these Rust glazers are so offended by this, just go work on Redox
You mean the operating system with a cuckold license? Nothx
I’m personally not a fan of permissible licenses, but you don’t need to bring your fetishes up in every conversation.
deleted by creator
Actual Linux news rather than “which distro should I use for gaming and bit torrents?”
New people don’t realize that Linux is really a soap opera with a small software project attached.
That’s not to say any other OS effort is not also a soap opera. I bet Microsoft has its fair share of drama, too; it’s just that no one sees it because the development effort is proprietary.
Linux news