- cross-posted to:
- asahilinux@lemmy.world
- cross-posted to:
- asahilinux@lemmy.world
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.
Anyone got more context on this I can read through? I haven’t kept up with this other than Linus’s notorious attitude.
Someone submitted some code to the Linux kernel. One of the maintainers repeatedly denied it for no reason other than it contained code that is not C. A different contributor became very angry, lashed out publicly on social media, accused the maintainer of sabotaging R4L for no technical reason, then removed themselves from the project. They were also the founder of Asahi Linux and resigned from that as well.
It’s nothing to do with Rust, specifically.
Marcan is not the submitter. Unless I’ve missed something, the submitter is still working on the patch.
Yes you’re correct. I’ll update that.
Yeah that is a very opinionated description. Up until “the submitter became very angry, lashed out” that sounds about right, but from there on, your bias shows. Which is fine, and human, but probably worth mentioning this to others reading this. It’s not exactly an objective view, whatever that’s worth.
The part where I exclusively stated facts is opinionated?
Submitter becoming very angry is not an objective view of it, unless you know for a fact they did become not only angry or frustrated, but very angry. Which would still be very leading because of the use of “very” where not necessary. Lash out on someone/something is also a very leading choice of words, since it has connotations beyond the neutral.
I’m just saying a lot of subjectivity on the words chosen, and that others should be aware.
Edit: Also I don’t believe you exclusively stated facts, but that’s neither here or there, this was about leading and biased tone. Which, again, is entirely valid, but not everyone will pick up on those and take it as it is, colors included.
He was using charged language and ultimately wrote a long rant about failed leadership and resigned from the project he founded as a result. I don’t know how you can possibly interpret that any other way.
Yeah, that’s exactly what it is, as you say: Your interpretation. Can’t offer much more as a third party, and I’m not saying it’s wrong or anything, I was just bringing the fact that it is a subjective interpretation up, since it probably isn’t clear for everyone.
“Long rant about failed leadership” is probably not how everyone would describe it/them, either. And just the use of “rant” there, as opposed to something neutral like “a post” or “writing” or whatever, is an example of what I mean. It’s not wrong and doesn’t imply you are wrong, but it is suggestive. Which, again, is fine, I do not understand why not just let the quick note I dropped be, rather than try and fight it for no reason. If you feel it’s unwarranted, just drop a downvote and it’ll go down in the thread and hidden on some clients, too, if it gets enough of those.
Because the “quick note” you dropped is wrong. There’s no defensible position where his reaction can reasonably be interpreted as anything else.
So you dictate the objective truth in situations where there are but interpretations? Any other interpretations are wrong, with a bold font even, other than yours, which you solely deem correct?
Right. I mean this is exactly what I was just dropping in to signal. And it’s not about who or what is right or correct. It’s the use of leading words… that’s all. Jesus.
It’s mostly in that linked thread. The high level of it is a guy wanted to push Rust code. The maintainer said no it would mean the API for this would be tied to Rust and that is unacceptable. It cause another big contributer to throw a fit and Linus said he can’t be everyone’s mom. They kept fighting for like 2 months apparently? Now Linus stepped in, looked at the code and said the Rust code clearly doesn’t impact the API in the way the maintainer was saying it just breaks itself if the maintainers allow changes to the API.
I kinda dislike the idea that it’s cool for people to contribute code that is so easy to break. I have a feeling after it happens a few times they are going to claim that it is being done intentionally and that the slap fights will carry on.
I do not know why you say it is easy to break.
The Rust team are maintaining their side. I do not expect it to break. And the C code that the Rust code depends on is used by lots of other code. It should be a stable interface. Changing the C code just to break the Rust code would break a lot of C code too and upset a lot of folks.
And the who point is to create a more idiomatic interface on the Rust side. So, even if the c interface does change, it may only be a small amount of Rust code that needs to change in response.
Yea and if the Rust developers don’t show up to the show? Rust is a baby and it has done so little on its own. This isn’t a neat little side project, this is code that a major vendor will want to take up and will demand be maintained. There are implications on a global scale.
This is such a red herring.
The Rust side we are talking about here have been involved for years. They have written amazing code (eg. Apple Silicon GPU drivers). There is an official Fedora spin based on their work.
What makes you think any of that is going to go away?
In fact, this whole incident shows their depth as the project lead quit Linux in disgust and was quickly replaced with another talented, dedicated, and proven developer.
There is a lot more drive-by C code you should worry about.
I can understand Hellwig’s fear, though.
From what I gather as a bystander, it’s apparently common that a refactoring in your module that breaks its API will involve fixing all the call-sites to keep the effort on the person responsible for the change. Now the Rust maintainers say “it’s fine; if it breaks, we’ll deal with it” which is theoretically takes away the cross-language issue for the C-maintainer. Practically I can very well see, that this will still cause friction in the future.
Let’s say such a change happens and at that time there’s a bit of time pressure and the capacity on the rust maintainers is thing for whatever reasons. Will they still happily swallow that change or will they start to discuss if it’s really necessary to do that change? And suddenly, the C-maintainer has a political discussion on top of the technical issue they wanted to solve.
As someone who just wants to get shit done, I would definitely have that fear.
(That doesn’t mean it’s still a bullet not worth swallowing. The change overall can still be worth the friction. I am just saying that I think it’s not totally unwarranted that a maintainer feels affected by this even though current pledges from the other parties promise otherwise; this stance can change or at least be challenged over and over.)
This situation could occur even if the code using the API was written in C.
If an API change breaks other downstream kernel code, and that code can’t be fixed in time then they have a conversation about pushing the changes to the next build.
In the end, Linus has already chosen to accept the extra development overhead in using Rust. I think this situation was more about a maintainer, who happens to disagree with the Rust inclusion, using their position to create unnecessary friction for other maintainers.
Isn’t it just to make the code more idiomatic rust side? If there’s breaking api change c side, it’s just a matter of adjusting the interface, it should not involve any grand work, right? The contributor bringing that change over can just ping anyone familiar with the rust interface and that should be the end of it for them, can’t imagine it’d be very involved to fix
Thanks for the summary, I did a bit of reading myself. It’s interesting the dynamics at play here - you’ve got a long, long term contributor in Hellwig who’s been a maintainer since before Rust even existed, then you’ve got quite a few people championing Rust being introduced into the kernel. I feel like Hellwig’s concerns must have more to do with the long term sustainability of the Rust code - like will there be enough Rust developers 10, 20, 30 years down the line. I mean, even if it stays maintained, having multiple languages in a codebase increases complexity and makes it harder to contribute. Then you have Filho resigning from the Rust for Linux project, which in itself kind of calls into question the long term sustainability of the project. It seems like Rust would have quite a few benefits for the Linux kernel, but the question remains of if it’s still gonna be any good in a few decades. This is juicy stuff!