>Thanks, but I'm not religious. I prefer things that are convenient to those that are ideologically pure.
That's all well and good but when that "ideology" is the result of 40 years of practical experience by a culture that has produced the engine that drives the entire 21st century (yes, that engine is Unix, because it drives the internet), which has allowed that system to survive thousands of incredible changes to technology virtually unchanged - because no matter how the world changed, it was still working, still useful, still more powerful than the alternatives and changing it to make use of the latest and greatest available technology was always ridiculously easy, when it produced the only operating system that runs on everything from the tiniest embedded systems to the largest supercomputers - then rejecting it requires a strong, rational argument - and even the best such arguments are likely to hold only in very rare niche cases.
And the problem with systemd is it violates virtually every one of the principles of that philosophy and offers NO rational reason for ANY of the violations - and it isn't doing so in a niche where perhaps some of those principles are genuinely not applicable, it's doing it to the heart of the system.
These changes are the ONLY reason Linux exists - because they are the reason Unix didn't die in 1969 when it was invented, or in the 1970s when mainframes met microprocessors, or in the 1980s when PCs were invented... they are what allowed unix to adapt and scale to the fast changing world of technology at the front of the curve at all times, exactly because they made changing it always easier than building something new.
It violates the rule of separating mechanism from policy. It now enforces policy on what ought to be a pure mechanism - and there is a very solid and rational reason for that rule: policy changes often but mechanism tends to be long-lived. Failing to separate them means tying the policy to the lifespan of the mechanism and when new technology requires new policies you get incredible hardship. Virtually every major problem windows ever had sprung from it's marriage of mechanism with policy. Why do you think it took them 20 years to implement the bare beginnings of proper multi-user support ? Because the policy of single user was tied fundamentally into the mechanisms of the system 20 years earlier.
And what does systemd offer as a rational reason for violating this ? Nothing.
It violates the rule that applications should always expect simple clear text as input, and produce simple clear text as output. That rule is so fundamental to the flexibility and power of unix that to break it at the init level is to completely destroy that power. If systemd becomes universal, linux will lose all the marketshare it gain in every market, and lose it to unix systems that kept the rule - because the next breakthrough in technology will require adaptations - which systemd will have made incredibly hard.
More-over, it weakens what you can do with the system - the ability to string commands together in utterly arbitrary ways via pipelines have allowed a relatively small set of primitive applications to serve literally ever conceivable user need, exactly by NOT trying to conceive of every possible user need - but providing the means to construct whatever solution you could possibly want on the fly.
And what rational reason does systemd offer for this ? Nothing.
And those are just two out of a very long list.
The argument that the unix was is "too complex" is not new, people have been making that argument for the entire 36 years since Unix was first invented, they have always been proven wrong -because even if it's true, the reality is that the trade-off is worth it, because it creates a system where anything and everything is possible - including the one thing no other system has EVER managed: to survive fashions.