-- Leo's gemini proxy

-- Connecting to gemini.sh0.xyz:1965...

-- Connected

-- Sending request

-- Meta line: 20 text/gemini

systemd killed the *nix


Saw a few good discussions about systemd, thought I'd explain my beef with it too.


systemd, a Retrospective

Re: systemd-free

Is SystemD free really for me



A little history


In the middle of last year I was applying for a new job. Found a pretty amazing new position open up at Canonical and threw my hat into the ring. Over 2 months of interviews, essays, and brain tests. Made it all the way to the last interview and turned out I just didn't have the exact expertise they were looking for. Oh well, found a job I enjoy so no big deal. Through the whole process I was expecting to get some questions on my views of technology, the ways business and teams run, etc. Finally after maybe the 5th or 6th interview I finally got the dreaded "so what do you think about systemd?"


I've been running Linux since the mid 90's. When my parents upgraded our 486 to a Pentium I got a bunch of floppies from a friend at school and installed a build of RedHat he had picked up a computer convention. Since then I've only run Windows or OSX when it was provided as a work platform, rather when it was out of my control. In college I got a degree in Computer Engineering (half CS and half Electrical Engineering). My focus was on Hardware / Software interoperability. Designing operating systems, designing CPUs, etc. My first job was building communications hardware. Some on ARM processors where I could run Linux and others where I had to create custom operating systems. From the power button to sending packets out was my bread and butter.


I ran pretty much every distro out there, but my daily driver went from RedHat to Slackware to Gentoo. Building from source, having full control and fine tuning for the crappy computers I picked up on the cheap. The options available for every service is one of the major benefits of open source software. Sometimes you want the Rolls Royce of application and sometimes all you need is the most basic feature free, Keep It Simple Stupid service. While distros often picked options for you, for a large portion of code you could still swap out preinstalled for something you need.


With that design in mind the OS was also not necessarily a hard dependency either. I have had BSD boxes of all different flavors running at work and at home. Copy my dot files over and much of what I do on my Linux laptop can be done on my FreeBSD home server. The whole POSIX, *nix, KISS development philosophy allows for that.


Why I don't like systemd


When systemd showed up there was a lot of issues being talked about. Larger attack vector since systemd takes over more than just `init`, binary logs, weird configuration, etc.For me it was when I could no longer run Gnome without having systemd installed. Sounds like a personal problem of almost no importance, I know. I switched my desktop so it wasn't a problem. My daily driver wasn't moving to systemd so again, no problem.


But I started to notice that every distro seemed to have switched over. It was quick. Within a few months there was very few systemd-free distros out there. Especially none that were of the hardened LTS type (Debians, RH, SuSe, etc). There was some effort to build systemd-free versions of some of these brands but the amount of effort to purge systemd was getting worse with every release. It got so bad that a lot of projects that really didn't need to switch over did and in doing so killed off their ability to run on a BSD. For all the shouting GNU does about not focusing on "Linux" and being able to swap out the kernel for theirs, the OS itself seemed to be less important than the `init` your system ran.


Not only could I not use Gnome on Gentoo, I couldn't use it on FreeBSD. As systemd expanded its footprint on the operating system the more individual components would become dependent. Some people joked that eventually the Kernel would have a tie into systemd but honestly at the rate it was expanding that may have come true.


My issue with systemd was not the problems others were objecting to. It was that it showed the vast majority of developers were OK with getting rid of options. They were OK with alienating other projects, and other operating systems. All for an over reaching system manager that wasn't really solving an issue. It was over engineering for the sake of over engineering. And apparently most developers were OK with that.


The aftermath


While pretty much every distro now uses systemd, it feels as if the steps required to remove it are a little easier. Gnome quickly undid their dependencies. Projects made their requirements optional. None of this hides the facts of what happened. If anything it really just drove home the point that so many in the FLOSS community wants to build their own version of something rather than contribute to existing projects. The problems systemd has "solved" could have been done by fixing current inits, xinets, user management, intra application communication, disk management, etc. Instead they created a new project to consume them all.



$ published: 2023-04-04 23:37 $

$ tags: #tech, #linux, #ramblings $


-- CC-BY-4.0 jecxjo 2023-04-04


back

-- Response ended

-- Page fetched on Tue May 21 15:41:40 2024