• YaBoyMax@programming.dev
    link
    fedilink
    English
    arrow-up
    18
    ·
    23 hours ago

    This is by far the most nuanced critique of systemd I’ve ever seen. I don’t fully agree with its conclusions personally, but I think it makes a lot of good and valid points about its architecture and its flaws. It feels like such a breath for fresh air in comparison to the most vocal anti-systemd types who vaguely and angrily gesture at “scope creep” and refuse to elaborate further.

    • atzanteol@sh.itjust.works
      link
      fedilink
      English
      arrow-up
      5
      ·
      21 hours ago

      This is by far the most nuanced critique of systemd I’ve ever seen.

      It’s the same bullshit everyone has always bitched about.

      • YaBoyMax@programming.dev
        link
        fedilink
        English
        arrow-up
        4
        ·
        20 hours ago

        Loosely yes, but I rarely see anyone expound on it beyond “It’s bloated and therefore bad”. I also rarely see specific criticisms outside of that like journalctl being slow or using a binary format for log files.

        • atzanteol@sh.itjust.works
          link
          fedilink
          English
          arrow-up
          9
          arrow-down
          4
          ·
          19 hours ago

          90% of his argument is just “UnIx PhIlOsOpHy” though. Or arguments (term used loosely) that are based on that. He keeps chanting “But systemd Is MoNoLiThIc” over and over as if that ended the discussion while handwaving away the same argument against Linux or Wayland. But somehow systemd is different. Systemd needs to be crap for some reason.

          It turns out that system boot benefits from tightly integrated steps. Filesystem mounting can depend on network availability for example. Logging depends on filesystems to be mounted. The sub-systems are naturally inter-dependent. And service management and execution needs to know about all those things. Some services need networking, some need file systems, etc.

          You match the design to the problem. You don’t pretend like the Unix Philosophy is some gold standard that everything must adhere to.

          • Ferk@lemmy.ml
            link
            fedilink
            arrow-up
            1
            ·
            edit-2
            4 hours ago

            handwaving away the same argument against Linux or Wayland

            Honestly, I would be happy if there was a mature implementation that was practical to use and was more modular for these too. I’d argue Wayland is much better than X11 in this respect, since the Wayland protocol is much more minimalistic in its design, so I think a big reason why X was superseded was the need for removing things that had been needlessly integrated in the X server and added technical debt.

            If there had been usable and working alternatives that were less monolithic at the time those were launched, and people were actually using them but had to switch due to the pressure of other bigger projects… then I’m sure there would have been criticisms too.

            Filesystem mounting can depend on network availability for example

            This is one of my pet peeves with systemd… I’ve multiple times tried to use mount units (the “systemd-native” way) but I often have always ended up just relying on either the older /etc/fstab configuration conventions or layers like gvfs and custom scripts (through the init.d-like rc.local compatibility service…) because when writting systemd units to mount conditionally remote drives that might or might not be available they sometimes (not even reproducibly) led to problems in one way or another (like sometimes slowing down my boot or even my shutdown).

            The issue is that systemd is considerably more opaque and complex… so it’s hard to tell whether something is a bug in the software, an intentional behavior / quirk, something specific to particular circumstances/cases or an issue in your configuration.

            And I’m not saying all of what systemd did is bad, it has advantages… but acting as if it doesn’t have problems that could be smoothed out with a different approach would not be right either… it’s not like it’s impossible to do what you are stating in a modular way, for a long time before systemd was a thing we had syslog implementations (like rsyslog) that handled structured, secure remote logging across networks without needing a monolithic init system to dictate how logging architecture should work.

  • lauha@lemmy.world
    link
    fedilink
    arrow-up
    89
    ·
    1 day ago

    Linux is the second-most popular descendent of Unix, the first being OSX.

    This ruffles my feathers. Disregarding servers where Linux has near monopoly, surely Linux is installed on more devices and has more users than OSX? OP is clearly counting only desktop users

    • provectus@lemmy.ml
      link
      fedilink
      English
      arrow-up
      8
      ·
      15 hours ago

      Linux is the second-most popular descendent of Unix, the first being OSX.

      Linux is not really a descendant of Unix. It is a Unix clone, but its roots do not trace back to Unix.

      • furry toaster@lemmy.blahaj.zone
        link
        fedilink
        English
        arrow-up
        1
        ·
        1 hour ago

        OSX comes from FreeBSD, which came from BSD, which had to rewrite everything that they got from UNIX thanks to copyright trolls

        Beyond that OSX just happens to be unix-like, apple couldn’t give less of a fuck about it being unix-like

        • provectus@lemmy.ml
          link
          fedilink
          English
          arrow-up
          1
          ·
          1 hour ago

          OSX also came from NextStep which came from the original BSD Unix. They used FreeBSD as well. OSX is also certified Unix starting from leopard. This year apple did not renew the certification, so later releases of macOS are not Unix, but Unix-like.

    • Kajika@lemmy.mlOP
      link
      fedilink
      English
      arrow-up
      11
      ·
      1 day ago

      Same here, also all embedded system on linux + smartphone. I guess the author meant desktop usage. Still I am very unsure about the world at large. This is north-American take.

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

      I agree. Linux on desktop is so good for at least five years, if not longer, maybe ten. That I imagine many people using it, can recommend it to others, and so forth. And so in absolute numbers, it would be much more than macOS gets.

      • asap@lemmy.world
        link
        fedilink
        English
        arrow-up
        4
        ·
        15 hours ago

        I use Bazzite and have a Mac, and I despise every second I have to use MacOS. It is unintuitive and painful in comparison. IMO

        • wltr@discuss.tchncs.de
          link
          fedilink
          arrow-up
          1
          ·
          9 hours ago

          I haven’t used macOS since circa 2019, which was Big Sur or something. And it was good, more or so. Perhaps it got worse since then. Specifically the Liquid Ass fiasco, I can believe it’s been a disaster.

          But in general, you need to invest into their ecosystem heavily to enjoy them properly. Say, an Apple keyboard, trackpad, display, headphones, iPhone, iPad, etc. The more you invested, the more enjoyable the experience. Also, you need to use it for years (if not decades) to truly get some ‘think different’ things. Otherwise they just feel stupid and unnecessary. (Some things still very stupid to me, yeah.)

          I’m heavily invested, however, and I still prefer modern Linux. None of my Apple devices run macOS today, all of them are Arch Linux, Fedora, or even DietPi (an old MacBook used as a server).

          In my opinion, Gnome wins as-is. If I’m to suggest a macOS or Linux system to an elder relative, I’d choose Gnome, not macOS. About a decade ago, I’d choose macOS, thinking it’s simpler.

          My favourite thing with macOS that I use on all my Linux machines is cmd key for things like copy paste (all my keyboards are from Apple). So useful, especially in a terminal.

  • tirateimas@lemmy.pt
    link
    fedilink
    arrow-up
    24
    arrow-down
    6
    ·
    1 day ago

    It might not be to your liking or follow your philosophical inclination, but systemd doesn’t suck at all.

  • Shayeta@feddit.org
    link
    fedilink
    English
    arrow-up
    18
    ·
    1 day ago

    I’ve seen a lot posts against systemd, most of them citing the unix principle as the main argument. But as a user on a desktop computer I don’t understand why would it be bad. Could someone explain it to me?

    • Guiorgy@lemmy.ml
      link
      fedilink
      arrow-up
      3
      arrow-down
      1
      ·
      5 hours ago

      The crux of the issue, at least as I understand it, is that traditionally you’d build the system components in a way that they were interchangeable by defining some standard-ish API. While you can interchange some Systemd components, since “ststemd-xyz” is just the umbrella name of the project as a whole, so some components are completely independent, the core ones can’t really easily be swapped, and it’s only getting worse, especially as systemd is starting to become a hard requirement, a lot of people are rightfully feeling peeved. There’s a great talk made by a BSD developer that admits the virtues of Systemd while bringing the downsides, so no blind hate, you can google for the video “The tragedy of systemd”.

    • atzanteol@sh.itjust.works
      link
      fedilink
      English
      arrow-up
      14
      arrow-down
      2
      ·
      21 hours ago

      The Unix principle is the most over-rated design principle ever. It’s sole purpose is to be dragged out when somebody doesn’t like your application. Notably the systemd haters don’t levy the same complaint about Wayland…

      It’s based on the idea of programs as “functions” that can be strung together like you often do with things like “cat /etc/passwd | grep user | tr ‘s/:/,/’” (cat put in there to trigger the right people). That’s a great philosophy for cli utilities. But it’s not universally applicable.

      The goal is not to make things tiny but to make them “the right size.” You wouldn’t want to run 30 different applications to do what GIMP does and you shouldn’t have to.

      And the idea of having dozens of viable replacements for different functions is not a Unix thing but pretty restricted to the Linux ecosystem. And it’s not like it was planned, it just happened because 12 people went out and wrote their own ntp daemons. There wasn’t really much benefit to it. “Oh boy, I can run a different ntpd… And half of them are partially implemented. Hooray?”

      • jdr@lemmy.ml
        link
        fedilink
        arrow-up
        3
        arrow-down
        1
        ·
        16 hours ago

        I hate Wayland and Systemd.

        You’re allowed to have programs whose job is to coordinate other programs. You could totally have a version of gimo that just runs whatever separate program on the buffer.

        • atzanteol@sh.itjust.works
          link
          fedilink
          English
          arrow-up
          4
          ·
          12 hours ago

          You’re allowed to have programs whose job is to coordinate other programs.

          Sure - it’s just not always a good idea. Would you want to copy your buffer to a dozen different applications applying filters to an image?

          • jdr@lemmy.ml
            link
            fedilink
            arrow-up
            1
            ·
            5 hours ago

            It means that you don’t have to fix the set of capabilities at the time you make the program. This is how plugins work.

            And there’s no need to copy, sharing memory between processes is easy.

      • undrwater@lemmy.world
        link
        fedilink
        arrow-up
        2
        ·
        18 hours ago

        That’s a great philosophy for cli utilities.

        I think this might be the crux of the argument. Wayland is certainly not a cli utility, so there’s no need to argue if or how it impacts that environment.

        I’m quite familiar with openRC, so when I was introduced to systemd, it felt quite awkward. I use both, but still prefer openRC, maybe still due to familiarity. If I’m operating in an WM or DE, it doesn’t really matter that much.

        It’s been over a decade since I’ve run an ntp daemon. 😉

    • corsicanguppy@lemmy.ca
      link
      fedilink
      English
      arrow-up
      4
      arrow-down
      3
      ·
      19 hours ago

      most of them citing the unix principle as the main argument.

      It’s like building codes. You don’t always know you need a smoke detector, but we have 6 in this apartment.

      People suggesting the Unix philosophy needs to prove itself have issues incorporating anyone else’s experience into their own. It’s okay, but watch for that oppositional disorder.

    • Kajika@lemmy.mlOP
      link
      fedilink
      English
      arrow-up
      13
      arrow-down
      1
      ·
      1 day ago

      As a user you probably don’t know, and maybe don’t care.

      This is more for developers, technology is not magic, vendor/technology-locking can be problematic. It’s not like systemd was made by bad people with bad intention. You may have heard of X11 too. The list could go on, there is a big amount of legacy in our technology, some would just keep it that way. But some argue for changes thus discussing (and criticizing) those legacy, why it fails on some points and what to do/build from that.

      So right now if you’re a desktop user, I don’t see why you would bother indeed. This discussion are still interesting to some devs, for instance here I learned about dinit, and it’s code is damn small and clean, hence it was informative and I will definitely try it.

      • nous@programming.dev
        link
        fedilink
        English
        arrow-up
        4
        arrow-down
        1
        ·
        23 hours ago

        Application developers are not being forced to integrating with systemd at all. They are choosing to do that because it helps them. The only developers negatively affected by this are the ones developing other init systems that don’t want to provide the same features the application developers want to use.

        • Kajika@lemmy.mlOP
          link
          fedilink
          English
          arrow-up
          2
          ·
          22 hours ago

          Yes and no, I said “devs” and you come saying “actually […]” but really people “integrating” software “usually” are developpers. If you want to start a web server you will have to deal with systemd. If you want to check logs, you will also. If you need to debug an application that crashed (in C at least) in a production/test environment (not in “my machine”) you might want to get into core dumps.

          They are choosing to do that because it helps them

          Really? In what universe are you living? Any piece of software I built, professionally or not, had to run on debian-based or arch-based linux hence systemd. Did I choose or any fellow developers of my time? No, maybe people 20 years ago, maybe… That really reminds me of conservative views on “social contract” like we all chose the society we are living in.

    • banana_pie@piefed.zip
      link
      fedilink
      English
      arrow-up
      4
      ·
      1 day ago

      On desktop systemd is only now getting used for user services. I don’t care that much about it either, but am not a sysadmin.

      One annoyance is long shutdown because of systemd or maybe thats youre holding it wrong type of problem…

      • setVeryLoud(true);@lemmy.ca
        link
        fedilink
        arrow-up
        1
        ·
        11 hours ago

        Definitely a “holding it wrong” or “you’re using Fedora” type of problem.

        I really like systemd’s user services.

  • ferric_carcinization@lemmy.ml
    link
    fedilink
    English
    arrow-up
    17
    arrow-down
    1
    ·
    1 day ago

    I haven’t read the whole article yet, but it bothers me how athe author mistakenly calls the init (with the process id 1) pid 0, which is special and belongs to a part of the kernel.

  • Shimitar@downonthestreet.eu
    link
    fedilink
    English
    arrow-up
    8
    ·
    1 day ago

    I never liked it much because didn’t fit my use case, and didn’t see the need for it, but I use it when I need to and honestly it has a few quicrks I don’t like but like many other tools.

    But what are you actually referring to? Which direction?

    • Kajika@lemmy.mlOP
      link
      fedilink
      English
      arrow-up
      5
      ·
      1 day ago

      I am not the author (I am asking him right now if I should tag him). I didn’t know about dinit but this looks like a nice alternative.

      I would have been fine with just systemctl/journalctl , I really dislike the locking of homed, network, etc. This is very much unnecessary and remove any future possibility of improvement/innovation.

      I didn’t care about coredumps as it is part of my setup to disable the dumps to avoid unnecessary garbage on my SSD while activating for debugging with gdb (it is kind of awesome to load the program state from core dumps, also coredumpctl felt like magic).

  • allywilson@lemmy.ml
    link
    fedilink
    arrow-up
    5
    ·
    1 day ago

    That article contradicts itself a bit, especially about journalctl. I also don’t see how an article from 4 years ago is related to the current direction?

    • b41b76cf@lemmy.world
      link
      fedilink
      arrow-up
      3
      ·
      1 day ago

      I was also confused for a moment due to the way my Lemmy client shows it, but op has actually linked two articles, one from 2022 and one more recent.

    • Kajika@lemmy.mlOP
      link
      fedilink
      English
      arrow-up
      1
      ·
      1 day ago

      I am pretty sure this is from 30th of July 2026 (and not 2025 as the article says, the blog menu seems correct). Did I miss something about it being 4 years old?

  • SigHunter@discuss.tchncs.de
    link
    fedilink
    arrow-up
    2
    ·
    1 day ago

    I made the mistake some years ago and moved all my Gentoo installations from openRC to systemd and now I’m too lazy to switch back and I don’t want to handle the fallout. when I think about doing rsyslog config and logrotate I start to puke a little. also I heavily use timers and I’m afraid if something I use might not have init scripts. service units are much simpler