There’s been a couple of mentions of Rust4Linux in the past week or two, one from Linus on the speed of engagement and one about Wedson departing the project due to non-technical concerns. This got me thinking about project phases and developer types.

  • solrize@lemmy.world
    link
    fedilink
    arrow-up
    15
    arrow-down
    1
    ·
    15 days ago

    Talks about different developer styles, slightly interesting and not too long winded I guess, but not much about the actual situation.

    I think this is still not such a great look for Rust. I had expected interfacing Rust to C to present fewer problems than it seems to. I had hoped the Rust compiler could produce object code with almost no runtime dependencies, the way C compilers can. So integrating Rust code into the kernel should be fairly painless from the C side, if things were as one would hope.

    It does sound to me in the earlier post that there was some toxicity going on. Maybe it had something to do with the context being a DRM driver.

    I looked at a few Rust tutorials but they seemed to take forever to get to any interesting parts. I will keep looking.

    • Skull giver@popplesburger.hilciferous.nl
      link
      fedilink
      arrow-up
      18
      arrow-down
      3
      ·
      edit-2
      15 days ago

      Based on stories like these, I get the feeling there’s active hostility from the maintainers against Rust contributors. While the kernel in general has accepted Rust contributions, the maintainers of individual subsystems seem to disagree.

      I don’t think the language matters. The problem is cultural, first and foremost. Had a new wave of programmers used C to expand the Linux kernel, they probably would’ve run into the same issues.

      This isn’t the first time I’ve heard devs complain about the DRM API, and most of my kernel panics seem to involve DRM as well (mostly Nvidia, but the Intel driver crashes too). Maybe it’s because of performance reasons, but DRM seems very hard to get right, even for already merged in-tree drivers.

      If the problem does turn out to be technical in nature, maybe Linux needs to ask Microsoft for help. They don’t seem to have that many issues rewriting system components into Rust, and they have the additional challenge of remaining binary compatible with the C(++) code that came before it.

        • merthyr1831
          link
          fedilink
          English
          arrow-up
          2
          ·
          13 days ago

          DRM in this context (as mentioned by the other comment) is the interface between the userspace graphics drivers (Mesa, Nouveau, Nvidia etc.) and your graphics devices. It handles pretty much everything for rendering from displays to power management and memory synchronization, in a cooperative way that stops crashes due to race conditions, memory corruption etc.

      • merthyr1831
        link
        fedilink
        English
        arrow-up
        1
        ·
        13 days ago

        As an aside, the DRM and its support for the supposedly superior-on-linux AMD-powered devices is atrocious. I’ve had my laptop since January and it’s a model from 2023, but it still regularly has mega display corruption from memory mismanagement that might be improved from a certain language feature not offered in C.

      • merthyr1831
        link
        fedilink
        English
        arrow-up
        2
        arrow-down
        2
        ·
        13 days ago

        Your point about it being a culture issue is spot on. Many maintainers who are established in the kernel have made it clear they’d rather keep the status quo and the comfort of stagnation rather than bring a new technology forward to improve the security of their systems.

        If it wasn’t Rust, but some other language with similar benefits, the same people would’ve thrown their hands in the air and complained that they’re being forced to rewrite everything or some other hyperbole.

        Because it’s a FOSS project, for some reason it’s acceptable for maintainers to be entitled arseholes who abuse anyone they personally have a vendetta against.

        In any other workplace, this behaviour wouldn’t be called “nontechnical concerns” it would be called workplace bullying. And as much as Linus wants to say he’s working on his anger issues, he is personally one of the contributors who has set this culture of aggression and politicking as much as any other.