diff options
author | Laurent Bercot <ska-skaware@skarnet.org> | 2019-07-30 12:20:50 +0000 |
---|---|---|
committer | Laurent Bercot <ska-skaware@skarnet.org> | 2019-07-30 12:20:50 +0000 |
commit | 7c3e0669251014de0edd4ed2b9da11ca5378ee99 (patch) | |
tree | dcb18c1a061851aeca257a26aa4fbe75b04d133b /doc | |
parent | fec5ee5092a8067c97e45ce7781374dd44312ae6 (diff) | |
download | s6-7c3e0669251014de0edd4ed2b9da11ca5378ee99.tar.xz |
Move systemd page out of the s6 package
Diffstat (limited to 'doc')
-rw-r--r-- | doc/index.html | 2 | ||||
-rw-r--r-- | doc/s6-svscan-not-1.html | 2 | ||||
-rw-r--r-- | doc/systemd.html | 179 | ||||
-rw-r--r-- | doc/why.html | 2 |
4 files changed, 3 insertions, 182 deletions
diff --git a/doc/index.html b/doc/index.html index cc8ea40..96a57b2 100644 --- a/doc/index.html +++ b/doc/index.html @@ -360,7 +360,7 @@ traditional init system for Linux. </li> <li> <a href="http://upstart.ubuntu.com/">Upstart</a> is a well-known init system for Linux, with complete service management, that comes with the Ubuntu distribution. It includes a coffee machine and the kitchen sink.</li> - <li> <a href="systemd.html">systemd</a> is a problem in its own category. </li> + <li> <a href="//skarnet.org/software/systemd.html">systemd</a> is a problem in its own category. </li> <li> The various BSD flavors have their own style of <a href="http://www.freebsd.org/doc/handbook/boot-init.html">init</a>. </li> <li> MacOS X has its own init spaghetti monster called diff --git a/doc/s6-svscan-not-1.html b/doc/s6-svscan-not-1.html index 13f00a9..57b0549 100644 --- a/doc/s6-svscan-not-1.html +++ b/doc/s6-svscan-not-1.html @@ -132,7 +132,7 @@ RestartSec=1 so depending on the level of integration with your distribution that you wish to achieve, you may be better off using systemd to directly manage your daemons. Please also note that systemd is a -<a href="systemd.html">terrible piece of software engineering</a>, and +<a href="//skarnet.org/software/systemd.html">terrible piece of software engineering</a>, and if at all possible, you should try and switch to a distribution that does not use it. </p> diff --git a/doc/systemd.html b/doc/systemd.html deleted file mode 100644 index 16f0028..0000000 --- a/doc/systemd.html +++ /dev/null @@ -1,179 +0,0 @@ -<html> - <head> - <meta name="viewport" content="width=device-width, initial-scale=1.0" /> - <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> - <meta http-equiv="Content-Language" content="en" /> - <title>s6: a word about systemd</title> - <meta name="Description" content="s6: a word about systemd" /> - <meta name="Keywords" content="s6 supervision init systemd" /> - <!-- <link rel="stylesheet" type="text/css" href="//skarnet.org/default.css" /> --> - </head> -<body> - -<p> -<a href="index.html">s6</a><br /> -<a href="//skarnet.org/software/">Software</a><br /> -<a href="//skarnet.org/">skarnet.org</a> -</p> - -<h1> A word about systemd </h1> - -<p> - <a href="http://www.freedesktop.org/wiki/Software/systemd/">systemd</a> -is becoming <i>de facto</i> a standard init system for Linux. But even -this choice of words is treacherous, because systemd is much more than -an init system. It's basically an integrated redesign of all the low-level -userspace of a Linux system, with great plans to change how software is -run and organized. - -<p> - Which is not a bad thing per se: Unix software can definitely benefit -from improvements in this area, and the s6 suite, among other software, -comes from the same assessment and ultimately has the same goal. But -systemd suffers from a single conception flaw that sets it apart from -the other initiatives, and that has both political and technical -repercussions. -</p> - -<p> -<strong> - The single, overarching problem with systemd is that it attempts, in every -possible way, to do <em>more</em> instead of <em>less</em>. -</strong> -</p> - -<h2> The political issue </h2> - -<p> - systemd attempts to cover <em>more</em> ground instead of <em>less</em>. -In other words, rather than simply being an init system, it tries to be -a complete overhaul of the way a Linux system is run, and tries to force -other software to hook with it in order to be supported. This goes very -much against: -</p> - -<ul> - <li> The Unix philosophy, which is to do one job and do it well; </li> - <li> The <a href="http://www.catb.org/esr/writings/cathedral-bazaar/">bazaar</a> -approach that has made the free software ecosystem what it is today - see -below; </li> - <li> Cross-platform compatibility. BSD is not dead, Solaris is not dead, -but systemd ignores Unix. It even ignores Linux to some extent: the systemd -authors had the guts to ask for specific kernel interfaces! </li> -</ul> - -<p> - The reason why systemd has become so prevalent is not that it has been -accepted by the community. It's that it has manpower. It is backed up by -open source software companies that can provide much more manpower than -developers like myself working on free software on their own time. The -distribution model of systemd, made of lobbying and bullying, is much more -akin to the distribution model of Microsoft Windows than the one of GNU/Linux. -</p> - -<h3> Project development vs. ecosystem development </h3> - -<p> -I claim that systemd goes against the bazaar approach; someone noted that -the s6 development model is cathedral-like, and found it confusing. How -can I blame systemd for not embracing the bazaar when I myself don't -either? My answer was the following: -</p> - -<p> - I actually do not support bazaar as a <em>development model for a -project</em>. -I believe that quality software can only be written by keeping a tight grip -on what goes in, with a clear vision about the scope and design of the -project, -and that can only be achieved with very small teams. Free software following -the bazaar development model is notoriously bad at quality control; the -only way to have a project working is to have a small lead team -performing integration control - this is the way the Linux kernel works, for -instance, and it has a <em>huge</em> developer base. -</p> - -<p> -(The other more or less viable development model for a project is to be -company-driven: making up for the lack of technical excellence with -manpower and procedures. Needless to say, companies usually do not -produce either free or good software, and they are not efficient at -doing so.) -</p> - -<p> - However, I also believe that the scope of a project should be clearly -defined and limited, and I very -much support the blossoming of as many well-scoped projects as can be, and -total freedom about the interfaces and communication points between all those -projects. I support bazaar as a <em>development model for a software -ecosystem</em>: -everybody can write software that interacts -with other software on their machine, in the way they choose. -To me, that is entirely what free software is about. -</p> - -<p> - systemd gets it wrong on all levels. It has a large developer -base, so no really coherent vision (and the vision it has is technically -inept, see below); its quality control is company-driven, with -all the drawbacks that it has; <em>and</em> it has an insanely -large scope and tries to enforce the use of its own interfaces for new -software development, essentially proprietarizing the ecosystem, which is -very much the opposite of bazaar. -</p> - -<h2> The technical issue </h2> - -<p> - Software that does <em>more</em> instead of <em>less</em> is, simply put, -badly designed software. Trying to come up with an all-encompassing solution -is always a sign of developer hubris and inexperience, and never a sign of -good engineering. Ever. Remember sendmail, BIND, INN, and, definitely a better -analogy, the early days of Microsoft Windows ? Yes, systemd is in -exactly the same league. It's as if we had learned <em>nothing</em> from the -mistakes of the past 20 years. The systemd programmers may be better at -writing code than the BIND programmers - which isn't saying much - but -they are just as bad at <em>designing software</em>, and when said software -is process 1 and basically the whole low-level userland layer, it is -frightening. -</p> - -<p> - Yes, doing more instead of less is especially bad in the case of -system software, i.e. low-level software that -aims to make the machine work and that application software depends upon. -The goal of an operating system is to make it possible to run <em>applications</em>, -and system software should always partake in that goal. <strong>System software -should stay the heck out of the way</strong>, which is exactly what systemd does -not. In that respect, it is very similar to Microsoft Windows. Again. -</p> - -<p> -Listing all the technical flaws of systemd is a lifetime's work; some -people have pointed out the most glaring ones - there are a few links -below. My point is that the "we will solve problems by doing more" -approach chosen by the systemd developers is a newbie mistake, and the -root cause of all those flaws; systemd is technically unsustainable. -</p> - -<p> - s6 is my humble contribution to the fight against systemd, and I am -committed to making it evolve so it becomes a real alternative. -</p> - -<h2> Links </h2> - -<ul> - <li> <a href="http://freedesktop.org/wiki/Software/systemd/">systemd's home page</a> </li> - <li> <a href="http://uselessd.darknedgy.net/ProSystemdAntiSystemd/">An analysis of -the vacuity of most Internet arguments about systemd</a>, by the author of -<a href="http://uselessd.darknedgy.net/">uselessd</a>. </li> - <li> <a href="http://ewontfix.com/14/">Technical arguments against systemd</a>, -by Rich Felker, main author of <a href="http://musl-libc.org/">musl</a> </li> - <li> <a href="http://judecnelson.blogspot.fr/2014/09/systemd-biggest-fallacies.html">A -list of fallacies about systemd, with debunk</a> </li> -</ul> - -</body> -</html> diff --git a/doc/why.html b/doc/why.html index bf779b2..5804e2c 100644 --- a/doc/why.html +++ b/doc/why.html @@ -115,7 +115,7 @@ the key-value store, and use it to run and supervise a daemon. And it needs to keep everything in memory. This is a lot more complex and resource-consuming than it needs to be. </li> <li> systemd is much, much worse than the other ones, and a real danger -for the future of GNU/Linux. I have a <a href="systemd.html">special page</a> +for the future of GNU/Linux. I have a <a href="//skarnet.org/sofware/systemd.html">special page</a> dedicated to it. </li> </ul> What those systems fail to recognize is that process supervision, rooted in |