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.

  • fmstrat@lemmy.nowsci.com
    link
    fedilink
    English
    arrow-up
    44
    arrow-down
    1
    ·
    1 day ago

    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.

    • Arthur Besse@lemmy.mlM
      link
      fedilink
      arrow-up
      8
      arrow-down
      2
      ·
      1 day ago

      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? 😂

      • KubeRoot@discuss.tchncs.de
        link
        fedilink
        English
        arrow-up
        6
        ·
        1 day ago

        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.

    • spooky2092@lemmy.blahaj.zone
      link
      fedilink
      English
      arrow-up
      28
      ·
      1 day ago

      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.

      • LeFantome@programming.dev
        link
        fedilink
        arrow-up
        6
        ·
        22 hours ago

        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.

    • LeFantome@programming.dev
      link
      fedilink
      arrow-up
      116
      arrow-down
      2
      ·
      edit-2
      2 days ago

      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.

  • catloaf@lemm.ee
    link
    fedilink
    English
    arrow-up
    148
    arrow-down
    10
    ·
    2 days ago

    Gee Linus you think you could’ve fucking said something before it got to this point?

      • Ulrich@feddit.org
        link
        fedilink
        English
        arrow-up
        29
        arrow-down
        2
        ·
        2 days ago

        Yes but that clearly was not happening. And now they lost a contributor for no reason.

        • teawrecks@sopuli.xyz
          link
          fedilink
          arrow-up
          17
          arrow-down
          1
          ·
          1 day ago

          I’d venture to guess this isn’t the first time Linus has had to deal with devs who have ideological disagreements and one quits. It’s not also his job to keep that from happening. What he said is true, there’s a process they have for maintaining Linux, and it doesn’t involve flame wars on social media…it involves flame wars over email 😅.

          But seriously, if a devs are going to get upset at each other and rage quit, it’s not Linus’ job to play mediator.

          • eldavi@lemmy.ml
            link
            fedilink
            English
            arrow-up
            4
            arrow-down
            3
            ·
            edit-2
            1 day ago

            it used to be hard to imagining anyone wanting to work w someone as toxic as linus; but i’ve learned after my first 2 tenures at faang that developers are as tribalistic as any kardashian worshipper.

            devs getting angry at each other and then rage quiting is just a sympton of a tribalistically shared belief of intellectual superiority among developers like when kardashian sisters have beef with each other and their followers attack each other for it.

        • patatahooligan@lemmy.world
          link
          fedilink
          arrow-up
          9
          arrow-down
          18
          ·
          2 days ago

          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.

          • Ulrich@feddit.org
            link
            fedilink
            English
            arrow-up
            23
            arrow-down
            8
            ·
            edit-2
            2 days ago

            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. Several months later is not “mid-discussion”.

            • patatahooligan@lemmy.world
              link
              fedilink
              arrow-up
              17
              arrow-down
              7
              ·
              1 day ago

              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”.

              • Ulrich@feddit.org
                link
                fedilink
                English
                arrow-up
                12
                arrow-down
                5
                ·
                edit-2
                1 day ago

                So no, it’s not several months; it’s barely one month

                How many months should he have waited for an authoritative response?

                I don’t agree with Hector’s response either but that has nothing to do with the fact that Linus left them alone for months to sort out between themselves when he could have simply stepped in and ended it.

                it turns out that the reaction was pretty clear not “no reaction”. That’s the reason this thread we’re talking in exists.

                This thread? The one that appeared weeks after he already quit? Not helpful.

                • patatahooligan@lemmy.world
                  link
                  fedilink
                  arrow-up
                  4
                  arrow-down
                  6
                  ·
                  1 day ago

                  How many months should he have waited for an authoritative response?

                  Well, Marcan should wait as long as feels right to him. As I said previously, I’m pretty sure he was already pissed off about previous R4L issues and he didn’t quit because of this alone. I want to be clear that I’m commenting solely on the expectation of a swifter response from leadership in the original email thread and not on Marcan’s decision to step down, which I can’t be the judge of.

                  So, I expect people in places of power to take their time when they respond publicly to issues like this, for various reasons. Eg:

                  • they might try to resolve things in private first (seems to be the case)
                  • they might want to discuss with their peers to double check their decision making and to take collective action, this is especially true if the CoC committee gets involved
                  • they might want to chime in when people have calmed down and they expect to be able to have meaningful conversations with them

                  At the very least, I would have waited to see what happens with the patches if I were in his position. The review process, which kept going in the meantime, essentially sets a timer for a decision to be made. In the end, Hellwig’s objections would either be acknowledged as blocking or they would be ignored. In any case there would have been a clear stance from the project’s leadership. It makes sense to me to wait for this inevitable outcome before making a committal decision such as stepping down.

    • Auli@lemmy.ca
      link
      fedilink
      English
      arrow-up
      18
      ·
      1 day ago

      Yah took him long enough and should have never got to this point. Now we have lost a contributer.

    • Ledivin@lemmy.world
      link
      fedilink
      arrow-up
      8
      arrow-down
      12
      ·
      1 day ago

      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

    • corsicanguppy@lemmy.ca
      link
      fedilink
      English
      arrow-up
      3
      arrow-down
      10
      ·
      2 days ago

      Sometimes when you’re celebrating someone’s judgement, don’t shit on their judgement.

    • TimeSquirrel@kbin.melroy.org
      link
      fedilink
      arrow-up
      10
      arrow-down
      2
      ·
      1 day ago

      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.

      • HiddenLayer555@lemmy.ml
        link
        fedilink
        English
        arrow-up
        21
        ·
        1 day ago

        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.

    • Semperverus@lemmy.world
      link
      fedilink
      English
      arrow-up
      37
      arrow-down
      17
      ·
      2 days ago

      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

      • gomp@lemmy.ml
        link
        fedilink
        arrow-up
        26
        arrow-down
        3
        ·
        1 day ago

        (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)

        • Semperverus@lemmy.world
          link
          fedilink
          English
          arrow-up
          3
          arrow-down
          1
          ·
          1 day ago

          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.

        • jerakor@startrek.website
          link
          fedilink
          arrow-up
          2
          arrow-down
          1
          ·
          1 day ago

          Yea but if someone uses those bindings then you can’t just not support it.

          By the time this code gets into a large scale production system it will be 2029. That is when the bugs will come in if someone leveraged the Rust bindings.

          You can ask the big company users at that time to contribute their fixes upstream, but if they get resistance because they have relatively junior Rust devs trying to push up changes that only a handful of maintainers understand, the company will just stop upstreaming their changes.

          The primary concern that a major open source project like this will have is that the major contributors will decide that interacting with it is more trouble than it is worth. That is how open source projects move to being passion projects and then die when the passion dies.

          • LeFantome@programming.dev
            link
            fedilink
            arrow-up
            7
            ·
            1 day ago

            Instead of thinking about the bindings as part of the sub-system, think of them as part of the driver. That is what Linus is saying here.

            The Rust code will be maintained, by those writing Rust code. By those writing the drivers. These are not junior people.

            Except the bindings are written so that they can be used not just by this driver but others as well.

            If companies write crappy code that calls into these bindings, that is nothing new. They do that today with C. Like C, the code will not be accepted if crappy and / or there is nobody credible to maintain it.

            None of this is a good argument for not letting these bindings in.

        • Semperverus@lemmy.world
          link
          fedilink
          English
          arrow-up
          2
          arrow-down
          2
          ·
          1 day ago

          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).

          • Norah (pup/it/she)@lemmy.blahaj.zone
            link
            fedilink
            English
            arrow-up
            1
            ·
            17 hours ago

            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”.

      • Serinus@lemmy.world
        link
        fedilink
        arrow-up
        8
        arrow-down
        6
        ·
        1 day ago

        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.

        • Semperverus@lemmy.world
          link
          fedilink
          English
          arrow-up
          2
          arrow-down
          3
          ·
          edit-2
          1 day ago

          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.

          • LeFantome@programming.dev
            link
            fedilink
            arrow-up
            11
            ·
            1 day ago

            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.

  • jcg@halubilo.social
    link
    fedilink
    arrow-up
    13
    arrow-down
    2
    ·
    2 days ago

    Anyone got more context on this I can read through? I haven’t kept up with this other than Linus’s notorious attitude.

    • Ulrich@feddit.org
      link
      fedilink
      English
      arrow-up
      18
      arrow-down
      3
      ·
      edit-2
      2 days ago

      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.

      • orgrinrt@lemmy.world
        link
        fedilink
        arrow-up
        4
        arrow-down
        16
        ·
        edit-2
        2 days ago

        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.

          • orgrinrt@lemmy.world
            link
            fedilink
            arrow-up
            6
            arrow-down
            24
            ·
            edit-2
            2 days ago

            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.

            • Ulrich@feddit.org
              link
              fedilink
              English
              arrow-up
              25
              arrow-down
              3
              ·
              2 days ago

              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.

              • orgrinrt@lemmy.world
                link
                fedilink
                arrow-up
                3
                arrow-down
                20
                ·
                edit-2
                2 days ago

                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.

                • Ulrich@feddit.org
                  link
                  fedilink
                  English
                  arrow-up
                  10
                  arrow-down
                  3
                  ·
                  2 days ago

                  Because the “quick note” you dropped is wrong. There’s no defensible position where his reaction can reasonably be interpreted as anything else.

    • jerakor@startrek.website
      link
      fedilink
      arrow-up
      21
      arrow-down
      8
      ·
      2 days ago

      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.

      • LeFantome@programming.dev
        link
        fedilink
        arrow-up
        41
        arrow-down
        1
        ·
        2 days ago

        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.

        • jerakor@startrek.website
          link
          fedilink
          arrow-up
          1
          arrow-down
          4
          ·
          1 day ago

          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.

          • LeFantome@programming.dev
            link
            fedilink
            arrow-up
            11
            ·
            1 day ago

            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.

        • aksdb@lemmy.world
          link
          fedilink
          arrow-up
          3
          arrow-down
          6
          ·
          edit-2
          2 days ago

          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.)

          • FauxLiving@lemmy.world
            link
            fedilink
            arrow-up
            15
            ·
            1 day ago

            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.

          • orgrinrt@lemmy.world
            link
            fedilink
            arrow-up
            2
            arrow-down
            1
            ·
            2 days ago

            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

      • jcg@halubilo.social
        link
        fedilink
        arrow-up
        8
        ·
        2 days ago

        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!

      • ProgrammingSocks@pawb.social
        link
        fedilink
        arrow-up
        1
        arrow-down
        2
        ·
        10 hours ago

        I’m personally not a fan of permissible licenses, but you don’t need to bring your fetishes up in every conversation.

      • Arthur Besse@lemmy.mlM
        link
        fedilink
        arrow-up
        8
        ·
        edit-2
        1 day ago

        What does glazer mean in this context? (English is my fourth language)

        English is my first language and I also wondered. The definition in the other reply to you was only added to wiktionary last year. According to know your meme, it became popular on TikTok in 2023 and allegedly originated on discord in November 2021.

        (wiktionary also has another definition which I’ve also never heard of before which has been there since 2007 with no quotations or other evidence of actual use…)

        • freddydunningkruger@lemmy.world
          link
          fedilink
          arrow-up
          9
          arrow-down
          1
          ·
          1 day ago

          A glazed donut is a pastry with a shiny coating of sugar covering it. The basic idea is that if you put someone’s body-part in your mouth, for the purposes of this discussion, let’s call it a “long finger”, when it leaves your mouth, the wetness gives it a shiny look like it was glazed.

          So to say you are glazing someone would mean you are such a fan of that person, you would be willing to make some parts of them really, really shiny with your mouth saliva.