Re: replacing init with something "sane"
systemd was a good idea.
Well, part of it.
Replace the init system with something sane, that allows all kinds of extra features, automated startup dependencies, etc. Hell, even replacing scripts with a real program isn't actually that insane in the modern world.
I would argue that it wasn't "init" that needed replacing, it was "rc".
init is supposed to be the initial launcher (a minor task IMHO, it's eons since we all used serial lines and needed respawning for our getty's) and then it is is the catcher for orphans. The kernel needs somewhere to put them and so the kernel is very attached to PID 1, this is init's job. Since the kernel needs PID 1 to be there it will panic if PID 1 dies.
This is where systemd is going wrong. It is placing something far to complicated inside this orphan catcher.
The other problem with systemd is that they've not define limits on what it is trying to achieve. So it grows off in all sorts of directions. Why does the launcher also want to be the logging system?
I would also argue that launching services at startup from scripts is a better way than launching from inside a "compiled" program. It encourages the developers to make sure everything can be done easily from the command line. It also makes it trivial for admins to see what is supposed to have happened, 30 years ago no one would have dreamt of trying to administer a Unix machine without being a C programmer, for the last 20+ years that's not been the case. But even if the admins can understand the C or other compiled language they can't just walk through the steps by hand.
As someone put in a message a short while back "Don't do anything in C that you could have done in a script".
Personally I'm really not convinced that for most users the boot up speed is a killer. I usually use Linux as a server OS, Red Hat 7 has systemd in "Enterprise" Linux which is mostly used as a server OS and here boot speed isn't a big issue, especially when the POST might take 20+minutes by the time you've got a sensible amount of RAM on board.
So regardless of what is driving the "rc" mechanism I want to see the services started from scripts please.