

I use it and it does the job, but the problem is that it doesn’t adhere to Unix philosophy of pluggable components that do one thing. In fact, the systemd suite does dozens of things:
- init system
- manages services
- login
- user sessions
- system logs
- devices
- networking
- DNS resolution
- timers
- clock synchronization
- containers
- even boot loader



systemd init scripts are more ergonomic than sysvinit scripts. I agree.
Does systemd work? Yes. Can I live with it? Yes. I’ve embraced it since it became a de facto standard.
The thing I somewhat dislike is that you cannot easily replace individual systemd components. The systemd-logind and systemd-journald for example have to be compiled from the exact same systemd version (e.g. both v234). There are way more gotchas like that if you try to replace them for non-systemd alternatives.
If you’re solely interested in having a working OS then it’s all good. If you like to tinker and learn, and want to fully embrace Unix modularity mindset then systemd made your life a little more difficult in that aspect.
Also I’m glad that distributions like Void Linux, Guix or Devuan from this post title exist that try another approach. I hope one day I’ll have enough time to daily drive them!