I'm planning to move over to Guix over NixOS, as soon as my current situation improves and possibly import a new libre respecting laptop (Star Labs is thankfully available in India). I do have a very old laptop with a Celeron processor and 4GB of RAM with Guix installed already, and what has come to my attention is that it uses shepherd.

I'm not actually against or for systemd, in fact, I am not really sure why I should even care - maybe it is because I'm still not on to the level of a power user. Since I'm starting to learn kernel basics to prepare for GNU/Hurd contributions in the nearest possible future and shepherd seems to be what the GNU folks will be using, is there any reason why I should even care about the freedom of init system?

Edit: I'm asking this because I came across this blog - What is systemd and Why Should I Care? and also because Guix uses shepherd, and I'm not sure how I'll be affected.

  • alt@lemmy.ml
    ·
    8 months ago

    is there any reason why I should even care about the freedom of init system?

    Freedom of choice! It's troublesome if distros and/or DEs rely so heavily on systemd to do their bidding. So much so, that some combinations of distro + DE don't allow any differentiation in init or make it very cumbersome and unwieldy at best. I'm not interested in making systemd a necessary part of Linux. Therefore other inits not only have to exist, but should be 'competitive' as well. Which, to be frank, is currently not the case.

    Another concern is that systemd is by no means a minimalist approach. Which beyond bloat, also has security implications. More information can be found in this (infamous) guide by Madaidan; security researcher on multiple distros known for taking security and privacy very seriously like e.g. Kicksecure and Whonix. Interestingly, while Madaidan discourages the use of systemd in that guide, it's still heavily relied on in Kicksecure; one of the distros he works on. I think this is a perfect illustration of how systemd has become so good that even opponents can't deny its merits and continue to make use of it for the time being out of necessity.

    • 0x0@programming.dev
      ·
      8 months ago

      So much so, that some combinations of distro + DE don’t allow any differentiation in init or make it very cumbersome and unwieldy at best.

      it’s still heavily relied on in Kicksecure; one of the distros he works on. [..] this is a perfect illustration of how systemd has become so good

      Considering Kicksecure is based on Debian, aren't you contradicting yourself?

      • alt@lemmy.ml
        ·
        edit-2
        8 months ago

        How so? I literally don't see it. My apologies if I come across as obnoxious, but I simply don't understand how I might have contradicted myself. I never explicitly mentioned Debian anyways, so why did you feel the need to mention that as somehow being related to a supposed contradiction.

        • 0x0@programming.dev
          ·
          8 months ago

          Fine, i'll bite, i'm bored.

          Interestingly, while Madaidan discourages the use of systemd in that guide, it’s still heavily relied on in Kicksecure; one of the distros he works on.

          While you didn't explicitly state it, it's a distro that's based on Debian, so, has to be based on systemd.

          I think this is a perfect illustration of how systemd has become so good that even opponents can’t deny its merits and continue to make use of it for the time being out of necessity.

          No, not at all. You said it yourself:

          It’s troublesome if distros and/or DEs rely so heavily on systemd to do their bidding. So much so, that some combinations of distro + DE don’t allow any differentiation in init or make it very cumbersome and unwieldy at best.

          So trying to use Kicksecure without systemd would be very cumbersome and unwieldy at best. Perhaps Madaidan should've used Devuan as a starting point instead.

          • alt@lemmy.ml
            ·
            edit-2
            8 months ago

            In case you're bored enough to read my ramblings and/or interested in what I understood and how, then consider reading the spoiler below.

            spoiler

            Fam, you're all over the place.

            Because you did an awful job at pointing at the supposed contradiction, I'll have to analyze your excuse of an elaboration so that it somehow starts to make sense if at all:

            A contradiction consists of N statements that logically contradict with each other; for the sake of making it more precise we'll refer to these statements as P, Q, R, S etc. After we've established this, we can move on to find what these alleged statements are from your comments. My best take would be:

            (Supposed) Contradicting Statements:

            • P: systemd is the only init that's beyond a particular level of excellence and/or feature set.[1]
            • Q: Some combinations of distro + DE are cumbersome and unwieldy at best if systemd is not used.[2]

            Perhaps some other related statements that are either implied or a given/fact:

            • R: Kicksecure uses systemd as its init.
            • S: Modern distros use an init.
            • T: Default init is chosen based on preference[3].
            • U: Kicksecure has to use systemd because P despite not being in favor of some aspects of its design.

            Please feel free to notify me if I missed the mark!

            Don't you think that P and Q are actually complementary to one other?


            No, not at all.

            The crux might be here. But I'm not sure where exactly you might have tripped over. Was it because I said "opponents" instead of "(some) opponents"? Was it because I said "out of necessity", while elsewhere I said "don’t allow any differentiation in init or make it very cumbersome and unwieldy at best", but in this case they aren't contradictory statements. Was it the fact that Devuan exists? But, this assumes that any of the inits found on Devuan are somehow as mature and feature-rich as systemd. Which, unfortunately, is simply not the case. (I'm hopeful that dinit and s6 might reach maturity soon, though.)

            So trying to use Kicksecure without systemd would be very cumbersome and unwieldy at best.

            Exactly, that was my point.

            Perhaps Madaidan should’ve used Devuan as a starting point instead.

            It's a team effort, I don't even know if he started working on Kicksecure from its inception[4]. They might also simply be victims of the sunk-cost fallacy. Furthermore, I wouldn't be surprised if -to them- systemd's pros simply outweigh its cons. Which, curiously, gets us back to the entire point of my original comment; viable alternatives to systemd don't exist. This painful truth is not only sad and unfortunate, but perhaps even worrisome for the future of Linux.


            1. From: "systemd has become so good that even opponents can’t deny its merits and continue to make use of it for the time being out of necessity"
            2. From: "some combinations of distro + DE don’t allow any differentiation in init or make it very cumbersome and unwieldy at best."
            3. Preference is arguably too broad of a term, but I wanted to make clear that distro maintainers have different priorities.
            4. This page suggest otherwise, simply because someone else is referred to as founder. Though, ultimately, I don't know.

            If not 😜; did I understand you correctly in that the mere existence of Devuan is the supposed contradiction?

            • 0x0@programming.dev
              ·
              8 months ago

              Big spoiler there.

              I don't think systemd is the epitome of technological evolution, but that's another rant. The fact that it's not just another init system is at the center of it, though.

              Because it's not, any distro that chooses to use it is, in fact, adopting a whole ecosystem. Some apps that predate systemd are even hard-depending on it for... reasons. Can you use GNOME without it? Why most distros adopted it as default instead of an alternative i can only speculate. At least Slackware hasn't adopted it so far and Gentoo took, to me, the sanest approach: you can choose your init system, including systemd if you so prefer.

              Devuan is the response to Debian choosing systemd. It's its raison d'être, to be Debian without systemd.

              I was unaware of Kicksecure, who their founder is and when they decided to adopt systemd, so i may be at fault here.

              With this i agree:

              It’s troublesome if distros and/or DEs rely so heavily on systemd to do their bidding. So much so, that some combinations of distro + DE don’t allow any differentiation in init or make it very cumbersome and unwieldy at best.

              With this, i don't:

              systemd has become so good that even opponents can’t deny its merits and continue to make use of it

              And this is where i think you've contradicted yourself. IMO, the only reason opponents use it is not because it's so great but because it's so entrenched in whichever distro they're using.

              • alt@lemmy.ml
                ·
                8 months ago

                Thanks a lot for this excellent write-up! I believe it has successfully fulfilled its purpose.

                To make myself absolutely clear: I believe that we agree on our general sentiment towards systemd; I don't like how it has almost ostracized other inits, nor do I like how ever-impactful it has become across the board so much so that even the most established DE (read: GNOME) has had hard dependencies to systemd in the past[1].

                And this is where i think you’ve contradicted yourself. IMO, the only reason opponents use it is not because it’s so great but because it’s so entrenched in whichever distro they’re using.

                Got it! I see now why you might have perceived that as a contradiction. And honestly, you might be correct! I assumed that systemd is used for how it might enable the full system AppArmor policy[2] and other features that Kicksecure has become known for. Honestly, I'm not an expert on Kicksecure myself. I just like the project and even try to import some of their systemd-related features and/or configs on my daily driver.

                Based on past readings, the idea that systemd was (ironically) still preferred on Kicksecure for security-related features stuck with me. But, honestly, it could have been my misunderstanding and instead they might have chosen to make the best out of it as not using systemd would have increased the maintenance burden tremendously.

                This conversation has opened the possibility to me that Kicksecure's maintainers might have stuck to systemd for non-security reasons. Ultimately, your contribution by addressing that point has been immense. Thank you so much for the insight and for being patient with me 😊!


                1. I believe this has since been resolved.
                2. Based on the following statement: "AppArmor can do this by loading a profile for systemd in the initramfs." found here