My take-away is the following:<p>* systemd tries to solve a complicated problem<p>* systemd has a lot of complexity<p>* some of that complexity seems unnecessary<p>* parsing is hard (see DJB).  Parsing (as systemd does) in PID 1 is bad.  Complex systems in PID 1 is bad.<p>* systemd manages states and dependencies (this is good)<p>* some of the states are only internal, and can&#x27;t be serialized to storage.  The result is indeterminism and race conditions.  (This is bad)<p>* as a result of the above point, systemd behavior is hard to debug, and hard to understand<p>* another result (not stated explicitly) is that systemd allows for (and apparently can&#x27;t detect) ordering cycles and dependency cycles.<p>* The configuration files are simple for simple tasks (good), but not complex enough for complex tasks (bad)<p>... etc.<p>i.e. systemd is an engineering solution.  It pretty much works, but it has inherent design &#x2F; implementation issues which cause real-world problems.