• milkjug@lemmy.world
    link
    fedilink
    English
    arrow-up
    20
    arrow-down
    2
    ·
    1 year ago

    I have tried several times to find a convincing answer as to why systemd bad hur dur, but I could never find one that says precisely why. I’d love it if someone could ELI5 it for me.

    • Reva@startrek.website
      link
      fedilink
      English
      arrow-up
      39
      arrow-down
      1
      ·
      1 year ago

      If you are genuinely interested in an ELI5: Generally, systemd is a piece of software that people criticize for ethical reasons more than for technical ones.

      It was supposed to be an init system (e. g. that piece of software that cares for system services being started, stopped and managed) but it grew exponentially to handle many many aspects of a fully functioning system including things like DNS, even though nobody asked them to. This it did not do in a particularly modular way (so you could easily pick and choose which parts to use), but most prominently as a full package. In the process, it created or modified standards to fits its design goals, making other projects either follow suit or be incompatible with it (which would be a death sentence for any program that wants to serve most people out there). It digs itself deep into any system it comes with and changes around things that have stood for decades, which makes it a pain in the ass sometimes for administrators who want granular control over various aspects of their systems. And for kernel developers too (granted, old article).

      Through its quasi-monopoly on several critical pieces of system infrastructure, they create a dependency on the systemd project and its leaders to be benevolent; something that some people believe might be or is being abused. As long as such a huge part of the GNU/Linux world is dependent on systemd, its team has a lot of power over where it goes, because migrating somewhere else would be a monumental task.

      Devuan (and similar projects, like Artix) were born as distributions to demonstrate that a system without systemd is possible and viable, and also to provide an alternative to people who – for whatever reason – do not want to use a system without systemd. We develop alternative init systems in order to provide a quality replacement for if (or when) systemd implodes or does something super unethical.

      systemd has many technical advantages over traditional solutions (and some technical disadvantages too), but people over here in my part of the GNU world are of the mind that it does too much, it expands too far, and its monopoly is a danger to the modular and free nature of a GNU system. It is not a bad piece of software, it actually makes many things much easier, but it is designed in a way that endangers the freedom we currently enjoy. If the systemd team decides to do something unpopular, everyone must bow and follow suit or alternatively scramble to refactor to another init system all of a sudden.

      Choice is important. You can use musl or gcc, zsh or bash, gnutils or busybox, firefox or chromium, pipewire or pulseaudio, Xorg or wayland, and that’s why generally all of these projects are fine: they allow competition. But if you want to use a popular distribution, it’s systemd or bust; and the systemd project actively ensures that is the case. That’s bad.

      • milkjug@lemmy.world
        link
        fedilink
        English
        arrow-up
        9
        ·
        1 year ago

        This is easily the most comprehensive and informative reply to the issue with systemd I’ve seen so far. Thank you for the response, I can see why their increasing dominance is alarming.

        I’m certainly not at liberty to pass judgment on whether it deserves its current reputation, since I barely know enough to make it work to my needs. But I would be most interested to see how things play out.

        • Reva@startrek.website
          link
          fedilink
          English
          arrow-up
          10
          ·
          1 year ago

          Honestly, I am also not that much of an expert in it, but I know enough to know that some software team having and expanding this amount of control over the entire GNU/Linux world is dangerous.

          I value my ability to use Firefox, Chromium, Konqueror, Dillo, Websurf, Qutebrowser, Elinks or whatever other browser I want; if there was only one system-wide webkit that everyone suddenly needed to use for anything that had to do with the net, I’d be queasy about it because that’s a lot of power in one team’s hands. And that not all “open source” teams are benevolent is pretty obvious when you look at the corporate-backed ones like Canonical’s Ubuntu, or Red Hat; or even Mozilla given their recent bouts with spyware.

          The “unix philosophy” that so many people tout about is a little silly, given that the entire point of GNU was “GNU is not Unix”… and we are not in the 90s anymore. But still, a modular system with plenty of small things doing one thing well is at least secure to any hostile takeovers since a small package can easily be replaced by an alternative.

        • MigratingtoLemmy@lemmy.world
          link
          fedilink
          arrow-up
          5
          ·
          1 year ago

          Imagine if SystemD incorporates some form of DRM to ensure “compatibility” and “authenticity”, like how Google is trying to control the Web and Android (if you have followed the recent news). And SystemD is based out of RedHat, which should be plenty alarming already

      • milicent_bystandr@lemm.ee
        link
        fedilink
        arrow-up
        2
        ·
        1 year ago

        Thank you, that was an excellent reply. I vaguely knew there were arguments over systems, but had no idea of the details.

        What you say about their overly large power, though: if they make a bad choice, and enough people agree it’s a bad choice, can’t a new project just fork systemd and take it in a good direction?

      • cybersandwich@lemmy.world
        link
        fedilink
        arrow-up
        2
        arrow-down
        5
        ·
        1 year ago

        It’s systemd or bust because it’s so much better than any other init system.

        Also, your post glosses over the biggest issues people have with systemd. The lead developer was a complete fucking asshole and rubbed people the wrong way. Imo, that’s where most of the hate stems. The guy was a tool and the initial backlash spiraled from there.

        But I guess being a jerk and being a sea-changing dev go hand-in-hand. Eg stallman, Torvalds, etc

        Also, my favorite thing about the gnu diehards complaining that systemd does too much and doesn’t follow the unix principals… Emacs enters the chat. It also enters the email, text editor, ide, etc.

        • Reva@startrek.website
          link
          fedilink
          English
          arrow-up
          12
          ·
          1 year ago
          1. I did not want to bring up Poettering’s assholery because I did not want to stoop down that low to a personal attack. Some people might like his attitude, some people might not. I find Stallman a generally cool guy despite his stubborn dumb views on some things, but we all have flaws.
          2. systemd might be better than any other init system at being an init system, but that does not excuse everything else I mentioned. I even did say that it is good software on a technical level. Additionally, if it only was an init system, there would not nearly be as many detractors as they are now. Besides, OpenRC and runit are at a very mature stage now and I use Devuan as a daily driver without any issue or having to dig around init scripts.
          3. The difference is that Emacs does not actually include that much. Those are entirely optional modules and add-ons. It is a text editor with customizable macros, a script-extendable editor, nothing more. Just because the “meme” is that Emacs does everything does not make it true. It’s quite focused by default.
      • EddyBot@feddit.de
        link
        fedilink
        arrow-up
        6
        ·
        edit-2
        1 year ago

        this comment shows how the word of mouth actually distorted the argument

        its not the linux philosophy but one sentence of the unix philosophy (linux is not unix)
        https://en.wikipedia.org/wiki/Unix_philosophy

        Make each program do one thing well. To do a new job, build afresh rather than complicate old programs by adding new “features”

        besides being over 40 years old at this point

        fun fact the linux kernel would actually not really fit this since it is an monolithic kernel

        • fogetaboutit@programming.dev
          link
          fedilink
          arrow-up
          2
          ·
          1 year ago

          Ah sorry, unix not linux. I didnt think of that before, it seems so obvious that linux kernel isnt doing one thing well, it does everything ever, kind of well.

    • azvasKvklenko@sh.itjust.works
      link
      fedilink
      English
      arrow-up
      4
      arrow-down
      1
      ·
      edit-2
      1 year ago

      because it’s not 90’s shell script thus it’s bloat. What is your difficulty with understanding it? /s