“Do one thing well” - Unix philosophy

The init

When the Linux kernel finishes booting, it starts exactly one userspace process: PID 1. The kernel does not run services, configure the network, or start daemons — it hands off to PID 1 and says "do the rest." Two hard rules

  1. If PID 1 exits, the kernel panics. So something must always be PID 1.
  2. PID 1 must reap zombies. When any process's parent dies, its orphaned children get reparented to PID 1. When those orphans exit they become zombies until someone wait()s them. Only PID 1 can — if it doesn't, zombies pile up and exhaust the process table.

Philosophy of openrc

Openrc vs Systemd

Systemd PID 1 and the service manager and socket activation and (with journald/logind/udevd in the suite) logging, sessions, devices. It's always-resident - systemd literally is PID 1, running for the whole life of the machine.

openrc is only a service manager. It is deliberately not PID 1, and it has no resident daemon. rc-service, openrc-run, rc-update are tools — invoked, do work, exit. openrc was designed to sit on top of a separate, independent PID-1 init. That separation is its whole philosophy.

So on a real openrc system, what's PID 1? Not openrc. It's a separate, tiny init:

systemd → an all-in-one appliance — washer+dryer+folder in one welded unit. Convenient, integrated, but you can't replace just the dryer, and you can't not have the whole thing.

openrc → a dishwasher. It washes dishes. It doesn't try to also be your fridge. Buy the fridge separately, swap either one anytime.