>>111835There's many.
First and foremost, its non-POSIX compliance. That is, it doesn't "do one thing and does it well", but it tries to do as many things as it can, and does most of it quite poorly. And that's not the worst part of not complying with POSIX. Given that when you use systemd you have to use all of its components, and they're overall quite poorly coded, it's one hell of a security vulnerability. And don't get me started on its logging system.
In other words, it works like Windows' svchost, with all the vulnerabilities that ensue.
But OK, it's bad software. Why hate it so much then? Well, it receives all that hate because, while being as shit as it is, it encroaches itsels in the system. Hell, its author has stated he wants it to be treated as the core OS. A clear example for why this is terrible is udev: It used to be maintained by the kernel group, but then Lennart said the systemd would take care of it and not to worry, that it wouldn't become dependent on systemd - only to, soon after, made udev depend on systemd.
This ensued. Linus is the fucking best:
https://lkml.org/lkml/2012/10/2/303When systemd does this (steal the job of other packages when it was supposed to only be an init daemon - and let's not forget it's gone as far as taking over mount and network, and you can't have just one systemd service, you have to have them all), it affects FOSS at large, because there's a bunch of lazy devs who don't care about their users and just want to get software done quickly, regardless of quality and efficiency (mostly because they're paid programmers), and adopt systemd dependencies. The biggest example of this is gnome: they decided to use systemd for the login page, semi-replacing GDM (while still calling it that). That was the only component of systemd used by gnome, the login page. But as you can't use only some components of systemd, if you use gnome, you have to use all systemd, from the login page to its mount. And this snowballed. (cont)