diff options
Diffstat (limited to 'doc/systemd.html')
-rw-r--r-- | doc/systemd.html | 179 |
1 files changed, 0 insertions, 179 deletions
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> |