• FooBarrington@lemmy.world
    link
    fedilink
    arrow-up
    62
    arrow-down
    9
    ·
    9 days ago

    If Rust is going to happen, then it’ll happen.

    How can it happen if individual maintainers say they’ll do everything in their power to keep Rust out of the kernel? There’s fundamentally no way forward. The R4L devs already gave every commitment they could, but some maintainers fundamentally don’t want it.

    And before anyone brings it up: no, the maintainers weren’t asked to touch Rust code or not break Rust code or anything else.

    • vanderbilt@lemmy.world
      link
      fedilink
      arrow-up
      19
      arrow-down
      6
      ·
      9 days ago

      Fact is Rust isn’t ready for every part of the kernel. C/Rust interop is still a growing pain for Linux and troubleshooting issues at the boundary require a developer to be good at both. It’s an uphill battle, and instead of inciting flame wars they could have fostered cooperation around the parts of the kernel that were more prepared. While their work is appreciated and they are incredibly talented, the reality is that social pressures are going to dictate development. At the end of the day software is used by people. Their expectations are not law, but they do need addressed to preserve public opinion.

      • FooBarrington@lemmy.world
        link
        fedilink
        arrow-up
        35
        arrow-down
        4
        ·
        9 days ago

        Again: what cooperation is possible when the maintainer says “I’ll do everything in my power to keep Rust out of the kernel”? When they NACK a patch outside of their Subsystem?

        • aksdb@lemmy.world
          link
          fedilink
          arrow-up
          1
          ·
          edit-2
          8 days ago

          Can a maintainer really NACK any patch they dislike? I mean I get that Hellwig said he won’t merge it. Fine. What if for example Kroah-Hartman says “whatever, I like it” and merges it nonetheless in his tree?

          • catloaf@lemm.ee
            link
            fedilink
            English
            arrow-up
            1
            ·
            8 days ago

            Yes, but asking him in this case was basically a courtesy, the code isn’t going into anything he manages. He can reject it, but that’s an opinion, not a decision. It can still be merged if the regular maintainer (or someone senior like Linus himself) approves.

        • Tgo_up@lemm.ee
          link
          fedilink
          English
          arrow-up
          3
          arrow-down
          7
          ·
          9 days ago

          Can you quote where that was said?

          I’ve been following this debate for a bit and as far as I can tell it’s not so much that they’ll do what they can to keep rust out but more to make sure that the people who want to develop in rust are the ones who end up maintaining that part of the code and not the current maintainers.

          • FooBarrington@lemmy.world
            link
            fedilink
            arrow-up
            25
            arrow-down
            1
            ·
            edit-2
            9 days ago

            Sure: https://lore.kernel.org/rust-for-linux/20250131075751.GA16720@lst.de/

            I accept that you don’t want to be involved with Rust in the kernel, which is why we offered to maintain the Rust abstraction layer for the DMA coherent allocator as a separate component (which it would be anyways) ourselves.

            Which doesn’t help me a bit. Every additional bit that the another language creeps in drastically reduces the maintainability of the kernel as an integrated project. The only reason Linux managed to survive so long is by not having internal boundaries, and adding another language complely breaks this. You might not like my answer, but I will do everything I can do to stop this.

            Can’t get more explicit than this.

      • FooBarrington@lemmy.world
        link
        fedilink
        arrow-up
        5
        arrow-down
        8
        ·
        9 days ago

        Which means unnecessary duplication of code, because every driver has to track kernel Interfaces separately. Why? What’s the advantage?

    • ubergeek@lemmy.today
      link
      fedilink
      English
      arrow-up
      2
      arrow-down
      7
      ·
      9 days ago

      It will happen via it being better, and being shown to be better. And it will take time to unseat 30 years of C.

      • FooBarrington@lemmy.world
        link
        fedilink
        arrow-up
        16
        ·
        9 days ago

        Not if they’re being prevented from showing to be better by C devs who, literally, “will do everything [they] can do to stop this”.

        Nobody is trying to unseat 30 years of C.

        • ubergeek@lemmy.today
          link
          fedilink
          English
          arrow-up
          5
          arrow-down
          11
          ·
          9 days ago

          Nobody prevents anyone from maintaining their own tree, thereby proving it works.

          And yes, Rust is trying to replace C, in the kernel. Let’s start off by being honest here, k?

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

            Nobody prevents anyone from maintaining their own tree, thereby proving it works.

            Yet the Linux project officially OK’d the R4L experiment, so why does this stuff still have to be kept out-of-tree?

            And yes, Rust is trying to replace C, in the kernel.

            No, Rust is not trying to replace C in the kernel.

            Let’s start off by being honest here, k?

            Sure, why don’t you give it a try?

            • ubergeek@lemmy.today
              link
              fedilink
              English
              arrow-up
              2
              arrow-down
              10
              ·
              9 days ago

              Yes, it’s been ok’d. That means it’s ok to go in, once proven.

              So, R4L peeps need to figure out how to convince maintainers that is works.

              So, go do it?

              • FooBarrington@lemmy.world
                link
                fedilink
                arrow-up
                13
                ·
                9 days ago

                How do you convince a maintainer that NACKs a PR outside his subsystem while explicitly saying:

                I will do everything I can do to stop this

                Please explain how one can convince such an individual.

                • ubergeek@lemmy.today
                  link
                  fedilink
                  English
                  arrow-up
                  2
                  arrow-down
                  9
                  ·
                  9 days ago

                  I already did: maintain your own tree, and prove it out, that it’s better.

                  If the maintenance load is so light, it’ll be easy work to do, to keep the tree in line with upstream.

                  If it’s so obviously technically better, people will see it, and more people will push to mainline your tree.

                  It’s work. And you need to convince others on technical merit. So, do the work.

                  Just like what folks did with OpenBSD, the grsecurity tree.

                  • FooBarrington@lemmy.world
                    link
                    fedilink
                    arrow-up
                    12
                    ·
                    9 days ago

                    The maintainer literally says the issue is that there are two languages. There is no way to convince them, there’s nothing anyone can do.

                    Which doesn’t help me a bit. Every additional bit that the another language creeps in drastically reduces the maintainability of the kernel as an integrated project. The only reason Linux managed to survive so long is by not having internal boundaries, and adding another language complely breaks this.

                    The maintainer didn’t say “I worry about the maintainability, please prove that it works outside the tree” (this concern was already discussed when the R4L experiment was officially OK’d). They are explicitly saying they’ll block Rust in the kernel, no matter what.

                    I don’t know how to better explain this to you.