On the init system debate

The decision on which init system to use has plagued Debian for a fairly long time now. We've had people talking about it as early as debconf11 in Banja Luka, and we still haven't got a decision. Instead, the decision has been going round in circles, in a typical bikeshed fashion.

Originally, my opinion on the subject was "sysv-rc is good enough for everyone, and it's portable, which other alternatives aren't". By now, however, I've become convinced that the first part of that statement isn't true, and that as a result a switch of a default init system is indeed appropriate; that we should indeed switch to "something else", at least for our Linux ports.

Once I came to that conclusion, my opinion on what, exactly, we should use turned out to be nonexistent. That is, I don't care. Anything will be fine.

What is bothering me, though, is that things keep dragging on and on and on and on and on and on and on, ad infinitum.

We should just pick one and be done with it, dammit. The fact that sysv-rc is replaced by "something else" does not mean people must stop using sysv init scripts. Even if the maintainer of some random package "foo" refuses to accept patches to support sysv-rc for his package, there's nothing stopping anyone from providing a package "sysv-support" containing init scripts (and nothing else) for sysv-rc.

The same goes for a hypothetical upstart-support or systemd-support package, of course: if you want to continue living in the stone age and keep using sysv-rc forever, then there is nothing stopping you. Even if we decide to use something else for our Linux ports.

Ideally the non-Linux ports would move to something more modern too; but there really really really isn't any reason why it would be a problem if they didn't.

Can we stop painting the bikeshed now? If we don't, soon we'll have to call it "hunk of paint with some bikes inside" rather than "bikeshed".


systemd, not love at first sight but happy to have it now

Arch has switched to systemd, and although at first I really didn't trust the idea (too complex, too many layers, too many changes, to much of an OSX arrogance feel to it), of course they didn't leave me a choice. But I'm now really warming to the way it works. And the speed at which it does, and with hindsight, I think it was the right decision after all.

I now think systemd's definitely worth the (non-trivial) migration effort. Also it's good to not introduce more differences between distros. There's no shame in going with the winner if the winner happens to deserve its position.


Comment by Frank Marien (frank@apsu.be) Tue Jan 21 02:14:05 2014
Once gone, it's gone
Once we drop SysV init scripts and remove them from policy, package maintainers will not maintain them anymore, so slowly everyone will be forced away from SysV. Either Debian policy dictates that SysV init scripts must always be supported, then your argument holds; or we move to a modern init system and essentially subject SysV to a slow death.
Comment by madduck (grep.be@pobox.madduck.net) Tue Jan 21 04:04:13 2014
Re: Once gone, it's gone

That's simply not true.

If someone wants to support sysv-rc, it's possible to download relevant packages from there, extract the init scripts, and put them in a separate package that people (who prefer sysv-rc) can continue to use.

This would be somewhat of a burden, yes. But if someone really really really wants to continue using sysv-rc, it's possible. It won't be easy, but it's possible.

I'm not saying I would be interested. On the contrary. But hey.

Comment by wouter Tue Jan 21 13:39:22 2014