• Semperverus@lemmy.world
    link
    fedilink
    English
    arrow-up
    75
    arrow-down
    9
    ·
    16 days ago

    I am so glad Linus just came out and said it. I was pretty upset at Hector too in the other thread the other day, and I especially didn’t appreciate a call to remove a major developer from the kernel because Hector wasn’t getting his way. Very militant action on Hector’s part where it just wasn’t necessary.

    Hector, if you’re reading this, communication skills are just as if not more important than your Rust development skills, and frankly your communication skills lack.

    • DacoTaco@lemmy.world
      link
      fedilink
      arrow-up
      19
      ·
      16 days ago

      You seem to be in the loops of the linux kernel?
      If so, ive known hector from way before when we was part of f0f, or TT as they were known before, doing wii homebrew work.
      What you describe is what my experience was with him 14 years ago too. The guy is smart, he has a very good skill set and knowledge, but his communication skills were lacking back then too.
      Granted, both he and myself were still teenagers and students and we were wild, but i had always assumed he grew up a bit since then…

      What you said is spot on, and i hope he does read both of these. And if he does :
      Marcan, you might not know who i am anymore, but ffs man. Dont screw up your love for all of these by keep kicking the hornets nests. You did it with devkitpro, emudevs when the nier news dropped and with rossman too. Stop it, its for your own good.

      • uis@lemm.ee
        link
        fedilink
        arrow-up
        4
        arrow-down
        1
        ·
        16 days ago

        and with rossman too.

        I decided to read replies: wierd, they suggest accusation is overblown.

        I decided to read context: WTF is this?! Unholy shit, dear Faust, what did I read? What a deflection!

        I thought I was terminally online with mental disorders, but this makes me look most grass-touching and sanest person.

    • WalnutLum@lemmy.ml
      link
      fedilink
      arrow-up
      20
      arrow-down
      2
      ·
      16 days ago

      I can understand their frustration, having multiple other rust for Linux project maintainers quit over nontechnical rust aversion.

      And Linus continues to (democratically?) avoid the subject with this response.

      As a rust for Linux volunteer you have to be incredibly demoralized reading this mess almost every other month.

      • steeznson@lemmy.world
        link
        fedilink
        arrow-up
        12
        arrow-down
        3
        ·
        16 days ago

        Part of why linux has been a successful long term project is by making decisions conservatively. Other projects like cURL do the same. Incremental improvements over time.

        It seems like there is a culture clash with the rust devs who are pushing for changes faster than the long term project maintainers are comfortable with.

    • catloaf@lemm.ee
      link
      fedilink
      English
      arrow-up
      13
      arrow-down
      20
      ·
      16 days ago

      So now we’ve lost a very good developer, and the question of rust in the kernel remains unresolved. This is the worst possible outcome.

      • Semperverus@lemmy.world
        link
        fedilink
        English
        arrow-up
        46
        arrow-down
        7
        ·
        edit-2
        16 days ago

        Part of being a good developer is the “working well with other human beings” part. Linus himself took a hiatus to improve himself in this area.

        Another part of being a good developer is to work within and adapting to the frameworks of an existing project, especially if you are joining at a later point. In this context, it would be the R4L folks joining the project known as “the Linux kernel.”

        Hector failed on both counts. He has programming skills, but that’s not all that’s required.

        • catloaf@lemm.ee
          link
          fedilink
          English
          arrow-up
          14
          arrow-down
          7
          ·
          16 days ago

          Sure, and part of being a good manager is to, you know, manage. It shouldn’t have gotten to the point that marcan is going outside the list to try to get something done. Linus (or someone else with authority, I’m not familiar with who else is managing it) should have stepped in much earlier to head off the drama. It was a very simple question.

          Rust in the kernel is already established and part of the mainline kernel. It’s extremely pretty and wholly inappropriate to reject code just because it’s written in rust.

          • Semperverus@lemmy.world
            link
            fedilink
            English
            arrow-up
            8
            arrow-down
            6
            ·
            16 days ago

            If you had read Christoph’s reasoning, it wasn’t “just because it’s written in Rust.” He actually gave some decent technical reasoning for it that went beyond his original personal outburst (which I hold him to the same standard as Hector for, but he did shore up later and fixed his communication).

            • Muehe@lemmy.ml
              link
              fedilink
              arrow-up
              14
              arrow-down
              1
              ·
              16 days ago

              How do you figure?

              The only two “technical” arguments I could see were firstly that code should

              [remain] greppable and maintainable

              which unless I’m missing something boils down to “I don’t speak Rust”, and secondly that

              The only reason Linux managed to survive so long is by not having internal boundaries, and adding another language complely breaks this

              which unless I’m missing something boils down to “I don’t speak Rust”, because ain’t nobody trying to add any other languages to the Linux code base.

              Surely this can’t be the “decent technical reasoning” you are referring to? I have to admit I don’t follow kernel development that closely, but I was under the impression that integrating Rust into the code base was a long discussed initiative having the “official” blessing of the higher ups among the maintainers by now, so it seems odd to see it opposed in such harsh terms by a subsystem maintainer here:

              I absolutely support using Rust in new codebase, but I do not at all in Linux.

              • DacoTaco@lemmy.world
                link
                fedilink
                arrow-up
                3
                ·
                edit-2
                16 days ago

                You and i read different things. I hated how he worded them, but his arguments at greppable and understandable are valid arguments that go beyond rust and if he can read it or not or refuses to.
                Mixing languages in a part of a project brings complexity and is often a huge ass nono because it makes things unreadable and hard to manage on a large scale.
                He also argues that a c interface exists to connect 2 parts of a system. The person that changes the interface should not have to alter the users of that interface, if they do then you get intertwined dependencies, which is a huge ass red flag for developers that something has gone terrible wrong and the project is not going to scale or will be easy to change.
                So if he changes the interface, the rust team will need to fix it, specially since they are the minority.
                That also doesnt mean he can change it in whatever way without worry, it is an interface change, that needs discussions and approvals ahead of time ofc.

                • Muehe@lemmy.ml
                  link
                  fedilink
                  arrow-up
                  2
                  ·
                  15 days ago

                  You and i read different things.

                  Apparently we did.

                  I hated how he worded them, but his arguments at greppable and understandable are valid arguments that go beyond rust and if he can read it or not or refuses to.

                  I’m failing to see how Rust code is not greppable unless you don’t speak Rust.

                  Mixing languages in a part of a project brings complexity and is often a huge ass nono because it makes things unreadable and hard to manage on a large scale.

                  An argument which I would acknowledge, but if the decision to do this has been made by the group it still is weird to see it blocked by an individual.

                  He also argues that a c interface exists to connect 2 parts of a system. The person that changes the interface should not have to alter the users of that interface, […] So if he changes the interface, the rust team will need to fix it, specially since they are the minority.

                  Nobody asked Hellwig to do this, in fact Krummrich said several times they would maintain the interface consuming the C code themselves. They just want one common interface for all Rust drivers, instead of replicating the same code in each driver. Which Hellwig never gives a substantial reply to.

                  That also doesnt mean he can change it in whatever way without worry, it is an interface change, that needs discussions and approvals ahead of time ofc.

                  Again not how I’m reading that thread. As Krummrich put it:

                  Surely you can expect maintainers of the Rust abstraction to help with integrating API changes – this isn’t different compared to driver / component maintainers helping with integrating fundamental API changes for their affected driver / component, like you’ve mentioned videobuf2-dma stuff.

        • Auli@lemmy.ca
          link
          fedilink
          English
          arrow-up
          1
          ·
          15 days ago

          And this could also apply to all the existing devs who are fighting tooth and nail to keep rust out.

      • sik0fewl@lemmy.ca
        link
        fedilink
        arrow-up
        1
        arrow-down
        1
        ·
        edit-2
        15 days ago

        I don’t think this is the worst outcome. It would have been worse if he was the face of Rust in Linux and it died out over ten years instead of one.

        That being said, hopefully it can get a fresh start.

        • Auli@lemmy.ca
          link
          fedilink
          English
          arrow-up
          1
          ·
          15 days ago

          What Rust. It’s never going to happen the old timers are fighting like hell to keepmit out.

  • Gayhitler@lemmy.ml
    link
    fedilink
    English
    arrow-up
    67
    arrow-down
    5
    ·
    16 days ago

    https://lore.kernel.org/lkml/20250108122825.136021-1-abdiel.janulgue@gmail.com/

    Here’s the source thread.

    Tldr: someone wants to put rust in the dma part of the kernel (the part that accesses memory directly)(it’s a memory allocator abstraction layer written in rust which rust code can use directly instead of dealing with the c allocator abstraction layer), is told that rust should use the extant methods to talk to the c dma interface, replies that doing so would make rust programs that talk to dma require some more code, gets told “that’s fine. We can’t do a split codebase”. The two parties work towards some resolution, then hector martin comes in and acts like jerk and gets told to fuck off by Linus.

    Martin is no lennart poettering but I don’t try to see things from his perspective anymore.

    It’s worth noting that Linus’ “approval” of rust in the kernel isn’t generally seen as a blanket endorsement, but a willingness to see how it might go and rust people have been generally trying to jam their code everywhere using methods that rival the cia simple field sabotage manual.

    I don’t think it’s on purpose (except for maybe Martin) but a byproduct of the kernel maintainers moving slowly but surely and the rust developers moving much faster and some seeing the solution to that slow movement as jamming their foot in the door and wedging it open.

    • verdigris@lemmy.ml
      link
      fedilink
      arrow-up
      29
      arrow-down
      1
      ·
      16 days ago

      To be fair, I’m not sure how “I will do everything in my power to oppose this” is the anti-Rust side “work[ing] towards some resolution”…

      • Gayhitler@lemmy.ml
        link
        fedilink
        English
        arrow-up
        22
        arrow-down
        3
        ·
        16 days ago

        That’s tame for the kernel mailing list lol.

        The context is that hellwig doesn’t want another maintainer or deal with a split codebase in the dma subsystem which I honestly agree with.

        If I were a maintainer in that position I’d be barring the doors too. It’s not a driver for some esoteric realtek wireless card or something.

        Even if I didn’t agree with that position it’s normal to only post on the kernel mailing list about shit you actually care deeply about because it’s public and aside from all your fellow devs taking the time to read what you wrote, psychotic nerds like myself watch it and will try to read the tea leaves too!

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

          If I were a maintainer in that position I’d be barring the doors too. It’s not a driver for some esoteric realtek wireless card or something.

          This effectively kills R4L. If they can’t include Rust Interfaces for important subsystems, each driver written in Rust that uses these subsystems has to separately track all the Subsystem Interfaces, leading to lots of extra work for no benefit.

          If this is the approach Linux takes, they should just cancel R4L completely.

        • verdigris@lemmy.ml
          link
          fedilink
          arrow-up
          4
          ·
          16 days ago

          Sure, I don’t think it’s like toxic or anything, but I also understand why Martin viewed the situation as an impasse requiring a decision from on high. Also, from my limited understanding it sounds like the new code was in a sequestered rust-only section of the dma subsystem, so I’m not clear on exactly what new burdens were being placed on the C dma maintainers.

          • Gayhitler@lemmy.ml
            link
            fedilink
            English
            arrow-up
            5
            arrow-down
            1
            ·
            16 days ago

            My understanding is that the rust code in question implemented parts of the c dma interface so that rust programs could use that instead of the c dma interface.

            I’m out in the world, not sitting in front of a computer with the source open so that guess will have to do for now.

            The most immediate problem with having two different dma interfaces is that now you have two maintainers and an extra step at best when making any changes.

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

          This creates a lot of extra work for no benefit, as every driver that needs DMA would have to include their own copy of the DMA stuff.

          • uis@lemm.ee
            link
            fedilink
            arrow-up
            2
            arrow-down
            1
            ·
            15 days ago

            They still can share code. Just not maintained by dma.

            • FooBarrington@lemmy.world
              link
              fedilink
              arrow-up
              2
              ·
              15 days ago

              Nobody asked for the code to be maintained by DMA. The maintainer blocked a PR outside his subsystem, and even if it was part of his subsystem, the R4L approach is that C developers can break Rust code however they want.

              Literally nobody suggested that the DMA maintainers should maintain Rust code.

        • verdigris@lemmy.ml
          link
          fedilink
          arrow-up
          9
          arrow-down
          2
          ·
          16 days ago

          If you read the article, the main issue is not the fact that it’s Rust itself, but that it’s a second language entering the codebase. There’s definitely some validity to the argument.

          My personal view is that any C developer who doesn’t want to learn Rust is going to kick themselves once they do.

          • droplet6585@lemmy.ml
            link
            fedilink
            English
            arrow-up
            3
            ·
            16 days ago

            the main issue is

            Sure. But I’ve seen quite a bit of push back against rust from these sorts even outside the kernel.

    • Norah (pup/it/she)@lemmy.blahaj.zone
      link
      fedilink
      English
      arrow-up
      11
      ·
      edit-2
      15 days ago

      Except you’re wrong about them wanting to put Rust code in the DMA subtree. As per the article linked below by M1ch431:

      In a message to the Linux kernel mailing list, Hellwig wrote: “No Rust code in kernel/dma, please.” For what it’s worth, the patch added code to the rust/kernel portion of the Linux source tree, not kernel/dma, as far as we can tell.

      All they were doing is adding an abstraction layer, within the already existing Rust code, so that rust drivers could communicate with the C DMA code in a uniform and predictable manner. It would have put far more work on maintainers, both C and Rust alike, to have each and every driver implement its own abstraction to the DMA API. Issues would have been/will be filed against the kernel/dma subtree in error due to issues with these myriad abstraction layers.

      • Gayhitler@lemmy.ml
        link
        fedilink
        English
        arrow-up
        3
        arrow-down
        1
        ·
        15 days ago

        It’s a duplication of functionality in kernel/dma.

        That’s why the submitter didn’t say “I didn’t submit to kernel/dma, checkmate libs!”.

        The intent is to duplicate functionality in kernel/dma then get it included directly or linked to.

        That’s what the r4l project is trying to do explicitly!

        Before you say that kernel/dma didn’t have functional easy to use rust bindings, so the commit couldn’t have duplicated functionality: someone on kernel/dma said they didn’t want that and suggested using the c bindings instead which is what every other language has to do. Which means there was already a solution that was functional.

        It’s like if there’s a community bicycle and you bring your drill and tap set so you can mount your bottle caddy and the community says “please don’t make a hole we have to tig in. Just use a pipe strap.” The right answer isn’t to start building a whole new down tube you can tap for an m5 for your bottle caddy, it’s to just use a pipe strap for your bottle caddy.

        I didn’t read the linked article (or any linked article about this) because I’ve been reading the mailing list. Reporting on the kernel and people’s behavior on the list is tiring and often includes a bunch of baseless speculation.

    • Michael@lemmy.ml
      link
      fedilink
      arrow-up
      8
      arrow-down
      7
      ·
      edit-2
      16 days ago

      trying to jam their code everywhere using methods that rival the cia simple field sabotage manual.

      I am aware of the manual, but I fail to see how adding to a codebase is “sabotage” if it’s all generally seen as fine by the project lead - it’s far from a hostile takeover.

      Would a CIA saboteur even want memory safety as a rule? Just speculating, but I’d say that’s unlikely.

      Edit: I changed the order of the sentences, as it was not intentionally ordered, and slightly clarified my second thought.

      • Gayhitler@lemmy.ml
        link
        fedilink
        English
        arrow-up
        7
        arrow-down
        2
        ·
        16 days ago

        I don’t think the ends are those of the cia, and I didn’t say that the means were either, only that they were similar to those in a famous mid century guide for those trying to halt or hijack organizations.

        I don’t think the rust devs are a cia opp, before you ask. I think some rust devs and even proponents of rust who only cheer from the sidelines are sometimes behaving in ways that raise red flags. I think it’s natural and laudable that the existing devs and maintainers are alarmed by that same behavior. It’s their job.

        I also think Linus position on rust has been stretched to the point of breaking and I personally find it hard to take positions seriously that distill the complex process of integrating new languages into a very old very large codebase with many full time developers into “Linus said I could”.

        • Michael@lemmy.ml
          link
          fedilink
          arrow-up
          6
          arrow-down
          2
          ·
          edit-2
          16 days ago

          Again, I am aware of the manual. I was recently exposed to it, as well, so it’s very fresh in my mind. I understand why you mentioned it and understand what you are saying, but I disagree, I don’t see the parallels.

          I think Linus just wants the drama to stop and the progress to flow, but I’ll let him speak for his emotions towards the R4L project and avoid speculating about him.

          I’m just openly speculating that there are vulnerabilities in the C code, and that the R4L project will uncover those as a natural product of its evolution. I don’t think a CIA sabotage manual is apt to describe the R4L project, largely because I see it as progress. From my perspective, maintaining old C code is not something they are sabotaging.

          As opposed to the R4L members, there are those who are openly admitting to sabotaging the progress of the R4L project. If you’ve seen the past public clashes between the R4L project and the Linux kernel community, you’d also be able to garner that from those interactions as well.

          • Gayhitler@lemmy.ml
            link
            fedilink
            English
            arrow-up
            4
            arrow-down
            1
            ·
            16 days ago

            It’s surprising to see that statement get brought up in the news considering it’s immediately followed by a parenthetical specifically enumerating a multi language code base as the subject not rust specifically.

            Iirc it’s even preceded by something to the effect of “I like rust, it’s good and there’s nothing wrong with projects that use it”.

            The news coverage of kernel mailing list stuff is always so needlessly breathless.

            • Michael@lemmy.ml
              link
              fedilink
              arrow-up
              6
              ·
              edit-2
              16 days ago

              From my understanding, it’s not Hellwig’s job to maintain the Rust side of the code. They can find multi-language codebases a pain all they want and throw a gigantic tantrum focused towards the R4L project - it doesn’t affect the code that they are responsible for. I don’t see why the whole R4L project couldn’t just be removed if R4L is not maintained by those who develop and support it.

              but I will do everything I can do to stop this.

              Is an open admission of Hellwig to sabotaging the R4L project.

              Seeing the R4L folks as saboteurs or anything close is not in evidence. This isn’t the '90s, we have the means to be a lot more productive in regards to coding and managing codebases, and historical maintenance problems are irrelevant. If the R4L team is truly sabotaging the codebase by adding too much complexity or overhead, there are levers that can be pulled to change their direction without blindly rejecting or hindering their efforts.

              • Gayhitler@lemmy.ml
                link
                fedilink
                English
                arrow-up
                3
                ·
                16 days ago

                Again, so much of the discussion around kernel mailing list exchanges excludes the context that what hellwig is talking about is not rust in the kernel at all or even r4l but a split code base.

                I dealt with a c/c++ codebase once and it was beyond my meager abilities to handle both those ostensibly similar languages at the same time and I had people who were very knowledgeable in c involved with the project.

                So when someone says “I think a split codebase is cancer to the Linux kernel” or “I will oppose this (split codebase) with all my energy” I’m like “yeah, that makes sense.”

                I also need to clarify that I don’t think anyone is sabotaging anyone else and my intent in bringing up the simple field sabotage manual was to point out that the behaviors don’t necessarily indicate sabotage but fall into a broad category of behavior that isn’t gonna solve problems or get anywhere which is why it’s included in the manual.

                I wasn’t aware it was circulating in social media recently and about fifteen years ago when I got exposed to it the main lessons to draw were not that people doing those things were active saboteurs but that those behaviors can lead to waste of energy and resources and they’re the first thing to avoid interacting with.

                My exposure to and understanding of the manual was “here are some things to avoid in your own life” not “here’s how to throw a wrench into their plans!”

                • Michael@lemmy.ml
                  link
                  fedilink
                  arrow-up
                  1
                  ·
                  edit-2
                  16 days ago

                  I don’t think the R4L project is for naught or is impeding progress. I see their good faith and their efforts. A split codebase can just be chopped off at the base and business can move on as usual at any point.

                  If Linux kernel maintainers are against potential improvements being found to the existing C code as a result of parallel development, then perhaps they should require the Rust developers to suggest what the added/changed code could look like in C (if possible) and their reasons for changing the implementation in Rust before they can push their implementation (forcing R4L to shoulder the brunt of the work) - or force R4L to stick to close-approximations and working within the existing system to properly change existing functionality through established processes.

                  I apologize that I misrepresented his arguments, I of course meant to say that his problem was a split codebase and I understood as much, I just misspoke. Other comments have enlightened me to better understand his arguments and concerns since I posted, as well.

                  You: […] have been generally trying to jam their code everywhere

                  I suppose your earlier statement was just stuck in my head, and I was wondering to what extent they have “infected” the codebase with Rust.

                  And I learned about the manual when a creator I was linked was talking about how there are parallels between the manual and the decline/failure of the U.S. education system, but I similarly disagreed with them that the issues of the U.S. education system are due to internal or external sabotage (through any methods described in the manual, whether intentional sabotage or not) or anything close to it. This was before Trump.

  • conditional_soup@lemm.ee
    link
    fedilink
    arrow-up
    42
    arrow-down
    4
    ·
    16 days ago

    FTA: "However, I will say that the social media brigading just makes me not want to have anything at all to do with your approach.

    "Because if we have issues in the kernel development model, then social media sure as hell isn’t the solution. The same way it sure as hell wasn’t the solution to politics.

    “Technical patches and discussions matter. Social media brigading - no thank you.” -Linus

    Yeah, I have to issue an unqualified agreement here. Linus isn’t saying no to Rust, he’s smackin’ that ass for bringing drama out into social media instead of working through it in normal technical discussion channels.

    • catloaf@lemm.ee
      link
      fedilink
      English
      arrow-up
      18
      ·
      16 days ago

      It sounds like he tried that, and nobody with authority responded until he went outside the list. Even now, Linus hasn’t actually answered the question of whether more rust code should be allowed.

        • catloaf@lemm.ee
          link
          fedilink
          English
          arrow-up
          12
          ·
          16 days ago

          So he won’t answer on-list. He won’t respond to off-list. I don’t blame marcan for getting frustrated.

          • conditional_soup@lemm.ee
            link
            fedilink
            arrow-up
            4
            ·
            edit-2
            16 days ago

            Yeah, I don’t blame him for being frustrated. I definitely empathize with him here. I don’t know about the culture around committing to the kernal, but maybe it would be better to fork and make the case with action?

            • catloaf@lemm.ee
              link
              fedilink
              English
              arrow-up
              5
              ·
              16 days ago

              Forking the Linux kernel is unlikely to go anywhere.

              There is Redox, a Unix-like whole OS implemented in Rust, though I don’t know if being able to run unmodified Linux binaries is one of their goals. It looks like they’re expecting most software to be ported.

  • prole@lemmy.blahaj.zone
    link
    fedilink
    arrow-up
    23
    arrow-down
    11
    ·
    edit-2
    16 days ago

    I’m relatively new to Linux and the FOSS scene, but I’m not sure how I feel about the unquestioning devotion to a single person. It seems antithetical to the entire philosophy.

    Even if he was maybe right this time…

    The dude did a complete 180 as soon as they heard from Linus, like daddy made his decision, and it’s final, or some shit…

    Edit: To be clear, I understand why developers respect and listen to Linus… I just think there are fundamental issues with this kind of top-down management of such a colossal project, and the desire to defer to one person seems antithetical to the FOSS philosophy.

    • DigitalDilemma@lemmy.ml
      link
      fedilink
      English
      arrow-up
      27
      arrow-down
      1
      ·
      edit-2
      16 days ago

      I don’t think it’s blind devotion - most of us would acknowledge the guy can be a bit of a dick sometimes.

      But we’re also grateful. Without his silly idea in the 90s, linux wouldn’t exist. Computing today would be massively different - big, commercial, massively expensive unixes like Sco and Solaris dominating the industry. My main hobby for 20 years would be very different. My career for six years wouldn’t exist.

      That Linus has stayed an actively contributing member whilst not selling out in any way at all for 34 years is… wow. Could you do it? I’m certain i couldn’t. I have neither the ethical strength nor moral compass to do it. And I’m certain if he dropped out, some of the massive egos that satellite around Linux, or the monetizing businesses would seek to take over and twist it to their needs.

      And, y’know, on the matter of technical detail like this. He’s nearly always right. Seriously, look it up. He’s not polite, he’s not diplomatic, but he’s nearly always right. And when he’s not, he’ll admit it. Again, not your normal human.

      So yeah, that’s why we respect him and, when he talks, we listen. Even if it’s not something we’re involved with, it’s usually an interesting ride.

    • jackeryjoo@lemmy.world
      link
      fedilink
      English
      arrow-up
      20
      ·
      16 days ago

      I don’t know if it’s complete devotion, but Linus has a reputation he’s earned the difficult/hard way.

      If he says something, people should take it seriously and consider his words. That’s not to say he’s right all the time, but you’d better have a damn good reason for disagreeing with him.

    • jackeryjoo@lemmy.world
      link
      fedilink
      English
      arrow-up
      19
      ·
      16 days ago

      Also a reply so you can understand a bit how things typically work in FOSS projects.

      There’s a democracy in healthy ones, but ultimately, there has to be someone at the top that has the final say. The project maintainer/main contributor. Someone who gets to be the tie breaker, or absolutely final authority on what does or doesn’t make it into a patch/version/etc.

      This is extremely common, and generally healthy, in these kinds of ecosystems.

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

        Yes, that’s just the way it is in systems that involve humans. But when that final authority refuses to make a necessary decision, what do you do?

        • barsoap@lemm.ee
          link
          fedilink
          arrow-up
          2
          ·
          edit-2
          15 days ago

          Fork. Setting up a whole new project infrastructure, getting fellow developers on board with your putsch and everything can be a PITA but all those are natural hurdles, due to how the licensing works the BDFL has no way to stop you.

          As such, as a BDFL you rule by the grace of authority of the bootmaker. If you don’t make sense, if you aren’t respected, sooner than later the community is going to leave you behind.

        • steeznson@lemmy.world
          link
          fedilink
          arrow-up
          13
          ·
          16 days ago

          It has worked successfully for linux for decades and other FOSS projects like Python have successfully followed the same model.

    • priapus@sh.itjust.works
      link
      fedilink
      English
      arrow-up
      7
      ·
      edit-2
      16 days ago

      Its not antithetical to the Foss philosophy. Thus happens because Linus is a trusted figure, something he’s absolutely earned. He didn’t just buy control of some product, or get promoted to this position by a company. Many great open source projects have a BDFL. If people lose their trust in the projects BDFL, they fork the project.

      Also, the kernel is really just one part of Linux. Distros include a whole bunch of software they choose to deliver a full OS (hence the Gnu+Linux people). Linus doesn’t have control over the OS as a whole, just the kernel.

      Edit: Just finished reading the chain, what do you mean the dude did a 180? He expressed frustration that Linux only criticized him, further criticized the issues with the kernel development process, and said he was giving up being part of the kernel.

    • lordnikon@lemmy.world
      link
      fedilink
      English
      arrow-up
      2
      ·
      16 days ago

      It’s not unfounded and I don’t know of a time when Linus wasn’t right in the end. But I wouldn’t say it’s blind devotion he would be turned on in a second he betrayed his principles. Also FOSS is not about lack of ownership its about sharing code for the greater good. Every owner of a project knows that a project can be forked in an instant.

    • shortrounddev@lemmy.world
      link
      fedilink
      English
      arrow-up
      3
      arrow-down
      2
      ·
      16 days ago

      It’s not devotion, people can fork the Linux kernel if they want. He’s just the one in charge of the mainstream kernel

  • NewOldGuard [he/him, they/them]@hexbear.net
    link
    fedilink
    arrow-up
    14
    arrow-down
    10
    ·
    16 days ago

    Rust is the future for this sort of systems programming work, and by failing to see that and accommodate its use both Linus and Hellwig are sabotaging the long term viability of the kernel imo. New devs are keen to jump on rust because of how much it does better than C/++ and how much easier it is to make safe and secure systems with it, but shit like this just demotivates that crowd and thins the pool of people who are willing to contribute going forward. We need memory safety by default, the task of kernel stability is only going to get more complex and unsustainable without it. Stop holding onto tradition and purity for the sake of it

    • gamer@lemm.ee
      link
      fedilink
      arrow-up
      7
      ·
      16 days ago

      Two things can be true at once:

      • More Rust in the Linux kernel is good
      • Brigading on social media is bad

      Open source work is collborative. No matter how good an engineer someone is, if they can’t figure out how work with others, then it’s better to kick them out. A potentially insecure kernel is better than a non-existent one.

      • I agree. I think Hector Martin should not have endorsed that sort of behavior to whatever extent he did. But I also think long term that the sorts of behavior that’s keeping these rust patches out of the code base will kill the future of the project. The reasons given aren’t even applicable since the patches are in their own branch of the tree. But I agree brigading is not the way to address these sorts of organizational issues

    • toastal@lemmy.ml
      link
      fedilink
      arrow-up
      5
      arrow-down
      1
      ·
      15 days ago

      Rust is not the only systems language with “memory safety”. Some even have better type systems (linear types, refinement types, GADTs) & tools for proving code correct. What grinds my gears is this “C is has problems, therefore you must use Rust” flawed mentality.

      • I agree but in terms of the features, momentum, and community around rust I think it’s the most promising option for memory safe language. But you’re right that it’s not the only option, I should say that they should be more welcoming to mixed language development with memory safe languages in general

      • barsoap@lemm.ee
        link
        fedilink
        arrow-up
        1
        ·
        edit-2
        15 days ago

        Rust has affine types and gets close to linear when you include #[must_use] (you can still let _ = foo but at least it won’t be an accident, also, drop code isn’t guaranteed to run and there’s good reasons for that), refinement types there’s a library for that. GADTs… I mean sure trait magic can get annoying and coming from Haskell you’d want to do more in the type system but in the end the idiomatic rust way to do many of those things is with macros. Which, unlike Haskell, Rust actually is really good at. Really good. Tack refinement types onto the language kind of good.

        Proving tools, honestly, there’s only one piece of actually proven software (SeL4) and the only language it’s really written in is Coq. Which Rust will never, ever, compete with on its home turf.

        • toastal@lemmy.ml
          link
          fedilink
          arrow-up
          1
          ·
          14 days ago
          • Can’t do it
          • Requires library, not built-in
          • Can’t do it
          • Can’t do it

          Not sure why Haskell is being invoked—several languages have GADTs & macros.

    • SoulWager@lemmy.ml
      link
      fedilink
      arrow-up
      9
      ·
      edit-2
      16 days ago

      Can someone distill the good faith argument against rust? Is there one?

      https://xkcd.com/927/

      The problem is that even if it’s objectively better, you can’t magically convert everything instantaneously, and it’s a lot more work maintaining rust and C versions of the same code until everything is re-implemented in rust.

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

        If the rust devs are willing to take on that work, what’s the problem?

        • uis@lemm.ee
          link
          fedilink
          arrow-up
          5
          ·
          16 days ago

          It will take more effort than writing kernel from scratch. Which they are doing anyway.

    • uis@lemm.ee
      link
      fedilink
      arrow-up
      7
      arrow-down
      1
      ·
      16 days ago

      Only one compiler nailed to LLVM. And other reasons already mentioned.

  • ToxicWaste@lemm.ee
    link
    fedilink
    arrow-up
    2
    arrow-down
    1
    ·
    15 days ago

    that article is horrible to read! every paragraph starts with quotation, but then never closes it😵

  • sith@lemmy.zip
    link
    fedilink
    English
    arrow-up
    8
    arrow-down
    11
    ·
    edit-2
    15 days ago

    My gut tells me that any benefits of adding Rust is massively negated by the addition of a second language.

    If one wants to write Rust, there is always Redox and probably a bunch of other kernels.

    I like Rust, but it’s for sure an over hyped language. In a year or two, people will push for Zig, Mojo or some new pure and polished functional low level language. Maybe a Scheme or a Lisp? That seems to be what the cool kids use nowadays.

    Or maybe we’ll just replace the kernel with an AI that generates machine code according with what should be your intention.

    • zalgotext@sh.itjust.works
      link
      fedilink
      arrow-up
      4
      ·
      15 days ago

      C’mon man, this is just a textbook fallacious slippery slope argument. Rust isn’t some brand new language whose stable release was less than a year ago, it’s over a decade old now. Scheme and Lisp are interpreted languages for God’s sake, it’s borderline* impossible to use them for kernel programming.

      Also I’m pretty sure the whole point of the Rust project that all this drama is centered around is to keep Rust code separate from the kernel. From what I understand the whole point is to maintain Rust bindings to the kernel API as a separate project, so that if developers want to write a driver in Rust, they can without having to rewrite those bindings themselves. But the kernel code itself will still be all C code. Now I’m not a kernel developer, and the last time I wrote a driver was for my operating systems class in university over a decade ago, so take that with a grain of salt.

      * I say borderline because anything is possible with code if you’re creative enough, but anyone trying to submit Scheme or Lisp code to the Linux kernel is gonna get laughed off the Internet

      • sith@lemmy.zip
        link
        fedilink
        English
        arrow-up
        1
        ·
        15 days ago

        I don’t think you get my point.

        Of course I don’t mean that you should introduce Lisp or Scheme into the Linux kernel. However, I don’t rule out anything when it comes to the future of programming. Kernel programming isn’t that special. If you need to make a scheduler, dynamic memory manager or an interpreter, as part of the kernel, because it solves your problem, you do it. Maybe you want the kernel to generate thread optimised FPGA and micro code on the fly? And this is done with some kind of interpreter. Who knows.

        My point is that it’s probably a bad idea introduce any new language into the kernel. A new backwards compatible version of memory safe c might be a good idea though. If it can be done.

        Haven’t touched the Linux kernel in 10+ years, but my guess is that a good approach is to write a new micro kernel in Rust. One that is compatible with most existing drivers and board support packages. And of course it has to maintain the userspace ABI and POSIX yada yada. Probably what the Redox project aims for, but I don’t know.

        Keeping the Rust bindings in a separate project might be unnecessary though. I’m sceptic about allowing upstream drivers written in Rust just because I find that there is such a great value in sticking to one language. I also know that many kernel developers are getting old and it gets harder to learn new languages the older you get. Especially if the language comes with a decent share of sugar and bling (the minimalism of lisp and c is valuable).

        If there is a problem finding driver developers that want to write C code, then sure. But breaking the flow of the senior maintainers/developers likely isn’t worth it. Unless they ask for it.

        And also, I really haven’t been following this Rust in the Linux kernel debate.

        • barsoap@lemm.ee
          link
          fedilink
          arrow-up
          3
          ·
          edit-2
          15 days ago

          Any language containing eval in its spec cannot be (fully) compiled ahead of time, you’ll need interpretation or JIT.

          Also last I checked (it’s been a while) Racket compiles to bitcode and then links in a bitcode interpreter. There’s static lisp/scheme compilers but when they come across an eval, they’re going to bail and compile in a JIT compiler or interpreter to deal with that stuff.

          • boonhet@lemm.ee
            link
            fedilink
            arrow-up
            1
            ·
            14 days ago

            Fair enough, but you COULD create a compiler for a a subset of the language without eval. There are so many dialects of Scheme, what’s one without eval? Evals are very much evil anyway.

            • barsoap@lemm.ee
              link
              fedilink
              arrow-up
              3
              ·
              14 days ago

              There’s plenty of schemes that aren’t fully standards-compliant but I don’t think leaving out eval is common – it’s easy to implement and nothing about the standard says that it needs to run code fast.

              Just wanted to point out that eval is the real static vs dynamic boundary. As to evil, sure, you shouldn’t run just any code you find without having a sandbox in place, C’s way to do the same thing is to call cc followed by dlopen, that’s way scarier, which is why people just link in lua or something instead. I guess in <currentyear> you should probably include a wasm runtime instead of using dlopen.

  • buwho@lemmy.ml
    link
    fedilink
    English
    arrow-up
    2
    arrow-down
    24
    ·
    16 days ago

    linux is amazing. i dunno what rust is, but ive been using linux a long time. i appreciate the modern comfort. but whatever happens happens. itll still be good.