When comparing SysVinit vs s6, the Slant community recommends SysVinit for most people. In the question“What are the best Linux init systems?” SysVinit is ranked 3rd while s6 is ranked 5th.
Ranked in these QuestionsQuestion Ranking
Pro Simple to understand
Pro Very stable
Since sysvinit does only one thing (initialize the system) and one thing only, it's very stable and it's impossible for it to fail for any problems unrelated to booting the system.
Pro Better boot time and overall performance
It boots up really fast if you use it on a desktop system.
Pro No feature creep
It is an init system nothing more.
Pro Does not stop booting if something fails
It just works, misconfiguration of a third party service wont break booting.
Pro Runs on every POSIX system
Pro You can use all its components independently
Pro Rock solid
Portable: Linux, BSD, Solaris
Can be compiled with musl.
A lot of feature including dependencies service management.
Easy to implement with the conjunction of 66 (https://framagit.org/obarun/66.git) which provide frontend file for service declaration, automatic logger creation,nested supervision tree,user service,instantiated services and many more.
Best alternative ever. Work out of the box, PROC was made on Gentoo, Funtoo, Devuan, KISS linux, Adelie, Void, Antix.
Default init system and service manager on Obarun (https://web.obarun.org) and from a long time ago.
Pro The perfect init
s6-rc, provides a real Service Manager, a Services Supervisor with Parallel RC and logging, upon demand. The perfect continuation, of Runit.
ISC License, is not a barrier, Ibut instead, is so friendly to Open Source and Free Software Licence
Con Duplicated implementation for every service
Every init script needs to reinvent the wheel for every script: argument processing, start/stop/restart/reload/status/whatever processing, finding/clearing/creating PID files, sourcing defaults, building and setting configuration options, so on and so forth.
Con Launches a bunch of processes to launch a process
Every init script spawns at least sh/dash/bash, and probably also additional processes such as cat, echo, start-stop-daemon, etc, just to start a single daemon that may not even be needed at the time of boot. This massive overhead results in poor performance, and is a killer for embedded systems.
Scripts can be broken easily, specially if your machine state changes constantly (like almost all modern computers).
Con Hard to write sysv-initscripts
As one needs programming skills (opposed to a declarative style).
Con Follows UNIX Philosophy
Yes. This is a CON. Unix Philosophy was a set of guidelines that pretty much made sense in 60 and 70's machines. Trying to follow that instead of the material reality of computing makes software crippled, barely usable and prone to hit dead ends.
Con Can lead to slow boot
Since init starts tasks serially, it has to wait for a certain task to finish in order to start the next one. But when startup processes end up I/O blocked, this leads to considerable delays during boot.
Con Initscripts is not portable
It is virtually impossible to write portable sysvinit-scripts.
Con Not GPL
It depends on libc, has a lot of code.