|
> Code which, for most people, does work. That doesn't mean other stuff couldn't have been better. Here's the problem the systemd argument: it's motte-and-bailey. Systemd is a huge collection of tools, not just an init system: it's got resolved, journald, logind, tmpfiles, bootctl, networkd, and more. However, whenever it's criticized, proponents fall back on "but it's a great init system!" I agree that the unit files are better than rc scripts in many ways. However, there's so much other baggage that comes with systemd. Many people who use systemd in serious production systems have to replace many of these parts: journald -> rsyslogd, tmpfiles -> scripts, bootctl -> grub, networkd -> networkmangaer (or other), systemd-timesyncd -> chrony. Systemd does the "PID 1" stuff fine, but isn't so good at the other stuff. The project has gotten to big for its britches, so to speak: there are ~70 total systemd binaries. They also didn't do a great job of modularity, and don't use dbus like they should (dbus isn't built to be used with an init system; use a socket already). Rather, they have every thing depending on another. Suddenly, everything must re-tool to work with systemd or stop working. It basically unilaterally declared itself the standard. Other stuff: * I hate binary logs
* Lennart, Lennart, give me back my cgroups
* Stop stealing my cgroups to track processes
* Security is not great, nor is code quality. This comes less from being inherently flawed and more from *sheer volume of code*, which is why you don't put that much code in PID 1. More attack surface, more potential bugs.
Overall, init ought not to be it's own problem of this scope. Just make a stinkin' init.Oh, and Lennart Poettering is also a jerk. Not an "I'm brash" kind of jerk (like Linus can be), but an "I'm an insecure person; don't critique my code" kind of way. Also, he thinks he's smarter than every one. |
I think it's largely due to how the community has treated him. It's frankly disgusting.