I dislike this article for the ad-hominem attack alone. It would have been just as easy to get the point across by dubbing it “the systemd-ization of GNU/Linux”.
If the author really wished for more competent developers to spend their time on GNU/Linux, I recommend they don’t attack individual developers, regardless of their opinion :).
It's not just SystemD though. PulseAudio displays exactly the same properties. I think if anything OSS participants are too conflict-averse, too unwilling to identify specific individuals as being the problem (I'm thinking of the sorry scalaz CoC saga, where the whole thing could've been avoided if anyone (and I'm as much to blame as anyone else) had been willing to stand up and say that Tony Morris in particular was causing a problem).
But these days, PulseAudio just works. No one has come up with a good alternative. Especially not one with the same features and level of integration. Couldn't it be that audio is just not that easy to get right, and Pulse is taking the flak because it's working on an impossible problem no one else works on? Like there hasn't really been any improvement in sysvinit in the last two decades?
I'm also not happy with the "those who actually use the software" in the article. I use systemd. I love systemd. It's been rock solid for my servers and desktops, its easier to use than sysvinit and it has features that I love that other systems don't have.
Also I disagree with the "unaccountable cliques of developers" thing. All important distros have independently decided to go with systemd. The people creating the distros and making that decision are the people that have to work with systemd most, and most directly. They are the experts. Compared to them, the author of the article is not.
TL;DR: My audio works out of the box now thanks in part to Lennart Poettering, so what are you talking about.
> But these days, PulseAudio just works. No one has come up with a good alternative. Especially not one with the same features and level of integration.
Jack was fine. OSS was fine once it got software mixing support. I can see that hotplugging a different device might be useful for some people but IME it causes more problems than it solves (particularly when you get surprisingly loud playback on something you've just plugged in, or conversely if plugging in your headset turns off your speakers).
> Like there hasn't really been any improvement in sysvinit in the last two decades?
There were plenty of innovative experiments (runit, nosh, ...), it's just because they played nice and didn't get software to become that-init-system-only no-one was forced to adopt them. It's (maybe) a failure of distribution politics that no distribution was willing to go beyond sysvinit (just as many distributions still ship basic cron or syslog implementations, or default to sendmail rather than much better modern alternatives). But forcing it in the underhanded way systemd did can't be the answer.
> Also I disagree with the "unaccountable cliques of developers" thing. All important distros have independently decided to go with systemd.
It's not exactly independent. The distros were strong-armed into doing so by gnome (which made systemd a hard dependency), which in turn is controlled by redhat.
> TL;DR: My audio works out of the box now thanks in part to Lennart Poettering, so what are you talking about.
Pottering broke my audio and my boot (twice). I want him to stop breaking my computer.
On a larger scale I fear he may have permanently sabotaged GNU/kFreeBSD and operating system innovation in general. If Pottering had been around in the days of GNU it would have been impossible to swap in Linux, so we'd've been stuck waiting for the HURD.
> I was part of a group who campaigned relentlessly for years to oust these vermin
So someone who holds a different view from you on the future direction for Linux are "vermin"? Sounds like the rantings of a certain someone with the initials A.H.
Supporting a different direction is one thing. Making a deliberately incompatible API and refusing portability patches so as to force adoption of your preferred direction is quite another.
Systemd has undeniably brought some good things to Linux. It's much faster and less buggy than the mess SysV init was.
But the monolithic design is probably a hefty price to pay. However, systemd units definitions are declarative, so it's doable to replace it with something else while keeping compatibility.
The scary thing is Poettering's new aim, package managers which are at the core of what makes Linux good.
Take your pick. Most of them likely predate systemd by up to a decade.
Never mind that a lot of the "mess" of sysv could have been avoided by punting the boilerplate into its own script file that the various services files could import.
Recently i find myself wondering if RH have some kind of inferiority complex vis a vis Solaris. After all, the latter was a "true" descendant of the one true Unix...
I'm sympathetic to the sentiment that trying to acquire market share has caused Linux to forget its roots and end up in a sort of uncanny valley. However it's important to understand the forces that led to it so that we can do better in future.
Amassing a large user-base is a highly misguided aspiration for a purely academic field like Free Software. It really only makes sense if you're a commercial enterprise trying to make as much money as possible. The concept of "market share" is meaningless for something that's free (in the commercial sense).
It took me _years_ to internalize the importance of status in human relationships. Even if no money exchanges hands, much of human endeavor is motivated by the gain of status.
We hackers have this strange blind spot: we pride ourselves on focusing on only what is real, but we forget that 'real' money is just a social construct, a reified form of status. It's utterly blind to focus on this one form and ignore the real thing.
Open source software is just geopolitics by other means.
Since when has free software been a "purely academic field"? Or for that matter "non-commercial"?
The whole point of the free software movement is to ensure that users have liberty. That's not something that can be done from academia, it can only happen in the field.
As for non-commercial, did the OP forget to read the zeroth freedom? The freedom to run the program as you wish, for any purpose - that includes commercially.
Hell, the FSF says as much:
> “Free software” does not mean “noncommercial”. A free program must be available for commercial use, commercial development, and commercial distribution. Commercial development of free software is no longer unusual; such free commercial software is very important. You may have paid money to get copies of free software, or you may have obtained copies at no charge. But regardless of how you got your copies, you always have the freedom to copy and change the software, even to sell copies.
"The long litany of examples includes Ubuntu Unity, Gnome Shell, KDE 4, the /usr partition, SELinux, PolicyKit, Systemd, udev and PulseAudio, to name a few."
Add to that systemd's ambition to take the place of package managers now.[0]
Really, I've come to the conclusion that the major Linux distros are no longer Linux distros. They're systemd distros.
Anyone who wants to continue to use a traditional Linux distro (or even a traditional unix) is better off looking elsewhere.
The depressing part about all this is that, at the end of the day, fewer and fewer things are working.
The first Linux version I used "full time" was Red Hat 7 (no no, I haven't forgotten the "EL" part in it). Getting stuff to work back then was an exercise of relentlessness. It took me about two days of fiddling with crap to make it boot and start X. After that it was more or less OK, though in Y2K terms -- there were a lot of things it couldn't do, updates were relatively infrequent and so on.
The current state is, surprisingly enough, not much better -- and it's extremely annoying, because ten years ago or so, it was! One could install Fedora Core 3, 4 or 5 and it pretty much worked out of the box.
Nowadays, my latest efforts of installing Fedora involved:
- Fixing the partition scheme (it somehow managed to mess up the EFI partition map, and I was literally booting to a black screen -- not even Grub showed up)
- Figuring out why PulseAudio randomly decides that my default audio output is HDMI (I haven't figured this out yet, and it makes it rather unpleasant to, say, watch a movie; I wrote a bash script that resets it to audio out and called it a day)
- Reverting to good ole' pm-suspend, because trying to make my system suspend from Gnome requires an extension that sometimes doesn't work (the button disappears) and doing it via systemd (systemd-sleep) crashes my system.
All of these are basically undebuggable, because those systems are veritable black boxes. There's no real way to figure out why PulseAudio switches its default output mid-song, no way to figure out what the fuck is happening with the "Suspend" button works, and logging systemd-sleep's actions seems to be broken (there's no trace of it in journald's output).
I'd love to send a bug report, but frankly I don't even know where to begin tracing the problem, and even if I did, given how they've treated these reports in the past, I doubt the PulseAudio, Gnome or systemd developers care about anything that happens on other people's systems.
On Red Hat 7, the desktop used to be a mess because there were like 7 useful toolkits in existence (Qt, GTK, Athena, Motif, Tk, wxWindows, FOX) and there was no way to unify their looks.
Ten years ago, this was no longer a problem (due to e.g. QtCurve).
Nowadays, it's a problem again. Even the QtCurve guys gave up on Gtk3. Ironically, Gtk3 rocks -- it's a great toolkit with probably the best theming engine around, but it's strangled by the toxic atmosphere around the Gnome project and people are either sticking with Gtk2 (e.g. Audacious) or switching to Qt instead.
I find myself using KDE applications because at least they don't assume everything is a tablet now (see Rhythmbox's silly slidable menus and the toolbar-thats-also-a-titlebar because hey, I know, let's save space that way instead of by not creating themes with a 48px-thick titlebar!) and they can do more than just look pretty. But they're buggy as hell (e.g. Amarok manages to misread id3 tags, Kmail corrupts its own files and so on). I found myself going back to frickin' mutt like it's 1997 again, just because every single other thing crashes (hi, Evolution!) or breaks the mailboxes (except, I guess, for Thunderbird, but we never really got along). I have an encrypted partition which I mount manually, because at one point Dolphin suddenly stopped asking me for the root password before trying to mount it. I have no idea why -- I didn't change any setting! -- I have no idea what to do in order to get it back, and it took me like two hours to understand what's happening, because all KDE said was that it couldn't mount the disk, without any indication as to why (wrong password? Corrupted partition header? Wrong phase of the moon? I had to strace Dolphin to figure it out). I moved to using WindowMaker in the meantime because Plasma periodically "forgets" its widget's settings (e.g. the number of rows and columns in the pager).
I'm running Emacs compiled with the Athena widgets. Not because I like it, but the GTK3 version has a weird bug where holding the mouse button down in the window and dragging (e.g. to select a region of text) moves the whole window instead. Basically, I can't select text with the mouse. I don't know if it's actually a bug in Emacs, but frankly, given GTK's recent history, I doubt it.
And don't even get me started on all that xdg mess, which basically results in every other application on my system thinking that I want to open JPEGs with something else (e.g. Thunderbird actually think I want to open JPEG pictures with Wine's Internet Explorer. I had to manually set it to Gwenview, despite the fact that querying xdg via the CLI also says Gwenview should be opening those things).
It doesn't work anymore. And not because of design flaws. Systemd not following the Unix philosophy or some other esoteric crap like that has nothing to do with this. OpenVMS also didn't follow the Unix philosophy and it worked better than Linux ever has. It doesn't work because:
* People worship philosophy above all else. There was an infamous bug report regarding the volume control slider in Gnome (or PulseAudio's applet? I don't remember right now), I think, that was almost tragicomic: users complained that the default step setting was too high for their speakers (they had high-power audio systems, where you have to increase the volume slowly in order to not get a heart attack or physically destroy your speakers) and asked for a feature that allowed them to set that step to be added back. Developers insisted that wasn't a bug -- it was a feature, because users might find that confusing, and besides, it worked fine on their systems. Apparently, having a high-power audio system is a bug nowadays.
* People add features, because that's nice and shiny, but no one wants to fix bugs. It's unglamorous and icky. I know. That's programming, people.
* People don't test their code. E.g. Dolphin still doesn't properly apply icon settings theme in KDE 4.14. It's extremely obvious. There's no way you can miss that.
* Not playing nice with the community is treated as irrelevant by teams that have a good corporate backing -- because, at the end of the day, developers are responsible to their employers, not the community. That's how systemd or Gnome got their reputation of being "Red Hat's". What's worse, contributions from these companies often get entirely unfiltered, because they're hiring the maintainers or large parts of the development team. They dump a pile of bad, unportable, barely readable code and the development team either doesn't have the uncommitted manpower to say no, or they can't review and improve the code because the contributing company isn't accepting patches.
At this point I'm seriously contemplating the possibility of getting a Mac just to get away from all this bullshit. I'm so frickin' tired of troubleshooting crashes everywhere and in finding refuge in applications I haven't used since 1280x1024 was high resolution. My desktop looks like it's 2001 again, all because of development teams not being able to say no to bad contributions and because of people treating their code as if it were an appendix of their egos.
In essence, systemd is the tip of the "UX designer" iceberg that has lodged itself in Linux in recent years.
Meaning that people involved with Gnome and Freedesktop related projects are cock sure that they know better than the person before the keyboard how to run the system.
Or perhaps it is a rerun of the old admin vs developer duel. Where the admin knows it will not work because he has seen it fail time and again, but the developer insists it will work because thats what his carefully optimized code is supposed to.
Meaning that admins are dealing with everyday reality, while developers are contemplating platonic ideals.
When most people see the strip above, they laugh at the crazy user. What i see is someone who has found a way to work his computer that fits him, and a developer that has taken that away.
The most accommodating action the developer could take at this stage would be to implement a timer that approximate the old behavior. But if he was a Gnome/Freedesktop school dev, he would likely make a snarky comment about "holding it wrong" and close the report wontfix.
> Where the admin knows it will not work because he has seen it fail time and again, but the developer insists it will work because thats what his carefully optimized code is supposed to.
Dude, I'm offended :-). Not all programmers build castles in the sky.
But seriously, I tend to concur with this view. I've seen many programmers unwilling to accept the limits of their own ability to grasp the full scale of reality. I've seen it in myself countless times, and I still do it, sadly. Complexity is very often overwhelming, and you think you have it under control because "you designed it", but you don't.
I think we'd all benefit from insulting the meat [1] every once in a while. Twenty years from now, there's a good chance there won't even be computers that can run our code anymore, except maybe for prized collectors' items. Why be so stubborn about it?
Does seem like the gnome folks value their purity over any kind of usability.
A very popular feature with gnome + thunderbird for awhile was that new email would trigger a desktop notification. Mentioning a snippet of subject and body of the email.
If you thought it was interesting you could click on it and it would open that email in the main window. Handy if you get lots of email and filter heavily, it might be in any of 100s of folders.
Then they decided that notifications should be read only, so now when you mouse over it it goes transparent. There's no way to figure out what email that was, so it just taunts you, then disappears.
As if a notification you can click on would hurt anyone.
If the author really wished for more competent developers to spend their time on GNU/Linux, I recommend they don’t attack individual developers, regardless of their opinion :).