I still don't understand all the hate toward systemd.
I think I can break some of this down for you...
Linux has had a number of de-facto standard implementations for things through the years: (working from memory)
- For sound we had some various odds and ends, then focus started to go toward ALSA, then later we had JACK, and PulseAudio. Now it seems most major distros use PulseAudio.
And who 'spearheaded' PolypAudio - err, PulseAudio? Lennart Poettering. I was really excited about PA, until it utterly destroyed my sound for a couple of years. I couldn't make it work in Gentoo, and after about 8 months of pain, I switched to Ubuntu. That was also painful, but at least there were users there to help me transition from Gentoo and fix my audio issues. Audio was so bad, I had to switch back to Windows for anything audio related, whether it was games, audio, or video. The quality was especially bad for video capture. The kicker is I still today need to use the alsamixer to unmute channels from time to time. PA doesn't seem to have any way to do this.
- For our displays we've had the X window system for ages. Now we're starting to move toward Wayland and there's still some of the old grey/neckbeards that are simply afraid of change and digging their heels in on X.
I can understand this, too. The Wayland folks say, "The code is old and broken, we need to rewrite it." Wiser folks than I have blogged about this. Let me give you some examples of projects that foundered or died because of rewriting:
- Netscape 6.0 - released extremely late, ended up destroying the company
- MacOS 8 (Copland rewrite) - was slated as an update for System 7 - then MacOS 8 - then tossed (Apple bought NeXT instead). The MacOS 8 & 9 that were released were incremental updates to System 7
- Gnome 3
- KDE 4
- I'm sure others can think of more
In addition to that, they've deprecated useful features like X11 forwarding, and they just dusted off their hands and said, "Not my problem. That functionality should be handled by an application." It seems short-sighted to remove a working feature that a portion of people use, just because they don't believe it has value. From what I've read, adding it back in will be a non-trivial task.
Your big complaint is that it was once free-as-in-speech *and* free-as-in-beer. Tell me, how is software that you pay no money for and have access to all source code somehow not both definitions of free? Are you not still free to pick a distribution that uses sysvinit? upstart? openrc? Assuming you have the knowledge, ability, and time, couldn't you roll your own distro with all those features you want *and* pick which init system you wanted? Couldn't you get the source of systemd and rip out those things you don't like?
Sure, just like you could assemble your own car or build your own house. By yourself. Oh, and could you pay inspectors $MEGA_CURRENCY to go over it with a fine toothed comb to make sure it won't come down on your head in the middle of the night, or when explode when you flush all toilets simultaneously, or fall apart at 88 mph?
Looking at it another way, one of the biggest complaints about Linux adoption was the fragmentation across different distributions. Now Linux is starting to approach a standard for user space, which would make cross-distro development easier. Isn't that a good thing?
I agree that some standardization is a good thing. But we need not remove *all* choice. That puts us in the same boat as MS.
Also, one last note on L. P. He favors breaking compatibility with POSIX and BSD to speed development. So, if he feels that way about POSIX, the standard that makes Linux, well, Linux, who's to say he won't radically change direction again?