summaryrefslogtreecommitdiff
path: root/doc/systemd.html
diff options
context:
space:
mode:
Diffstat (limited to 'doc/systemd.html')
-rw-r--r--doc/systemd.html179
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&nbsp;? 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>