Re: Be prepared for the fall of systemd

From: J.R. Hill <hiljusti_at_so.dang.cool>
Date: Wed, 03 Aug 2022 17:19:23 +0000

There are a few things that need to be in place for a smooth transition.

For general trust in the project...

1. the init system itself should be maintained by more than a single human.
2. the maintainers should be willing to respond to a large audience. (If a project is used widely across distributions and is critical to operation and security, it'll attract attention from armies of newbies and large cloud corporations alike.) This means there needs to be an ability to move slow (maintain backwards compatibility) and also to move fast (in security situations)
3. the project should be available from some trusted platform with versioning and source history.

For ease of transition...

4. many init scripts need to exist, or they need to be trivial to write.

I'll give some thoughts on runit:

I'll start by saying that I've used Void linux for a few years now, and I love using runit. It's simple, it works, and it's understandable. That's the opposite of my experience with systemd. I'm not passionately against systemd (or the developers, or RedHat, or even IBM), and I think systemd is technically impressive and ambitious. But also I don't really want to use it or anything like it.

> It's maintained by the Void Linux project...

Unfortunately I don't think this is true. It's used by Void, but we're packaging it by building from the source tarball like anyone else.

https://github.com/void-linux/void-packages/blob/master/srcpkgs/runit/template#L12

They do, in effect, drive the maintenance or creation of runit scripts. In the event that we wanted to move many distros to runit, there are many examples of runit scripts to either copy or use (#4). Also it might go without saying, but the scripts themselves are trivial to write anyway.

If I consider runit for my other points above, it doesn't look so hot.

I don't see evidence that runit is maintained by more than a single person (#1), and given that the mailing list archive seems to be down... (And using the "wayback machine" archives it looks like it's been down for more than a year) it doesn't give me a lot of confidence that the maintainer is ready to respond to large audiences (#2). Also, the source is distributed as a single snapshot tarball on a personal website. There's no shasum, no GPG signature, no revision history, etc, which also doesn't give me a ton of confidence (#3). I don't care about seeing a lot of development activity or even recent activity, runit is simple. But especially for security reasons it's important to know the history of a project, like exactly which version has vulnerable code introduced and which version has a fix.

Now, I really really like runit, but I don't think it's ready right now. For runit to be a broadly-attractive alternative, it needs a few small things: to move to some source control system (git/mercurial/etc) where more than one person has access, and the maintainers have to be reasonably responsive. Without that, I think FUD around runit is probably justified. (Of course, we can always take the tarball and shove it in github/gitlab/etc, that wouldn't be the end of the world)

I don't know enough about S6 (using it, or the project) to comment on it.

-- J.R. Hill

------- Original Message -------
On Monday, August 1st, 2022 at 07:21, Steve Litt <slitt_at_troubleshooters.com> wrote:


> Hi all,
>
> As I said in a previous message, I see sentiment very slowly turning against
> systemd. If systemd keeps losing popularity, I have no doubt the corporate
> carpetbaggers will try to force an even worse atrocity on us, so we need to be ready
> this time and not have the argument centered on a false choice.
>
> I see two init systems ready to take the baton and run with it:
>
> * Runit
> * S6
>
> Runit is the simplest init system other than /bin/bash or an rc script. It's
> maintained by the Void Linux project, so hit hard at the FUDdists who claim runit is
> unmaintained.
>
> S6 is advancing full speed to a complete solution, implementing all the best
> features of systemd, but these features are voluntary and separable. If you want top
> quality, choice and performance, and are willing to accept a little more complexity
> (but sane complexity), S6 plus its service manager is the way to go. In my opinion,
> S6 plus its service manager offers more than OpenRC, and IMHO it's easier to
> configure/manage.
>
> If and when systemd falls, we need to be ready, so we can get the right init system,
> instead yet another corporate sponsored Rube Goldberg Machine.
>
> SteveT
Received on Wed Aug 03 2022 - 19:19:23 CEST

This archive was generated by hypermail 2.4.0 : Wed Aug 03 2022 - 19:20:02 CEST