News for hackers. Stuff that matters.
Re:Gnome introducing stronger dependencies on systemd by pona-a on Wednesday June 11, 2025 @04:54AM (#44245567)
Replying to some sibling comments asking why anyone wouldn't want to use systemd.

People want to understand their software as well as it's practically possible. It's not an uncommon preference; worse-is-better was quite successful for a reason. As systemd stands, it's an unauditable mess of tightly-coupled components built to handle any conceivable need. These features create new attack vectors: for instance, systemd-machined credential passing system, which can inject arbitrary files such as keys and configs into the guest, also runs on bare metal. And some are just running a musl system that can't even use systemd.

Some might look at the old SysV init scripts through rose-tinted glasses, but I don't think it represents the current state of the community. We have the modern OpenRC with parallel startup, dependency-based initialization, supervision, network management, and cgroups; dinit, which tries to imitate the 80% of systemd features that people use with 20% of its footprint; s6 with its supervision trees; runit that just works; and GNU Shepherd, which gives you an entire Scheme interpreter to configure your system.

Monocultures are bad because they eliminate competitive pressure for good design and create single points of failure that affect everyone. systemd was an excellent addition to the ecosystem in its day, but has become uncomfortably sticky: you can't just choose to replace systemd; you'll need to reimplement udevd, logind, D-Bus activation interfaces, and now userdb, all of which have their own subtle quirks you'll need to replicate. Look to the state of mdev or elogind and you'll see why it's not a sustainable compromise.

Re:Gnome introducing stronger dependencies on systemd by probably_wrong on Wednesday June 11, 2025 @06:30AM (#44246089)
> Monocultures are bad because they eliminate competitive pressure for good design and create single points of failure that affect everyone.

For a practical example of this, the XZ backdoor [1] affected liblzma which is (was?) a dependency for libsystemd, and some distributions patched OpenSSH to include libsystemd. As a result, the decision of putting journal file compression functionality directly into your init system means that a significant portion of all Linux systems out there came this close to being backdoored.

[1] https://news.ycombinator.com/item?id=39911311

Re:Gnome introducing stronger dependencies on systemd by esseph on Wednesday June 11, 2025 @08:01AM (#44246696)
If you think that's wild you should hear about kernel vulnerabilities!
Re:Gnome introducing stronger dependencies on systemd by yjftsjthsd-h on Wednesday June 11, 2025 @12:38PM (#44249353)
Yeah, the Linux monoculture is also bad. In fact, one reason the systemd monoculture is bad is because it enforces the Linux monoculture.
Re:Gnome introducing stronger dependencies on systemd by esseph on Wednesday June 11, 2025 @03:47PM (#44251067)
What about the Windows monoculture in business?

What about the seemingly Apple monoculture on HN?

What about the OpenBSD monoculture with OpenBSD!!!!!

You know what Linux needs? Another audio stack. Be sure it's backwards compatible with all the others, just like the last dozen were.

Re:Gnome introducing stronger dependencies on systemd by Izkata on Wednesday June 11, 2025 @06:02PM (#44252317)
I remember reading PipeWire is more stable than Pulseaudio because it removed a buggy and hard-to-implement-correctly feature. So not completely backwards compatible.
Re:Gnome introducing stronger dependencies on systemd by yjftsjthsd-h on Wednesday June 11, 2025 @06:29PM (#44252515)
> What about the Windows monoculture in business?

...yes? Obviously?

> What about the seemingly Apple monoculture on HN?

I don't think that exists, but if it did then I would object to it.

> What about the OpenBSD monoculture with OpenBSD!!!!!

What would that even mean? ...Actually, no, even if I sort of pretend that the concept makes sense it's not really a thing; OpenBSD constantly exports their software to be usable on other systems (ex. OpenSSH is an OpenBSD project) and imports general unix-like software to work on it. So no, there is no OpenBSD monoculture and wouldn't be even if it was that popular.

> You know what Linux needs? Another audio stack. Be sure it's backwards compatible with all the others, just like the last dozen were.

See, the real reason that this is funny is that PipeWire is a new audio system, is mostly superior to its predecessors, and largely is successful because it is backwards compatibile. So... Yes, actually, exactly what you said but unironically and without the slightest bit of sarcasm.

Re:Gnome introducing stronger dependencies on systemd by esseph on Wednesday June 11, 2025 @11:52PM (#44254174)
If openssh isn't a monoculture this whole thing you've got falls apart.

And pipewire is fine and good? Ask a sound engineer.

Re:Gnome introducing stronger dependencies on systemd by Spivak on Thursday June 12, 2025 @09:58AM (#44257890)
This wasn't a systemd problem— this was distro maintainers doing something stupid problem. The thing the maintainers wanted to patch into OpenSSH was systemd-notify which is the way services can tell systemd that they're ready. The protocol is literally sending the string READY=1 over a file descriptor. libsystemd contains a reference implementation but it's a protocol specifically for the reason that every service isn't supposed to link to libsystemd. Maintainers thought it was easier to link in all of libsystemd (and therefore xz) into OpenSSH just for the sd_notify function.

Just link in a huge library into security critical code, what could go wrong?!

Re:Gnome introducing stronger dependencies on systemd by AlotOfReading on Thursday June 12, 2025 @05:23PM (#44263351)
You're not wrong, but look at it from a user's perspective. The documentation (https://www.freedesktop.org/software/systemd/man/latest/sd_n...) explicitly says:

    using this library should be preferred in order to avoid code duplication
Then, if you're not intimately familiar with systemd you might wonder which is more standardized and less likely change between the API and the protocol. Maybe you make the reasonable assumption that it's the API.

Then, you look at the reference code and see some reasonably nontrivial stuff that's a bit outside the maintainer's remit to add.

All of that is going to lead people in the direction of linking the library rather than reimplementing from scratch.

Re:Gnome introducing stronger dependencies on systemd by panick21_ on Thursday June 12, 2025 @08:10PM (#44264538)
Putting to much unnecessary stuff into libsystemd is something sub-optimal that they do. Its a bit lazy. But it is correct that people should link it like that.
Re:Gnome introducing stronger dependencies on systemd by Spivak on Thursday June 12, 2025 @09:35PM (#44264947)
From the horse's mouth. https://mastodon.social/@pid_eins/112202687764571433

> In the past, I have been telling anyone who wanted to listen that if all you want is sd_notify() then don't bother linking to libsystemd, since the protocol is stable and should be considered the API, not our C wrapper around it. After all, the protocol is so trivial

I'm actually surprised that they added the note about code duplication after adding the standalone implementation specifically so people won't do that.

Re:Gnome introducing stronger dependencies on systemd by blucaz on Friday June 13, 2025 @05:40PM (#44272535)
It's not even that, that whole story's main point was about how an incredibly complex, sophisticated and lengthy social engineering attack was carried out, probably by a nation-state actor, after singleing out an over-worked open source maintainer of a core project (xz) doing a thankless job and getting pressured left-and-right until he caved (no fault of his own), and they managed to install an updatable, generic backdoor that could be used to attack literally anything. The initial version was chosen to target sshd <-- libsystemd <-- xz.

The takeway that sensible people go away with is that core critical infrastructure needs to be properly funded, and people need to stop harassing open source maintainers.

Idiots instead rant about "muh systemd" and use it to attack other maintainers.

Re:Gnome introducing stronger dependencies on systemd by growse on Wednesday June 11, 2025 @08:39AM (#44246997)
> Replying to some sibling comments asking why anyone wouldn't want to use systemd.

I get why some people don't want to use systemd. That's fine.

I really don't understand why this group of people are so passionate about broadcasting this opinion to anyone within earshot. They don't like a piece of software, great! They've got different values! Use something else!

Re:Gnome introducing stronger dependencies on systemd by pona-a on Wednesday June 11, 2025 @11:29AM (#44248696)
I think you're missing the point. This is a thread about GNOME, a major desktop environment, declaring systemd-userdb as a necessary requirement for its future version, asking the non-systemd community to provide an API-compatible implementation if they want to keep using GNOME.

I personally do not use GNOME, nor am I running a non-systemd system at the moment. This is the first time I wrote a single word about systemd vs other inits on the internet, explicitly because it couldn't be more on-topic.

It's a common false compromise to say you now depend on a component but welcome alternative implementations. In reality, this quickly becomes treadmill for their maintainers, forced to adapt to its quirks so the dependent software even has a chance of working. You can read more about eudev as a more notable example of that dynamic. Projects like Wayland avoid it by having a committee of major implementations vote on proposed specs.

Re:Gnome introducing stronger dependencies on systemd by rbanffy on Wednesday June 11, 2025 @12:52PM (#44249470)
> if they want to keep using GNOME

It's fine if they don't. Other users of GNOME will want to push back on API changes and deprecation. This is normal in software.

Re:Gnome introducing stronger dependencies on systemd by const_cast on Wednesday June 11, 2025 @03:21PM (#44250864)
Well GNOME is a bit of an oddball in the Linux userland world and everyone knows it. They have a "my way or the highway" type attitude to everything they do, and all the pros and cons that come with that. On one hand, they're able to achieve a development velocity and quality that a lot of other full-featured desktop environments cannot. On the other hand, users can perceive regressions in features and choice.

I think, if this is a surprise to anyone, they're not really paying attention. If you want GNOME you go along for the ride, and that's the message we've all gotten for the past 10 years. This same conversation keeps coming back up.

Just use KDE or something else if that's not an experience you, or other's, want. Personally, I despise GNOME, so problem solved for me. But, we have these conflicting takes where people will complain about fragmentation on Linux and then also complain about monocultures like GNOME. That's the experience GNOME very clearly wants to give, so if that's bad to you, then don't use it. And, on a distro level, maintainers can decide if they want to ship GNOME or if they want to make it the default.

Re:Gnome introducing stronger dependencies on systemd by pcpuser on Wednesday June 11, 2025 @08:39AM (#44246998)
There's so much I disagree with in the beginning but the ending is what actually grinds my gears. You make it sound like systemd manufactured this monoculture somehow. This is also the point I've seen people throw in a comparison to some closed-source org with money to burn and questionable morals.

Systemd was chosen by distros and users across different communities because it solves hard problems better than the others. We can debate about why that is, but the maintainers of Systemd aren't running smear campaigns against other open source projects. Often systemd is the subject of such ire.

They chose to solve hard problems and people adopted it. It's not anything more sinister. It's definitely not an "un-auditable mess". It's written in well formatted C with structure, good tooling, and an open community. You can disagree with the ideology but that's open source for you.

Additionally and away from my point, I believe that Systemd won our because they chose to embrace some complexity to solve really hard problems. Let's not pretend that a modern "init" does only system initialisation by calling shell scripts and then disappearing.

Re:Gnome introducing stronger dependencies on systemd by gatlin on Wednesday June 11, 2025 @11:55AM (#44248959)
> good tooling

My completely oblique, binary logs disagree. It won because it solved problems companies with money needed solved. There is no indication that it succeeded on merit.

Re:Gnome introducing stronger dependencies on systemd by growse on Wednesday June 11, 2025 @12:56PM (#44249506)
I'm interested in your idea that "merit" is some sort of objective measure.

If it works for me but not for you, does it have more merit?

Re:Gnome introducing stronger dependencies on systemd by LargoLasskhyfv on Wednesday June 11, 2025 @04:31PM (#44251482)
Some anecdotical evidence of mine. I tend to kill -9 Firefox or derivatives before system, or browser updates, to reliably get my tabs and cookies (for selected sites) back, without the need for any extensions.

Usually I'm doing that from within htop, or btop++. Under systemd that is slow, the process-tree of FF takes several seconds to vanish.

That felt very wrong. I increased the update frequency of htop and btop++ to 200ms (usually they poll/actualize/redraw at 2 seconds only) to investigate.

Then I retested that with Runit/S6(6) on the same systems.

Magic! The process-tree is instantly gone! And if you only SigHup it, it instantly reappears. BAM! BAM! BAM!

This applies to all sorts of process-trees also, not only FF.

Compared to that systemd feels like a sloth.

Yes, Yes, I did that under several different distros, initially AntiX, recently "init diversity edition"(Debian derivative optimized for 'live-booting', running from RAM, in all sorts of 'Frugal' installs), some Arch-derivatives, sometimes 'riced' to the max, and default Debian, just to be sure.

Over several years. Initially on a Core-i7 640LM with only 8GB RAM, more recently on Core-i5 7500t, and Core-i7 7700t with 32GB RAM.

Verdict: systematically slo(w)thified.

Re:Gnome introducing stronger dependencies on systemd by LargoLasskhyfv on Thursday June 12, 2025 @10:46AM (#44258442)
Do you think this is any different on more modern systems? Fear not, it gets worse with more cores!1!!
Re:Gnome introducing stronger dependencies on systemd by pcpuser on Wednesday June 11, 2025 @05:52PM (#44252226)
Ths only issue that non-human readable log storage has caused is the endless nagging on forums. Literally never been an issue besides.
Re:Gnome introducing stronger dependencies on systemd by taskforcegemini on Friday June 13, 2025 @06:46AM (#44267363)
literally has, or there would be no "nagging". I have yet to experience a benefit for those binary logs
Re:Gnome introducing stronger dependencies on systemd by panick21_ on Thursday June 12, 2025 @07:58PM (#44264455)
There are pros and con with binary logs. One isn't magically better.

The tools they have for their logs are pretty good, and its incredibly easy to disable, if you do, you will never notice a difference.

Helping engineers solve technical problems is not 'success'? Its only 'success' if open source nerds use it in their basement to run on an old sun workstation? What kind of dumb logic is that?

Why do you think Linux sees so much development?

Re:Gnome introducing stronger dependencies on systemd by gatlin on Thursday June 19, 2025 @08:50AM (#44318197)
Logs that I can read are objectively better. I must assert that point because it is true.
Re:Gnome introducing stronger dependencies on systemd by msgodel on Wednesday June 11, 2025 @10:17AM (#44247895)
All of us paying attention saw how the systemd authors shopped their stuff around issue trackers and mailing lists telling everyone "it's just the way it is now." They absolutely did manufacture the situation. They pushed hard enough doing this that it's resulted in multiple large distros being forked by groups of former maintainers.
Re:Gnome introducing stronger dependencies on systemd by pcpuser on Wednesday June 11, 2025 @11:07AM (#44248460)
Care to share any evidence to back up the tall claim that systemd authors forced their code on anyone?
Re:Gnome introducing stronger dependencies on systemd by gatlin on Wednesday June 11, 2025 @11:56AM (#44248974)
The claim was "shopped around" and if you are going to change people's words do not be surprised when nobody takes your challenge. And preemptively: absence of evidence is not evidence of absence.
Re:Gnome introducing stronger dependencies on systemd by rbanffy on Wednesday June 11, 2025 @12:48PM (#44249437)
> absence of evidence is not evidence of absence

After holding up well for a long time, absence of evidence becomes a good indicator for actual evidence of absence.

Re:Gnome introducing stronger dependencies on systemd by pcpuser on Wednesday June 11, 2025 @05:43PM (#44252140)
What does "shopped around" mean? That's not a common or accepted idiom for code. Or not one I've come across anyway.

Also show me evidence of them "shopping around" code. I'll wait.

Re:Gnome introducing stronger dependencies on systemd by nixosbestos on Wednesday June 11, 2025 @10:25PM (#44253758)
Truly, don't bother. I've been watching this conversation play out for 10 years. I've watched it play out with systemd, udev, rust, Wayland.

Just ignore them. Their validation is meaningless. Their ignorance is mostly meaningless, too, for reasons that feel mean to type out.

Re:Gnome introducing stronger dependencies on systemd by justinrubek on Thursday June 12, 2025 @01:16PM (#44260204)
I'm getting the sense that both sets of parties here have a strong opinion and that this isn't a real discussion because of that.
Re:Gnome introducing stronger dependencies on systemd by nixosbestos on Wednesday June 18, 2025 @07:35PM (#44314164)
Yeah my strong opinion is that I have better hidpi support than any other platform, no tearing, ever, a better security model, the x devs have abandoned x11. They have accessibility (which I am completely sympathetic to, but is rarely the actual point) and a bunch of hand waving neck beard bullshit.

I have worked on DEs, I have committed to compositors. I know which side has more merit.

Re:Gnome introducing stronger dependencies on systemd by gatlin on Thursday June 19, 2025 @08:51AM (#44318213)
Strong opinions don't make something not a discussion. Announcing to the room how aloof you are though does make you not very aloof.
Re:Gnome introducing stronger dependencies on systemd by gatlin on Thursday June 19, 2025 @08:53AM (#44318232)
My task here was to reprimand you for arguing disingenuously, not to teach you language or do homework for you. What an appallingly entitled way to carry yourself.
Re:Gnome introducing stronger dependencies on systemd by codeguro on Friday June 13, 2025 @07:53PM (#44273260)
Re:Gnome introducing stronger dependencies on systemd by panick21_ on Thursday June 12, 2025 @07:55PM (#44264441)
Oh my god, they told other people they are developing open source software and that they like their own software. Say it aint so. Have we informed the authorities about this?
Re:Gnome introducing stronger dependencies on systemd by pona-a on Wednesday June 11, 2025 @01:13PM (#44249681)
I believe you are making assumptions about my beliefs that don't follow from what I said.

> I believe that systemd won out because they chose to embrace some complexity to solve really hard problems. Let's not pretend that a modern "init" does only system initialization by calling shell scripts and then disappearing.

I made a point to clarify I do not think SysV init scripts are a good solution for most systems Starting the services in a correct maximally parallel order is a constraint satisfaction problem, and many modern alternative init systems understand that. My personal favorite, dinit, explicitly uses the systemd model to great success, being faster than runit or OpenRC with less LoC. If someone finds that too opaque, they are free to use a more imperative init system without any obstacles.

> They chose to solve hard problems and people adopted it. It's not anything more sinister. It's definitely not an "un-auditable mess". It's written in well-formatted C with structure, good tooling, and an open community. You can disagree with the ideology but that's open source for you.

A piece of software being hard to understand doesn't imply it's because it's badly written. systemd is simply more complex as an "enterprise" piece of software. Think about it: RedHat's business is selling support contracts, so they won't risk losing a major contract by not implementing a feature their client needs, even if most won't use it. This both made it more robust and much wider in scope than other init systems, maintained mostly by hobbyist desktops.

For contrast, despite Canonical having killed Upstart in 2014, Google still feels confident enough in its security to deploy it across millions of ChromeOS devices, because it's a simple program that does one thing well, and thus no more risky than any other privileged binary.

> systemd was chosen by distros and users across different communities because it solves hard problems better than the others. We can debate about why that is, but the maintainers of Systemd aren't running smear campaigns against other open source projects. Often systemd is the subject of such ire.

I'm not ascribing any intent to systemd maintainers. But it's undeniable there exists a connection between GNOME, Freedesktop, and systemd, namely that each receive support from RedHat and share the most active RedHat contributors. When systemd releases a new feature, GNOME very soon integrates it, which FreeDesktop then uses as a justification for their new specification, which other desktops soon follow. This often lead us to fast-tracking adoption of genuinely good standards, but there is the confounding factor of funding to their general merit.

Re:Gnome introducing stronger dependencies on systemd by juped on Thursday June 12, 2025 @12:54AM (#44254415)
systemd isn't even a constraint solving system, it's highly "imperative", there's just memes floating around that think it is??? not even poettering would claim that
Re:Gnome introducing stronger dependencies on systemd by tempfile on Thursday June 12, 2025 @05:20AM (#44255597)
> You make it sound like systemd manufactured this monoculture somehow.

Where are you getting this from? I do not see it at all. The parent comment just says that it is an emergent compromise they don't think is a good one. That the code cannot be audited is also not necessarily a quality issue, either. It is just impossible to feasibly audit over 10 million lines of C. (this criticism applies equally to the kernel, although I doubt anyone would claim the kernel is less audited than systemd)

> Let's not pretend that a modern "init" does only system initialisation by calling shell scripts and then disappearing.

Nobody is pretending this. the comment you are replying to literally says "I don't think it represents the current state of the community".

Re:Gnome introducing stronger dependencies on systemd by adrian_b on Friday June 13, 2025 @03:37AM (#44266531)
What you say would be more credible if you would provide a list of those "hard problems".

I have been using Linux on many desktops, laptops, servers, including on my primary workstations, for the last 30 years. I have also managed Linux on the computers of other people who have successfully used Linux for many years, despite the fact that they did not know what "Linux" is.

During all these years, both at home and at various companies, I have never encountered any of those problems for which systemd is supposedly required.

Using systemd appears to be a matter of preference, not of necessity. However I have never seen any Linux users who could explain their preference for systemd.

Systemd is ubiquitous now because it has been chosen by the maintainers of most major Linux distributions, not because it has been chosen by any end-users. Most maintainers also have not chosen it for any personal reasons, but because the maintenance of the distribution would have become a PITA without systemd, due to the dependencies introduced by a few important packages, like GNOME, which were thought to be indispensable in any distribution.

Perhaps systemd has some advantages that I am not aware of, but with certainty the proponents of systemd suck at selling it, because they have never been able to describe those advantages. Instead of trying to convince others that systemd is technically superior, the dependencies upon systemd have been imposed by force upon all Linux users by a relatively small number of developers.

By coincidence, just these days I have begun to study elogind, which is mentioned in TFA and which is a workaround for not having a complete systemd.

Until a couple of weeks ago, I had succeeded to not use even elogind, but the last version of the Xorg server has acquired a hard dependency on systemd, so after upgrading it now I have to run this additional useless elogind daemon, to simulate the presence of systemd. I have begun to study elogind because launching it early during boot seems to have introduced some bugs in the behavior of the Linux virtual consoles. Even if I normally do not use those, I have been intrigued so I have started to investigate what elogind really does.

After these news about GNOME, I think that I will be forced to do a much more thorough study of elogind and systemd than I would have ever wanted to do, in order to write some replacements for satisfying any systemd dependencies in the applications that I am interested. I do not use GNOME, but there are useful applications that expect some GNOME services, and those may become now more dependent of systemd.

I hate that I will have to do a lot of work without any obvious useful purpose, just to keep running the same programs that previously worked fine without systemd.

Re:Gnome introducing stronger dependencies on systemd by jeroenhd on Wednesday June 11, 2025 @01:44PM (#44249990)
The end of the article details the steps necessary for people who want to run Gnome without systemd. There is a monoculture of sorts, which is that bespoke init systems aren't tested or supported by Gnome itself, but like you already need to do to get Gnome working normally, you can still patch in support for whatever system you prefer. The article even provides a list of services and APIs that you will need to hook up to Gnome to make it work.

You don't need to reimplement logind or D-Bus, but you will need to patch your mechanisms of choice into Gnome itself. Gnome isn't planning on maintaining a second copy of common system services that exist on modern systems anymore (a copy that is based on a hack in the first place). The burden of maintenance now falls on whoever wants to provide their own alternative.

All the extra work you need to do to get alternative init systems working is work the Gnome team no longer needs to do.

Re:Gnome introducing stronger dependencies on systemd by cphuntington97 on Friday June 20, 2025 @12:30PM (#44329385)
"And some are just running a musl system that can't even use systemd."

no longer…

https://catfox.life/2024/09/05/porting-systemd-to-musl-libc-...