systemd Lands Experimental Support For musl libc

Systemd today finally merged support for building against and using the musl libc library. This is a win for Linux distributions like postmarketOS, Alpine Linux, and others that use musl by default as their standard C library or offer it as an option...
https://www.phoronix.com/news/systemd-musl-libc

@phoronix It really is a double-edged sword.

A win, because generally speaking, better interoperability is good, and making software more portable is good, and if it can improve systemd, the world will be better for it.

A win, because getting to that point proves that musl is finally, at last, being taken seriously by one of the most reluctant players in the ecosystem, so it's a sign that musl is a real, believable alternative now, and it will push more people and projects to try it out.

But also a danger, because it now means that systemd actually sees musl systems as targets. Systems that opted for musl were safe from systemd so far; maintainers were not tempted to switch to it because it was not a technically sound proposition. Now that systemd officially supports musl, no distribution is safe, and the survival of the non-systemd ecosystem now only depends on the technical judgment of distribution maintainers. Which has been subverted before, as Debian has painfully and dishonorably shown.

I would like to say I am cautiously optimistic. But I am actually terrified.

@ska @phoronix

> were safe from systemd so far

systemd is not a disease, i never understood why people act like it is.

if you own your computer, you're still super flexible on what you use as a system manager, and it just gives people the *option* to use systemd on musl systems if they want to.

nobody ever wants to force people to use systemd, but we (and I) want people to accept that it is a viable option.

@fossdd @phoronix If you don't think systemd is a disease, then you haven't tried making it coexist with other, more traditional Unix software. You haven't tried supporting several service managers on the same machine, one of them being systemd.

systemd wants to control everything on the system. It works by exhaustivity, the different parts of it interacting with each other via interfaces that are specific to systemd, and replacing one of these parts is extremely difficult for a traditional tool because it has to implement all the systemd-specific stuff, which is often complex and embeds the systemd vision of the machine.

systemd is not collaborative in the bazaar sense, it is purposefully hermetic, and once you opt in, it's impossible to opt out.

If you don't believe me, install Ubuntu 16.04, the only successful attempt that I know of mixing (an early version of) systemd, essentially the init and service manager, with sysvinit. It works, but it is extremely convoluted and hackish; the hacks are brilliant, but making two systems interchangeable should never be that difficult. And that is not me saying that, but Serge E. Hallyn, the author of the whole construct.

Since then, systemd has only become more comprehensive, more complex, and more controlling. An equivalent attempt would just be doomed to failure.

systemd is not a partner for peaceful coexistence, and the sooner people realize that, the better off they will be.

@ska @fossdd @phoronix i have to deal with software written in the UNIXy tradition on daily basis, some written by people who schizodump about redhat ibm systemd conspiracy.

I miss systemd.

And it is not because systemd is all great and stuff, but contrary to traditional UNIX stuff it is not unholy mess.

@erindesu @fossdd @phoronix "unholy mess" is subjective appreciation, and you have the right to like systemd better than traditional Unix for any reason or no reason at all, but this does not invalidate my points, which are factual.
@ska @fossdd @phoronix show me the proofs, then.

@erindesu @fossdd @phoronix I have done that every single time I speak up about systemd, everything I say is verifiable. And the issue with most systemd advocates is that no proof is ever good enough. Since a liking for systemd is not based in rationality, no rational argument can convince them, so, it is just an exercise in futility, and these discussions exhaust me.

If you are really, in good faith, interested by concrete examples of hegemony-enforcing behavior of systemd, come hang out in #s6 on oftc.net, from time to time we dive into the way systemd does one thing or another; we try to analyze it, in order to keep the good parts; and most of the time it reveals some attempt to exert control. But that's as far as I will carry the burden of proof.

@ska “Since a liking for systemd is not based in rationality…”

Dude. This kind of ad hominem is extremely unhelpful for getting people to take you seriously.

@erindesu @fossdd @phoronix

@krans This isn't what an ad hominem is.
What you are doing, however, is called concern trolling, and is, as I previously mentioned, exhausting.

@ska I'm exhausted — at continuously being attacked for choosing to use an init system on my machines that an idiot like me *can actually get things done with*.

I'm not “concern trolling”. You are insulting me.

@krans You are not continuously being attacked. You are free to use the init system of your choice and I will never go bother you about it (except to ask you what you like in it). Here, you chose to read a discussion that involves criticism of systemd: of course you are going to read things that you don't like! What did you expect?

Please note that all the criticism I have is directed at designers and developers, not users. I'm a dev and I talk about what it's like to interact with systemd as a dev. This is different from a user's experience - users indeed interact with the best aspects of systemd without having to deal with the more gnarly aspects. systemd is good at looking good.

I'm glad you can get things done with it. I am sorry that you do not feel like you can do the same with other init systems, and one of my goals is to create an ecosystem where you do (and that is better than systemd on the inside).

@ska I started reading a thread about musl support in systemd and carried on reading. My fault, I guess.

On the other hand, one can never know who might be reading posts.