dbus, systemd: these become building blocks because they allow the software on top to be split into smaller, replacable and inspectable components. wayland offers the same thing in contrast to X11. the side effect to having two-thousand 5k LoC userspace projects instead of two-hundred 50k LoC projects -- the side effect of _making a system more inspectable_ -- is that the complexities are made more visible (the interfaces/boundaries are more plentiful).<p>> Granted there are other Linux distributions like Gentoo, Alpine, Void, NixOS, etc. that are still conservative in some of these regards... However, these are not the popular ones, thus not the ones where the most development effort goes into.<p>NixOS has _by far_ the most software packaged and the most packaging activity. moreover, postmarketOS is likely the most widely-deployed distro for FLOSS mobile phones, and it's a downstream of Alpine. so i just disagree with this statement. but back to the proliferation of userspace services/interfaces, because IMO that's what's enabled these frontiers:<p>any project can ship a systemd service and/or a dbus file declaring which interfaces it implements. now your OS doesn't have to do anything special to connect the different components. your chat client announces "i'd like to speak to an <org.freedesktop.Notifications> implementation please", dbus says "oh, i've got a file here saying that dunst can do that for you, let me launch its service", and 100ms later a chat bubble notification hits your display.<p>now you hear about a new notification handler, "SwayNotificationCenter". uninstall dunst, install SwayNC, and now the notifications have fancy inline replies, a panel that lets you mute specific applications, which you can open from the tray icon, and so on. actually, it's new enough software that your OS doesn't package it. so you write a PKGBUILD, or APKBUILD, or nix file for it. because the systemd/dbus descriptions are shipped by the package, your package script is all of 10 LoC. easy enough to open a PR against your distro for that, it takes all of 5 minutes for the maintainers to review something this small and standardized.<p>now that it's in a distro, it gets more traction. your distro (or a relative of it) decides they'd like to make SwayNC the default notification daemon for their users. but they want it to be consistent with the rest of the desktop, so they'll have to theme it a bit. peeking at the dependencies, they see it uses gtk, so they launch it with `GTK_DEBUG=interactive swaync` to view the document tree and modify the component styles until it fits in. SwayNC didn't have to do anything special to do that, maybe their devs didn't even know that feature existed -- they got it for free just by using a standard toolkit.<p>now i hope the author might understand why dbus/systemd/wayland are appealing to distros and packagers. there's a long chain between upstream/developer and downstream/user. i figure the author spends more time near the latter than the former. perhaps someday they'll experience the full cycle: maybe they'll find no music player meets their needs and decide to author their own, watch as it gets adopted into different downstreams without any action on their part, enjoy unexpected bug fixes and improvements that their users send back upstream, and walk away with a broader understanding of the different tradeoffs at play here.