Linus responds to Hellwig - "the pull request you objected to DID NOT TOUCH THE DMA LAYER AT ALL... if you as a maintainer feel that you control who or what can use your code, YOU ARE WRONG."
-
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.
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.)
-
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
But isn’t this in specific just about bindings?
-
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. The submitter became very angry, lashed out publicly on social media, 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.
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.
-
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?
-
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.)
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
-
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.
-
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.
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.
-
Yes but that clearly was not happening. And now they lost a contributor for no reason.
Marcan was probably fed up and was looking for a reason leave. If that's not the case, then it's silly for him to just quit mid-discussion, before it's even become apparent what the reaction to Cristoph Hellwig's behavior would be and whether his reply would even be taken into account during the review process.
-
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
-
Marcan was probably fed up and was looking for a reason leave. If that's not the case, then it's silly for him to just quit mid-discussion, before it's even become apparent what the reaction to Cristoph Hellwig's behavior would be and whether his reply would even be taken into account during the review process.
before it's even become apparent what the reaction to Cristoph Hellwig's behavior would be
It was very clear that the reaction was going to be no reaction. That's the point.
-
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
Because the "quick note" you dropped is wrong. There's no defensible position where his reaction can reasonably be interpreted as anything else.
-
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. The submitter became very angry, lashed out publicly on social media, 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.
-
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.
-
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.
-
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.
Any other interpretations are wrong
Yes that's what I said.
-
Any other interpretations are wrong
Yes that's what I said.
Right. Okay well this has been fun, have a good one.
-
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)
-
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.)
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.
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.
-
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.
-
before it's even become apparent what the reaction to Cristoph Hellwig's behavior would be
It was very clear that the reaction was going to be no reaction. That's the point.
Cristoph Hellwig's initial message was on 2025-01-08. Marcan's stepping down was on 2025-02-07. So no, it's not several months; it's barely one month. Getting in fights in mailing lists and making social media posts is not everyone's first reaction and it is arguably not the best reaction, especially for people in places of power. It is silly for Marcan to demand everybody's reaction to be as loud and as quick as his own.
It was very clear that the reaction was going to be no reaction.
Well, it turns out that the reaction was pretty clear not "no reaction". That's the reason this thread we're talking in exists. Marcan was objectively wrong if he assumed Hellwig's comments and nack would be accepted. Instead, Hellwig was explicitly called out for having no say on the matter and for producing "garbage arguments".