When comparing OpenRC vs Upstart, the Slant community recommends OpenRC for most people. In the question“What are the best Linux init systems?” OpenRC is ranked 1st while Upstart is ranked 6th. The most important reason people chose OpenRC is:
OpenRC follows the UNIX philosophy of 'do one thing and do it well', while it's true that it has more features than sysvinit, it does not stay away from its primary function with unnecessary added features.
Specs
Ranked in these QuestionsQuestion Ranking
Pros
Pro No feature creep
OpenRC follows the UNIX philosophy of 'do one thing and do it well', while it's true that it has more features than sysvinit, it does not stay away from its primary function with unnecessary added features.
Pro Extremely simple
All configuration is done via shell scripts and symlinks. Shell scripts can then use various specialized utilities to ease the development of init scripts.
Pro Fast
OpenRC builds on top of sysvinit and adds some more useful features (like parallel booting) while still the simplicity that sysvinit is know for. Because of this it generally boots faster than other init systems, especially when parallel booting is enabled.
Pro UNIX-Like
Does one thing and does it well.
Pro Less dependency creep
Using OpenRC does not lock in a distribution by providing specific NON-POSIX extra services which programs then would rely on.
Pro A very balanced compromise
Basically OpenRC doesn't replace SysV init, but rather works with it, providing features that SysV is lacking while taking advantage of its benefits. It's also used by a fair amount of reasonably popular distros and is well supported and developed.
Pro Very efficient on system resources
Uses multi-core and ram very efficiently.
Pro Portable
It can be ported to other UNIX and UNIX-like operating systems.
Pro Flexible and extensible
I can add a new startup script for most cases in under five minutes. The ability to quickly insert new applications into the system is a big help.
Pro Not bloated
Pro Deterministic
It always initializes a system the same way; if OpenRC booted and ran a system properly today, it will boot and run properly tomorrow, and the next day.
Pro Event based startup was fantastic.
Since it is event based, it was simple to have interdependent services emit status messages each other. Service start ordering and shutdown was easily managed in one conf file.
The "lazy" start of systemd is BS and is a mess to debug . service unit files have no clue what another service state is. The maintainers add arbitrary timers that add more complexity and more init hangs. The systemd documentation is poor. When a service fails to start (or stop) systemd follows the Microsoft model of not telling the reason why.
Pro Simple .conf file in /etc/init
Cons
Con No socket activation
OpenRC does not have socket activation yet. It will be added in the future though.
Con Not widely offered across distrubutions
From Distrowatch, only ten distributions (of which 8 Linux, 1 BSD) officially support OpenRC, and offer it through their standard repos.
Con Not GPL
Con Ubuntu abandoned it
The original developers (Canonical) seem to have abandoned this project. At least they're no longer using it in Ubuntu.
Con It was just sysvinit or systemd in disguise
It really just offered a barely more intuitive way to create init scripts for the actual init system running behind upstart.