[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Tentative summary of the amendments


Josh Triplett:
> There's a reason that systemd has had a meteoric adoption rate: it
> provides a huge number of features people not only want, but have wanted
> for years.
Or didn't even know they wanted. Or simply didn't have *time* to implement
a workaround for. The integrated logging which "systemctl status" prints
is a prime example.

Yes, there have been a number of replacement inits, but every one of them
just scratched an itch or two, so the perceived benefit to switching to it
was too small. None of them ever tried to take away _all_ the itchy
scratchy bits.

> In practice, demanding that packages work with all init systems, or even
> with *two* init systems, demands that they support the
> least-common-denominator of functionality provided by those init
> systems.  That effectively makes any new feature added to an init system
> useless until duplicated.
Not always. Take socket activation, for instance. It's reasonably easy to
implement, and simply a no-op on any non-systemd machine.

> And in many cases, the systemd-invented services and features fill a gap
> for which no previously implementation existed, so "used to work before"
> is quite inaccurate.

Many daemons have implemented painful workarounds. (Painful because they
come with their own set of bugs … and implementing them anew in every
daemon that needs the features is wasted effort.)

A quick look at my system:
* collectd has a restarter (C)
* asterisk has a watchdog (C)
* mysqld has a logger (C) and a restarter (shell)
* rabbitmq has an uid-setter (shell, calling 'su -c "…"',
  with broken quoting)

I expect their (eventual) unit files to do away with all of that.

-- Matthias Urlichs

Reply to: