Monday, December 28, 2015

Systemd is not the end of the world but someone needs to save us from it

This post has been months in the making. I believed I've reduced the rant-iness to a minimum level. It add nothing to the discussion elsewhere on the Internet. It is however, a burden off my chest.
I became aware of systemd as an init system in recent months as it gained traction in Fedora and it's competition with upstart. I didn't give it much of an interest as it primarily dealt with services that are more associated with the desktop: Plug and Play, power management etc. Imagined my surprise when I installed CentOS7 and it was the default init option. And going back wasn't an option.
The discussion around it's adoption has been intensive. This is a website that documents the fallacies in the arguments against for it and the follow-on discussion for a now-dead website advocating for boycotting it.
 My main beef with systemd is philosophical. Systemd's complexity and how it goes against the concept of "many simple programs doing basic jobs well working together" is not where Linux should be going. While many deride this backward-looking, that concept has served us well and has brought us this far. Yes, I do know that not everything that has brought us this far can carry us into the future but that point is evident only in hindsight. We should try new things but not at the cost of what works.  They should also be subject to discussion and mutual agreement. And finally there should be a transition between what is to what will become.
The opposite of this concept is "one big program doing many things complicated things", the best example being Windows. While some point out that systemd is a collection of applications, they are being developed together as a whole and made inter-dependent.
Another beef is the sense of (or lack thereof) of community around the development. The fan-boy-ism around it and the attitude of the developers (e.g the attitude towards corruption in binary logs) is alienating. Although it runs both ways, it is more healthy on the sysvinit side of things. I understand why there is a strong push-back from parts of the Linux community. This is the age-old difference between Linux users that are excited by solving problems and those that like to go home at the end of the day. Systemd is this complicated box / tool that can be used to solve complex problems in a complex way.  

Recently Popular