systemd is heavily inspired by macOS' launchd.

More information at https://news.ycombinator.com/item?id=2565780

And Solaris SMF. There basically seem to be ~three generations of unix init:

1. Agglutination of shell scripts

2. "Oh wow, this is getting annoying"-phase: Wrapper for scripts (SRC SMC openrc etc pp)

3. Service supervision daemons (SMF, launchd, systemd)

Probably. I don't think systemd is a mere "Service supervision daemon", but I'm not in the mood for a can of worms today.

Yeah, I'd probably call systemd something like "an event- and graph-based orchestrator."

Not really, AIUI pottering just thought launchd's socket activation/inetd like functionality was neat: https://0pointer.de/blog/projects/systemd.html. Upstart is more of a direct ancestor:

> Why didn't you just add this to Upstart, why did you invent something new?

> Well, the point of the part about Upstart above was to show that the core design of Upstart is flawed, in our opinion. Starting completely from scratch suggests itself if the existing solution appears flawed in its core. However, note that we took a lot of inspiration from Upstart's code-base otherwise.

> If you love Apple launchd so much, why not adopt that?

> launchd is a great invention, but I am not convinced that it would fit well into Linux, nor that it is suitable for a system like Linux with its immense scalability and flexibility to numerous purposes and uses.

launchd is horrible though, the folks complaining about systemd would be up in arms if they had to write poorly typed XML key/value files