From 776c6ad7c4e24bdb5e039c088703f1fee9a2cfd8 Mon Sep 17 00:00:00 2001 From: Laurent Bercot Date: Wed, 23 Sep 2015 03:37:07 +0000 Subject: Some documentation updates --- doc/faq.html | 51 ++++++++++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 48 insertions(+), 3 deletions(-) (limited to 'doc/faq.html') diff --git a/doc/faq.html b/doc/faq.html index 2fe7acd..692c7f7 100644 --- a/doc/faq.html +++ b/doc/faq.html @@ -25,10 +25,13 @@ Why not put all the information for a service in a single file?

- Because parsing sucks. Writing parsers is an annoying, ungrateful task; -and automatic parser generators produce big and inefficient code. For + Because parsing sucks. Writing parsers is an annoying, ungrateful task, +with significant risks of bugs and security holes; +and automatic parser generators produce big and inefficient code - and +they are not immune to bugs or security holes either. For security, efficiency and maintainability reasons, I prefer to focus my -efforts on code that actually does stuff, not parsing code. +efforts on code that actually does stuff, not code that parses a text +file.

@@ -206,5 +209,47 @@ for. When in doubt, use bundles.

+

Mechanism vs. policy

+ +

s6-rc feels bare: there are tools, but no wrappers, no pre-packaged +scripts to boot my machines, no default runlevels. By comparison, OpenRC +provides a complete default set of scripts!

+ +

+ In the world of software development, it is important to distinguish +mechanism from policy. Mechanism is "how do I perform +the job", and should, theoretically, be addressed by software authors. +Policy is "what are the details of the job I perform, where should I +put my files, what conventions do I use", and should, theoretically, be +addressed by Unix distributions. +

+ +

+ Like the rest of skarnet.org +software, s6-rc aims to provide mechanism, not policy: +it is OS-agnostic and distribution-agnostic. Providing boot scripts, +or anything of this kind, would go against this principle; it is +possible that a policy defined by software conflicts with a +policy defined by a distribution, for instance the provided boot +scripts do not match the distribution's needs, and so the distributors +have to patch the software! +

+ +

+ The s6-rc tools only provide mechanism, so they can be used as is by +individual users, or by a distribution. They do not need to be patched. +It is up to distributions to provide their own policy surrounding those +tools, including complete service databases. It is literally the +distributors' job! +

+ +

+ OpenRC is a different case, because it was developed by and +for a Linux distribution, so with that in mind, the OpenRC +developers did not have to think much about separating mechanism from policy. +It works very well for Gentoo and Gentoo-derived distributions; but it +requires more work to use OpenRC outside of that frame. +

+ -- cgit v1.3.1