I have a crazy question about s6. Would it be possible to make systemd
It all depends on what you mean by "compatible".
There will never be full drop-in compatibility, because only systemd
can be drop-in compatible with systemd. It has been designed this way,
its architecture is a way of ensuring vendor lock-in. The most
successful "compatible systemd replacement" so far was uselessd, and
its author decided to put an end to the project when they realized how
infeasible, and pointless, the work was: when you follow the systemd
architecture, you end up with systemd, no way around it.
What *would be* feasible, on the other hand, is a conversion tool
from systemd unit files to a s6 + s6-rc database. It is still a lot
of work, especially if one wants to implement all the systemd
idiosyncrasies, but it is doable. I can't guarantee the output of
such a conversion tool would be 100% compatible with the observed
behaviour under systemd (in particular, bug-compatibility would not
be ensured ;)) but it could probably be made to be close. nosh
already has such a converter; I haven't tested it.
I am currently thinking of implementing a file format for
s6 + s6-rc + s6-linux-init service definition, in order to make it
easier for people used to OpenRC or systemd to implement services
with s6. This format probably cannot be systemd unit files, because
unit files follow the systemd architecture too closely; but it could
be a first step to a systemd-to-s6 conversion tool.
- the previous alternatives all failed to gain traction because there
too much effort to change systems around to use them
That's not an argument, especially given the following one:
- there is already too much effort went into systemd
If people actually did the effort to write systemd unit files, there
is no reason why they can't do the effort to write service definitions
under a better format in order to have a better init system. The format
just needs to be friendlier than what the current s6 suite provides.
Working on conversion tools is currently my priority with s6. As usual,
the limitation is my available free time.