this post was submitted on 09 May 2024
224 points (95.5% liked)

Linux

48329 readers
639 users here now

From Wikipedia, the free encyclopedia

Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).

Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word "Linux" in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.

Rules

Related Communities

Community icon by Alpár-Etele Méder, licensed under CC BY 3.0

founded 5 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
[–] yozul@beehaw.org 45 points 6 months ago (3 children)

This is fine, but why does everything need to be part of Systemd? Like, seriously, why can't this just be an independent project? Why must everything be tied into this one knot of interdependent programs, and what's going to happen to all of them when the people who are passionate about it and actually understand all the stupid ways they interrelate move on with their lives? Are we looking at the formation of the next Xorg? Will everybody being scrambling to undo all of this in another 20 years when we all realize it's become an unmaintainable mess?

[–] melmi@lemmy.blahaj.zone 33 points 6 months ago* (last edited 6 months ago) (2 children)

Systemd does a lot of things that could probably be separate projects, but run0 is an example of something that benefits from being a part of systemd. It ties directly into the existing service manager to spawn new processes.

[–] nous@programming.dev 8 points 6 months ago (3 children)

Systemd does a lot of things that could probably be separate projects,

I dont get the hate for this - Linux is full of projects that do the same thing: coreutils, busybox, kde, gnome, different office suites, even the kernel itself. It is very common for different related projects to be maintained together under the same project/branding with various different levels of integration between them. But people really seem to only hate on systemd for this...

[–] yozul@beehaw.org 4 points 6 months ago (1 children)

I guess for me the difference is that the kernel is just way beyond what I can understand and has never had any viable alternatives, gnome I really don't like, and everything else you listed is just collections of simple stuff that aren't actually very interdependent. Systemd is a giant mess of weirdly interdependent things that used to be simple things. Sure, some of them weren't great, but every major distro abandoning all of the alternatives feels like putting all of our eggs in one basket that's simultaneously getting more important and more fragile the bigger it gets.

[–] nous@programming.dev 4 points 6 months ago

Except desktop environments - they are far from a simple loosely collection of simple stuff. They coordinate your whole desktop experience. Apps need to talk to them a lot and often in ways specific to a single DE. Theming applications is done differently for every toolkit there is, startup applications (before systemd) is configured differently, global shortcuts are configured differently by each one... If anything it is something you interact with far more than systemd and has far more inconsistencies between each one. Yet few people complain about this as much as they complain about systemd.

Systemd is a giant mess of weirdly interdependent things that used to be simple things.

They used to be simple things back when hardware and the way we use computers were much simpler. Nowadays hardware and computers are much more dynamic and hotplugable and handle a lot more state that needs to persist and be kept track of. https://www.youtube.com/watch?v=o_AIw9bGogo is a great talk on the subject and talks about why systemd does what it does.

[–] Adanisi@lemmy.zip 3 points 6 months ago (1 children)

Systemd likes to break standards. That's a big reason

[–] nous@programming.dev 4 points 6 months ago* (last edited 6 months ago) (1 children)

What standards? The old init systems were a loose collection of shell scripts that were wildly different on every distro. Other tools like sudo also broke the established standards of the time, before it you had to login as root with the root password.

Even gnome and KDE have their own themeing standards as well as other ways of doing things. Even network manager is its own standard not following things that came before it. Then there are flatpack, snaps and app images. Not to mention deb vs rpm vs pacman vs nix package formats. Loads of things in Linux userland have broken or evolved the standards of oldern times.

[–] AVincentInSpace@pawb.social 2 points 6 months ago (1 children)

Systemd breaks its own standards. Oh, were you making a replacement for this component of systemd that does some things the systemd version doesn't? Well the latest version of systemd just changed the Unix socket protocol that it uses to communicate with the rest of systemd from text based to binary. Sorry for the lack of warning.

[–] chrisg@aus.social 1 points 6 months ago* (last edited 6 months ago)

@AVincentInSpace @nous I've always disliked the arrogance of the lead Dev & the inexorable incremental usurping of Linux functionality. I'm deeply uncomfortable with so much being absorbed into a big binary black box

[–] eveninghere@beehaw.org 2 points 6 months ago

And fragmentation of projects is what caused the xz security incident.

[–] flying_sheep@lemmy.ml 3 points 6 months ago

Yeah, if all those complainers want something more modular, they're free to push for protocols that allow to leverage existing components while also allowing for them to come from multiple vendors.

[–] LeFantome@programming.dev 24 points 6 months ago (1 children)

It seems a fairly explicit goal of systemd to redefine Linux as a unified platform rather than as a kernel that can run any one of many implementations of many different services. I assume this is not just the systemd lead but also a goal of Red Hat.

Personally, while I am ok with systemd defining itself as a single source for all this functionality, I hate that they are taking away ( or making it hard at least ) to have independent implementations of these services.

What Chinera is doing with dinit and turnstile is really interesting. It would be nice to have feature comparable approaches to the systemd monolith that distributions could choose from.

[–] lemmyreader@lemmy.ml 6 points 6 months ago

What Chinera is doing with dinit and turnstile is really interesting. It would be nice to have feature comparable approaches to the systemd monolith that distributions could choose from.

Link for other readers about Chimera Linux, dinit, turnstile : https://chimera-linux.org/development

[–] Kusimulkku@lemm.ee 4 points 6 months ago (1 children)

It does make sense for me to have this functionality in systemd the way they want to go about doing this.

[–] yozul@beehaw.org 4 points 6 months ago

Okay, but why go about it that way? That can't be the only way of making a viable alternative to sudo. Why does everything need to be part of one project? If you want to reuse code why not spin it out into a library so each component can be installed with just the libraries it needs and not the depending on the whole gigantic thing? KDE works that way. It's obviously possible for some things, at least.

One of my favorite things about Linux is simply fiddling around and finding the things I like and don't and just using the ones I do. I can't do that effectively with systemd though. Sure, it's theoretically modular, and there are even a couple parts left that can work independently, but mostly it's just one big block of half an operating system that all gets lumped together into one gigantic mess, and I can't effectively just use the bits I like. It's kind of all or nothing, and then maybe being allowed to double up on some of the things I'd like to use an alternative to... for now. It just kinda sucks the joy out of using my computer, but trying to avoid it completely is a massive pain in the butt.

There's no big dramatic thing wrong with systemd. Using systemd and being happy with it is a good thing. I do not object to the existence of systemd. Systemd is fine. It just makes me like Linux less is all. I am enjoying my time with my computer less than I used to, and the universal dominance of systemd is probably the biggest reason for that.