• rtxn@lemmy.worldM
    link
    fedilink
    arrow-up
    68
    arrow-down
    2
    ·
    edit-2
    12 hours ago

    Off the top of my head, in no particular order:

    • Systemd and its components are responsible for too many essential system functions. Init, services, mounts, timers, logging, network config, hostname, DNS resolution, locale, devices, home directories, boot, NTP sync, and I’m sure there are others, can be handled by systemd or one of its components.
    • Systemd violates the UNIX philosophy of “do one thing and do it well”. Systemd is a complex solution to a complex problem: this thread has several comments by a former Arch Linux maintainer that explains why they’ve switched to systemd, and why the earlier method of using single initscripts was unsustainable.
    • It is owned and maintained by Red Hat, known for its many controversies.
    • Some people just don’t like modern things and think that the Linux ecosystem peaked in the 1980s.

    Most (though not all) of the popular complaints are completely unreasonable. Those people usually see themselves as moral and righteous and expect the world at large to follow their personal creed. I especially consider the UNIX philosophy to be outdated, and strict adherence to it to be an obstacle for modern apps and systems.

    I have some issues with systemd, and I don’t like that one for-profit company has such a massive influence over the entire Linux ecosystem, but I have to acknowledge that it works, it works well enough to counter my personal issues, and that the people whose opinion matters the most (specifically Debian and Arch maintainers) chose it for a good reason.

    • caseyweederman@lemmy.ca
      link
      fedilink
      arrow-up
      2
      ·
      5 hours ago

      systemd DOES do one thing really well. Too well. It’s a service manager.
      People noticed that it works really well as a framework for their stuff and started plugging all the other stuff in your first bullet point into it. And that also worked really well.

    • N.E.P.T.R@lemmy.blahaj.zone
      link
      fedilink
      English
      arrow-up
      17
      ·
      edit-2
      9 hours ago

      My personal reasons for disliking systemd (note: I still use systemd):

      • The lead developer of systemd has said multiple times that we should be fine with break POSIX if it means developing faster.
      • systemd has massive attack surface, making it easier to exploit and result in privilege escalation. It is a highly complex and large codebase that really shouldnt be given the trust of PID 0
      • systemd is not portable or modular.
      • It only just barely got musl support. Hope to see it improve in the future.
      • systemd is much slower than other inits (eg. dinit, s6, openrc)
      • systemd being the go-to init encourages developers to more heavily depend on it, making it difficult for distros without systemd

      The biggest feature I like about systemd is run0, though I wish it was a drop in replacement for sudo. Secondly, I do like that services can be sandboxed.

      • nesc@lemmy.cafe
        link
        fedilink
        English
        arrow-up
        1
        arrow-down
        1
        ·
        8 hours ago
        • It’s developed for linux and there is literally 0 linux distributions that are POSIX-compliant, also standard is dead.
        • It doesn’t, also moving it to any other PID won’t make any difference.
        • It is modular (IIRC there is only three mandatory parts) and portable.
        • Was completely on musl side (also musl is as much not portable and modular as systemd 🙃 and in every practical way worse than glibc).
        • It’s not an init, nor does it present itself like this. Do you have any benchmarks that show this slowness when doing comparable operations?
        • Why exactly depending on a stable system component is a bad thing? Distros without systemd are moving against the stream, obviously there going to be some problems.
    • 2910000@lemmy.world
      link
      fedilink
      arrow-up
      12
      arrow-down
      1
      ·
      11 hours ago

      Those people usually see themselves as moral and righteous and expect the world at large to follow their personal creed.

      If they don’t like systemd but are forced to use it for some reason, I can understand why they might have some negative feelings

      Once I switched to a distro with OpenRC, I stopped feeling the need to argue about systemd

      • nesc@lemmy.cafe
        link
        fedilink
        English
        arrow-up
        1
        ·
        8 hours ago

        You are forced to use a lot of things bit systemd is where you draw a line? 😺

        • 2910000@lemmy.world
          link
          fedilink
          arrow-up
          4
          ·
          7 hours ago

          I see from your other comment in the thread that you’re enthusiastic about systemd, and that’s great.
          I’m glad we inhabit a software ecosystem broad enough that we can both be happy

          • nesc@lemmy.cafe
            link
            fedilink
            English
            arrow-up
            1
            ·
            4 hours ago

            I’m not enthusiastic about it, I’m just old enough to remeber how bad were good old times before systemd and a bit miffed how old and untrue statements about it are perpetuated.

    • mech@feddit.org
      link
      fedilink
      arrow-up
      17
      arrow-down
      1
      ·
      12 hours ago

      Some people just don’t like modern things and think that the Linux ecosystem peaked in the 1980s.

      Linux was released in 1991.

      • rtxn@lemmy.worldM
        link
        fedilink
        arrow-up
        36
        ·
        edit-2
        12 hours ago

        It’s called a hyperbole.

        (edit) But, honestly, it’s still kind of accurate. Many of the most significant software suites that define the Linux ecosystem in more recent decades were written in the 80s or earlier. X (the display protocol) was released in 1984, and X11 in 1987. GNU Emacs was released in 1985. Vi, in 1976. UNIX System V, from which sysvinit and compatible init systems were adopted, was released in 1983. It’s not a stretch to say that certain people want to regress to the 1980s state, even if the kernel wasn’t around.

        • nesc@lemmy.cafe
          link
          fedilink
          English
          arrow-up
          10
          ·
          edit-2
          8 hours ago

          Funny thing is, nothing in the list adheres to the so called unix philosophy.

      • zloubida@sh.itjust.works
        link
        fedilink
        arrow-up
        18
        ·
        11 hours ago

        It’s a little known fact that the first answer to Linus’ first message announcing his new OS was “You stupid thing, why did you created it? It ruined it! Linux was better before!”.