‹ BackHN Continuity

Thread

Systemd is a suite of basic building blocks

37 points · 71 comments · Bluestein

  1. 0xbadcafebee · · focus · HN ↗
    "Building blocks" makes it sound like things you can use to build other things. In reality it's more of an octopus, or a fungus.
    1. 9dev · · focus · HN ↗
      But that’s precisely what it allows you to do: plug a socket unit into a service unit, connect a timer unit, then another service as a dependency… and that’s just for the init management. Systemd might not fit your personal stylistic preferences, but most of all it’s consistent.
      1. Joker_vD · · focus · HN ↗
        Yeah, like what Upstart did! Why did we switch away from that, again?
        1. c-hendricks · · focus · HN ↗
          Didn't have timers for one, or the same level of support around sockets.
        2. the_why_of_y · · focus · HN ↗
          Because firstly, it had a broken architecture.

          <a href="https:&#x2F;&#x2F;bugs.launchpad.net&#x2F;upstart&#x2F;+bug&#x2F;406397&#x2F;comments&#x2F;21" rel="nofollow">https:&#x2F;&#x2F;bugs.launchpad.net&#x2F;upstart&#x2F;+bug&#x2F;406397&#x2F;comments&#x2F;21

          <a href="https:&#x2F;&#x2F;bugs.launchpad.net&#x2F;upstart&#x2F;+bug&#x2F;447654&#x2F;comments&#x2F;6" rel="nofollow">https:&#x2F;&#x2F;bugs.launchpad.net&#x2F;upstart&#x2F;+bug&#x2F;447654&#x2F;comments&#x2F;6

          Secondly, Canonical required copyright assignment for any contribution to Upstart, and Lennart&#x2F;Kay decided that if they basically have to substantially rewrite it to fix the broken architecture, they better do it in a new project with no copyright assignment barriers.

          See the comments in this thread by Upstart author and former Canonical employee Scott James Remnant:

          <a href="https:&#x2F;&#x2F;web.archive.org&#x2F;web&#x2F;20140928104327&#x2F;https:&#x2F;&#x2F;plus.google.com&#x2F;+KaySievers&#x2F;posts&#x2F;C3chC26khpq" rel="nofollow">https:&#x2F;&#x2F;web.archive.org&#x2F;web&#x2F;20140928104327&#x2F;https:&#x2F;&#x2F;plus.goog...

          Had the CLA not been in place, the result of the LF Collab discussions would have almost certainly been contributions of patches from +Kay Sievers and Lennart (after all, we&#x27;d all worked together on things like udev, and got along) that would have fixed all those design issues, etc.

          But the CLA prevented them from doing that (I won&#x27;t sign the CLA myself, which is one reason I don&#x27;t contribute since leaving Canonical - so I hold no grudges here), so history happened differently. After our April 2010 meeting, Lennart went away and wrote systemd, which was released in July 2010 if memory serves.

      2. throw0101a · · focus · HN ↗
        &gt; But that’s precisely what it allows you to do

        And if I don&#x27;t want a building block like logind or journald, can I not use them? Can I take those blocks elsewhere, like over to FreeBSD and use them there?

        SystemD is not &quot;building blocks&quot; — which implies modularity — it is a monolith: components cannot be added or taken away or replaced. The best you can do is maybe run disable --now. (I&#x27;m at least thankful I can usually do an apt purge resolved.)

Open on Hacker News to reply ↗

Unofficial Hacker News client; not affiliated with Y Combinator.