It's not that something like pulseaudio is bad so we can just ignore it, it's that pulseaudio is bad because because redhat funds a lot of gnome stuff gnome won't really work unless you use pulseaudio, and since you use gnome you now have to use systemd. If pulseaudio just existed in a vacuum I don't think anyone would have an issue with it. If it wasn't bundled into a giant ecosystem it wouldn't be so bad, and if the redhat contributors involved cared more about non-redhat stakeholders I don't think people would have nearly as much ire.
But honestly writing "free & gratis" software that kind of sucks, and that forces you to use other sucky software, well I'm honestly not sure it's better than nothing. If it didn't exist I think some other solution would eventually come into being, and it might very well be a better solution. Sure it might not happen as quickly, but personally I'm alright with that.
It's not charity, it's not nobility, it's just redhat building a moat around their core business.
This is, fundamentally, a gross misunderstanding or misrepresentation of the way that open source works in general, and of the way Red Hat-employed developers in particular interacted with the ecosystem.
I was in the engineering side in various positions for nearly a decade. The policy was upstream first. Open source first. If you think that the engineers at Red Hat didn't care about open source, or that anyone WANTED to invest god knows how many man hours into trying to create a sane experience from scratch, you're badly mistaken.
Pulse was optional in gnome-settings-dameon for a long time, and the primary reason it's deeply integrated now is because people LIKED IT (the horror!), since it finally solved a bunch of problems with Linux audio, and the dbus backend made stuff like "media keys work out of the box" seamless.
Similarly, GNOME has a dominant place in the market because... people liked it. It's market competition. GNOME had/has a place in Red Hat as the de-facto user experience for Fedora, and Fedora's principal role is user experience testing/feedback for the next version of RHEL, at all levels of the system, but the number of users who are gonna run Fedora without a shell is low.
Principally, a lot of Red Hat's engineers ran (and probably run) Fedora as a development workstation, though there was a fair amount of Gentoo, Arch, Slack, and others.
The only reason why there's a perception that "non-Red Hat stakeholders didn't matter" is because the vast majority of community users weren't submitting patches, and the other big vendors (SuSE, Canonical) were working on other DEs (KDE, Unity) which only shared parts. EndlessOS and other projects were GNOME because... it worked.
Pulse and systemd came into being because better solutions did not, despite a bunch of effort. I've used Linux since the 90s. ALSA was better than OSS, but it had enough thorny edges that JACK still had to be a thing (and still is, for audio engineering). Pipewire is an iterative improvement on Pulse. Audio will never be done.
OpenRC, Upstart, sysvinit, runit, and others were all terrible in various ways. The sheer existence of stuff like supervisord speaks to the existence of that. If I'm going to bet, it's always safe that whatever "booo systemd" person I'm speaking with has never actually had to maintain, troubleshoot, add features to, or otherwise work with pre-systemd init systems in any meaningful way.
Red Hat's business is consulting (or at least that's what "platform" is, discounting OpenShift, but "platform" had been stagnant in revenue for a bit, which precipitated the buyout). It is not selling Linux. It is getting paid to help companies make Linux work for them so they can save money in other places.
It is in writing features which make Linux better because some customer needs/wants it and has a bag of money, but not the in-house expertise to write it.
It is not desktop Linux, and it hasn't been since RHEL3 (or maybe before that). Any argument predicated on that is built on quicksand. Don't make a Texas sharpshooter fallacy.
You have (had) a bunch of very smart people who were very passionate about open source working in Linux every day, at a company with an "upstream-first" policy. They were actively working with/against desktop Linux user experience at airports, at home, on newer laptops, trying to get on Bluejeans calls, etc. It should not be surprising that they also saw problems and wrote solutions, which the gratis marketplace liked enough that they have widespread adoption.
You can personally dislike those technologies, but condemning their existence is just a different way of saying "I don't like open source when ideas I don't like succeed".
Because he and his orbiters were extraordinarily arrogant and condescending about their software. And let's not forget that while it's pretty good now, in the early days systemd was not very good at all. Because things like GNOME 3 decided to make systemd a hard dependency, pretty soon it became nearly impossible to avoid using the entire systemd stack even though it was nominally modular.
It's not just that he wrote $thing that someone didn't like. It's that $thing got shoved down everyone's throats at a time when $thing didn't work very well, and then when people rightfully objected, they were belittled by Poettering and his fan base.
What we really need is for people to propose alternatives to systemD that address its purported use cases while removing some of the needless complexity it introduces, and restoring the primacy of general mechanisms over hacked-together policy. This has happened with some components, e.g. elogind but not really as a comprehensive effort.
It is actually very hard to say in reality whether some other product would have been better.
The more users software has, more issues there will be. If there is ”de facto” way to play audio, all conversation focues on this ”de facto” way. It has been also kinda first of its kind in this scale. PipeWire might work well now, but they had excellent example what to not do or how to do otherwise.
Personally I'm happy with systemd these days - it has a steep learning curve but once you get how to write them and how dependency ordering works, it's just a breeze.
If there is one thing the Linux ecoysystem desperately needs if it ever wants to be a serious challenger on the desktop, it's standardization for software vendors... and slowly but surely, life gets easier, in no small part thanks to systemd.
Why does systemd need to mess with user processes and home directories? It was billed as a replacement for init.
Funny how his detractors spend more time on jokes than on shipping a better init daemon.
I also use hyperbole as a rhetoric instrument but in text seldom works.
I don't think you understand what the story was.
End of story.
People getting mad because they are "forced" to use a free software system? That's the fan-fiction from the peanut gallery.
Here's how this can be done with SystemD, it's all supported and it works: https://wiki.archlinux.org/title/Systemd#Writing_unit_files
I'm not talking about spherical cows, just basic server administration problems. Don't get me started on laptops...
At least I get to use systemd not just for reliable start up but also controlling the services that so many applications are made of nowadays. But it feels like some terrible Balkan conflict that just won't simmer down.
Now (since 2021) I use PipeWire and tbh do not know to what extent pulseaudio codebase is still utilized in my system but it all just works now.
My recollections of Linux audio issues are more from the days when one thing might want to use OSS and another ALSA and you might have to fiddle around and enable software mixing in some ALSA configuration files to get non-exclusive sound to work. And then some issues right around when Pulse first started to be a thing. But really it's been a "Just Works" for me for years and years.
Yeah, broken drivers.
You see, before pulseaudio came along, audio drivers were barely used and needed to be tuned for each use case. Most drivers barely implemented ALSA, almost none correctly. If you wanted fancy features (say; software input mixing, so that more than just one application can actually output sound) you needed to invest a lot of time.
By making all these fancy features (and more) more easily available, pulseaudio exposed all these bugs in the drivers.
And of course it got flak for that because the first software layer the user is confronted with is blamed if something's not working.
But actually - just as systemd - pulseaudio is a marvelous piece of code. That today we can get to an even higher level with PipeWire is to large degrees only possible because of pulseaudio.
Lennart Poettering is one of the most creative and influential system-space developers that Linux has. It's a shame that he's so maltreated by the peanut gallery.
Evidently it seems to work for many people, the trouble it's caused has far outweighed any benefit (plus I know quite a few people dropped firefox for chrome when it went pulseaudio only - is that still the case?).
I do remember when PulseAudio seemed to be the source of many problems, but this was over a decade ago.
One of the big problems is that the Linux audio stack is built out of components that rely on assumptions about the next lower level of the stack that are often untrue. You might assume that your audio hardware has a volume control, assume it can perform mixing, assume it doesn't change configuration, assume there's only one user, assume (or want to assume) it has a specific sample rate, etc. PulseAudio papers over this stuff and deals with permissions, so your applications can actually work.
If you have sufficiently boring PC hardware and sufficiently boring use cases, the audio will just kind of work anyway, without PulseAudio.
Linux audio has more than its fair share of problems in the stack, but in my experience, PulseAudio is more of a solver of problems and less of a source of problems.
Have fun routing audio from one stream to one device and another stream to a different device on Windows or macos!
I don't know about that. Talent alone doesn't make someone a good fit for a team. Would you want to work alongside Poettering? Or de Raadt?
I wouldn't, and that means I wouldn't hire them either.
I can think of many historical figures that fit that description.
Most recently I think I saw him comment on an issue around LoadCredential not being available in ExecPreStart
systemd-homed, systemd-nspawn as isolation, and the rest of his ideas aren't being held back because they're controversial, it's because OStree/Atomic "lost" more or less the instant Red Hat purchased CoreOS and they didn't need to build their own de-novo k8s compute distro (parts of OStree lived on in CoreOS and are there as a testbed for immutable images for trusted computing in kiosks/appliances/VDI).
systemd-homed, using systemd-nspawn for management, and the rest go directly against the investments which have been made in [fedora-]toolbox, rootless podman, and flatpak. At the time that I left (~2 years ago), "Openshift is the new platform" was the phrase of the day, which means podman "won".
Red Hat/IBM (via the container toolkit, rootless podman, etc) is/was primarily invested in a growth sector, which desktop/server Linux is/was not, and the Container Development Kit, rootless podman, and the rest are direct mechanisms to get containers sold on k8s and openshift.
Lennart's passion projects are great for Linux, and maybe better ideas than Flatpak and Snap. They don't have a business case inside Redhat, though, and there's only so long that even a principal consulting engineer can essentially spend his time on research projects.
I would guess that he wanted to put more effort into an overhaul of CoreOS/OSTree and try to "unify" it with flatpak somehow to get back to "one Linux" instead of split distros for different cases, didn't get traction, and decided to go somewhere he could work on a passion project.
https://www.phoronix.com/scan.php?page=news_item&px=Systemd-...
Ok, just kidding ;)