← Back to context

Comment by McDyver

3 months ago

I think you answered your own question:

> monolithic

> It's philosophy may differ from unix's "get one thing done well"

> it is bloated.

Besides all this, the main issue, for me, is how it managed to spread and ingrain itself into distributions making them dependent on it.

If you want to use an alternative to systemd on those distributions, you are usually on your own, constantly trying to fix it whenever there are breaking changes.

It's good to have options which are simple to replace.

> It is chock full of features and it gets the job done.

So is Windows :)

>Besides all this, the main issue, for me, is how it managed to spread and ingrain itself into distributions making them dependent on it.

I don't think the phrasing is correct. Your choice of word (spread/ingrain itself) seems to imply there is malicious intent. Software do not sneak itself into distribution by themselves. It is the other way around. Distribution creators have total freedom on what components/software they find useful to build their distributions on. If a majority of distros decided to use systemd, that mean a majority of people maintaining distributions found the positive outcomes of using systemd were worth dealing with any disadvantage it may had over using another solution.

  • > Your choice of word (spread/ingrain itself) seems to imply there is malicious intent. Software do not sneak itself into distribution by themselves.

    No, you're right: It's people that do that. And those definitely can have intent (often benevolent, sometimes malicious, other times just so misguided as to be in-effect-malicious).

    So let's go with "the main issue is how some people managed to spread and ingrain it into distributions making them dependent on it."

    Does that make it much better?

  • > seems to imply there is malicious intent

    There is. Well, sort of.

    For example, we had cron working just fine for decades . We had sshd listen on its port for decades. We had fstab for decades. No one wanted systemd-timesyncd.

    In my opinion, all these aux systemd projects came to life purely out of psychological reasons. Can we label them malicious?

    • Cron may have been working, but it had numerous deficiencies that could not be fixed. For example, there's no mechanism for preventing long-running jobs from piling up, you're on your own for logging and figuring out handling for failed jobs, and there's a litany of papercuts from differences in implementation across distros. Systemd timers solve all of those issues, while also granting access to all the other service-inherited benefits like cgroup isolation and resource control. In terms of features, reliability, and simplicity, cron is a poor substitute, and systemd timers really has no rival.

      3 replies →

    • We had UNIX working fine, all these aux GNU projects came to life purely out of psychological reasons. Can we label them malicious?

  • > If a majority of distros decided to use systemd, that mean a majority of people maintaining distributions found the positive outcomes of using systemd were worth dealing with any disadvantage it may had over using another solution.

    This is overall fairly weak evidence that users actually find the software to be of quality. Surely there's got to be a stronger signal that this is a positive way forward, like users enthusiastically saying "wow this is an improvement".

    • Weak?

      I find it hard to imagine objective evidence more robust than the real-world actions of subject matter experts who make real-world decisions. This would have been hotly debated within teams of Linux experts at Debian, Ubuntu, Fedora/RHEL, SuSE, and Arch. These aren't armchair experts who debate on the internet, they're the ones who actually make decisions and, more than most, wear the consequences of those decisions.

How it managed to spread is no surprise. Linux desktop was a complete mess with consolekit and unmaintained stuff. Then they supported cgroups which distros wanted to use and since all the unmaintained stuff didn't there wasn't a lot of options.

Booting up a system is a complex domain. If you randomly cut a complex domain into pieces, you will have the exact same complexity PLUS a huge amount of additional complexity for all the communication/error handling between the different parts - what other complex domain uses million tiny tools? Does chrome use curl and then pipe it into a html renderer and whatnot? Sure, there are libraries (that's a different architectural layer though with less complexity to break, and functions don't decompose arbitrarily either). The unix's philosophy is more of a sounds good on paper, and there are certain cases where it applies - it's definitely not universal.

Also, the core of systemd is not even particularly big. People often mix into completely optional modules that run under the wider systemd project, but that's a false conclusion that "systemd eats the world".

> How it managed to spread

You mean that individual distributions voted/decided separately, multiple times to choose the better tool? Debian has the most democratic voting system and unanimously voted for systemd.

And yeah, if I want to use my own display manager protocol instead of X or Wayland I would also be similarly stranded. Options are good, but standards and compatibility are just as important - a million incompatible options only give rise to chaos.

I am, for example, very happy that Linux applications are finally not as distribution-dependent and there is a good chance to run that .deb file on anything else running systemd without much trouble. I remember the times when it was not so.

  • > You mean that individual distributions voted/decided separately, multiple times to choose the better tool? Debian has the most democratic voting system and unanimously voted for systemd.

    They are influenced by other distros decisions. Debian's justification of adopting systemd starts "Systemd is becoming the de facto standard init system for Linux." https://wiki.debian.org/Debate/initsystem/systemd

    I do not think this looks like a unanimous vote: https://www.debian.org/vote/2019/vote_002#outcome

    > Booting up a system is a complex domain.

    systemd goes far beyond this domain.

  • > You mean that individual distributions voted/decided separately, multiple times to choose the better tool?

    This is a mystery to me. Given the LP attitude is known to be hostile to people with expertise and given the cancerous nature of systemd projects, I really wonder how did people choose to be treated that way.

    Maybe they have voted for systemd-as-PID1, which is incomparably better than sysvinit, but this is the way systemd crowd got its foot in the door and before you know nothing works without systemd metastasis present.

  • > Also, the core of systemd is not even particularly big. People often mix into completely optional modules

    So how "optional" are those modules in practice -- how many systems run just the init core of systemd and not the whole shebang?

    > that run under the wider systemd project, but that's a false conclusion that "systemd eats the world".

    Isn't the very fact that there is what you call a "wider systemd project" at least a fairly good indication that systemd indeed is attempting to "eat the [Linux] world"?

>Besides all this, the main issue, for me, is how it managed to spread and ingrain itself into distributions making them dependent on it.

Because it's better than the alternatives?, don't remember systemd buying distro maintainers lol

>If you want to use an alternative to systemd on those distributions, you are usually on your own, constantly trying to fix it whenever there are breaking changes.

Of course they aren't being paid to support everything under the sun and http://islinuxaboutchoice.com/

>So is Windows :)

Then use it if it's better for you