&gt; <i>... BSD-style rc files, which are tiny and very readable ...</i><p>As someone who has an on-going project to replace 157 rc.d scripts from FreeBSD 9&#x2F;10, I can report that the generalizations about the Mewburn rc.d system that are often made, in order to contrast it with the egregious mess that one can find in the System V rc clone on Linux operating systems, are not in fact strictly accurate.<p>Yes, <i>most</i> of the rc.d scripts are small.  Yes, the Mewburn rc.d system did almost 16 years ago what people are erroneously characterizing as novel to systemd: namely taking all of the common management code out of the individual service definitions, leaving just a few parameterizations in some cases.  Yes, there is a definite common coding style that is a breath of fresh air when coming from the Linux world.<p>But no, the scripts are not universally tiny.  One problematic example currently of interest is &#x2F;etc&#x2F;rc.d&#x2F;bluetooth, weighing in at over 360 lines.  Others include the subsystems that are split across multiple scripts, such as &#x2F;etc&#x2F;rc.d&#x2F;atm1, &#x2F;etc&#x2F;rc.d&#x2F;atm2, and &#x2F;etc&#x2F;rc.d&#x2F;atm3.<p>Nor are they universally consistent, &#x2F;etc&#x2F;rc.d&#x2F;serial being an example of one with quite different configuration semantics to the key=value-in-rc.conf{,.local} norm.<p>And whilst one might rail against the problems of having a common script for SuSE Linux, Debian Linux, and RedHat Linux, all of which have different sets of init.d script helper tools (resulting in &quot;portable&quot; init.d scripts ending up being a case &quot;$distribution&quot; in...esac statement for pretty much every step), one can equally point to the fact that OpenBSD&#x27;s rc.d system (<a href="https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=8506460" rel="nofollow">https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=8506460</a>) has entirely different function and parameter names to the NetBSD one (as adopted by FreeBSD&#x2F;PC-BSD and DragonFly BSD) as well as different rules about rc.conf and different variable naming conventions.<p>Be very careful about attempting to claim some kind of moral high ground on interoperability and standards.  (-:<p>Also be very careful about notions that the Linux world sees the Bourne Again shell as the only shell, some rather silly statements by some people who should know better notwithstanding.  The adoption of the (Debian-modified) Almquist shell as &#x2F;bin&#x2F;sh by Debian and Ubuntu, and its significant effect on bootstrap speed, is quite famous.  And my experience is that the Z Shell is quite popular, for starters.