Anti Leonard Poettering petition: Stop writing useless linux programs.
change.org
change.org
I guess this is mainly caused by the failure of Linux as a commercial desktop. Except for heroic efforts by Red Hat, SUSE, and previously Sun, it's mostly a hobbyist affair. As a hobby, people prefer to do the fun work, not the tedious and boring maintenance, bugfixing, and polishing.
The quality of Linux as a desktop operating system is in stark contrast with Linux as a server operating system. Thanks to the enormous amount of money invested in server-related components, Linux as a server is generally very polished and reliable.
On a personal note, the effort required to maintain a stable Linux desktop made me switch to OS X in 2007, after using Linux for 13 years.
Lennart Poettering is a Red Hat employee.
I remember it was complicated in 2002. In 2007 it was already at the "mostly works" stage.
I've also been a Mac user since the late 90's and I have a very solid experience with OSX since 10.2. It's not as flexible as Linux or FreeBSD, but, for a consumer-grade experience, it's excellent. I find the hardware choices somewhat limiting, but that's me. For work, I prefer Linux for its flexibility and, like I said before, I can't remember the last time my machine stopped working.
Then real-life started (internships, thesis writing, a day job), and the few hours per day that are left, you'd rather spend with loved ones, sports, and interesting projects. And then you suddenly realize that you'd rather have "works" than "mostly works".
YMMV
To each his own. For me it's much better than Windows and GNOME attempting to copy OSX features has made it much worse. I'm not certainly not switching to OSX ever.
Then, there are social factors. A vocal minority of the Linux community is outright hostile towards proprietary software or even towards any form of capitalism. It is not a very attractive market to operate in - one misstep, and elaborate PR campaigns are set up.
How did they do that, how?!
That is exactly why GNU/Linux on the desktop isnt used by more people.
Why would a hardware vendor make a deal which said vendor can only use this software on the hardware they make but not other?
The Findings of Fact in the United States Microsoft antitrust case established that "One of the ways Microsoft combats piracy is by advising OEMs that they will be charged a higher price for Windows unless they drastically limit the number of PCs that they sell without an operating system pre-installed. In 1998, all major OEMs agreed to this restriction."[30] This has been called the "Windows tax" or "Microsoft tax".[31][32]
Invested same amount of time and effort, still have only horrible memories of pulseaudio. I shiver anytime I see puslea. Argh.arhgh.why,.asdhj as.
I did the exact same thing (except in early 2008 - been using Linux since 1995), for the exact same reasons. A Kubuntu upgrade breaking my mouse config was the last straw.
dbus is awesome. Best bus we have.
systemd is really nice and useful, overall a better upstart. The reason it's not a patch for upstart or sysinit is that their designs preclude certain features that systemd provides.
I don't know about pulseaudio, and I'm not sold on Journal.
`init` already exists to kick things off properly - now init just runs systemd which then kicks things off, for no appreciable gain.
And have you seen proper systemd integration? I installed Fedora lately, and man, that boots fast. Fedora solves so many things in a sane way that Ubuntu has been struggling since years. usplash, xsplash, splashy? Fedora has FDO's plymouth. Guess what, it works. SYS V init, the stupid Arch init, ubuntus upstart? Fedora has FDO's systemd, and it's faster than any of those.
It still seems like it's optimizing for the wrong thing for the vast majority of linux users. The # of linux servers, which don't care about boot time (or where software init is a very tiny part of boot time anyway) is way larger than the number of people using it as a desktop. Boot time isn't the thing that's keeping linux off the desktop.
Rewriting scripts and rolling them into a C daemon defeats the whole point of scripts in the first place - the administrator of the system can't make quick changes or easily troubleshoot things (or, optionally, selectively enable/disable small sections of initialization). It's also a large amount of new work for folks busy fixing actual broken or buggy parts of their software.
Lennart complains that the starting PID on his linux desktop is too high, because init scripts call 'grep', 'awk', etc. - and that developers should rewrite all of that into their own startup daemons. It seems like he's complaining about the 'UNIX way' of small, text-oriented tools each doing one job and piping the results between them for flexibility and power for the the system administrator. Moving all of that into a C-based daemon, hiding it entirely from the administrator (short of a unsupported-by-your-contract recompile and source mod) doesn't seem like a net win for me, especially for a few seconds saved two or three times a year.
Most scary is the way he wants to handle socket based services - it's already the source of one remote DOS against a machine running systemd: https://bugzilla.redhat.com/show_bug.cgi?id=739538
This is about servers, and better ways to manage the services on them. A service shouldn't need to daemonize itself, and monitor it's own process via shell scripts and PID files. Having infrastructure to run services (as apposed to just starting them), monitor them, and resolve dependencies between them is a huge step forward.
(I also don't agree with the handling of socket-based service in systemd, but it's an experiment, and maybe I'm wrong, so its worth a try).
Well, kinda. But I think this is somehow a weird point to take, considering that much other software is indeed written in C and noone complains about that (grep, awk). It is just that the bootscripts were scripts for a long time, but I think this does not mean that that it is an undefiable law. Plus, it is still open source, so if you want to change samething, just remcompile. As you would do with any other software.
And indeed, the "lower" level it gets, the lower level languages I'd accept there. Kernel in C, Bootscripts in Vala, and the desktop in JavaScript or Python, sounds quite reasonable to me.
And the socket based services are one interesting element. Whether it is a good solution time will tell, but I can't remember anyone trying this before and I applaud people to think in new ways. Yes, a DOS is not nice, I admit, but maybe we should give it a chance? Consider that systemd is still pretty new.
It saddens me sometimes that people dismiss ideas, just because they are different to what is now. One consideeable advantage that I see in systemd that it tries to be a solution for the majority of Linux distributions. I hate all the custom rolled init systems, I hate all that custom rolled network interface configuration, I will it all went away.
One single init adopted init system also means potentially more people fixing one single service file, so you don't have to. Instead of someone fixing just the Debian one, he also fixes it upstream so it can migrate to other systems.
NO, systemd in an init replacement. Yes, init may get the job done, but it can be done so much better. Solaris dropped init years ago, but unfortunately licencing prevented their implementation from being ported to Linux distributions.
Upstart (by Canonical/Ubuntu) was the first major attempt in Linux, and has been running services in Ubuntu and Fedora for a few releases now. Lennart saw that upstart may not have gone far enough, and started his own implementation. Systemd may not be the panacea we want, but the it is on the right track for innovation, which we need.
For what it's worth, 4 years on I still struggle daily with audio and only audio on Linux. I'm not in a position to tell if it's ALSA or PulseAudio that makes nothing come out unless I plug/unplug, mute/unmute in the correct order everytime I come back from suspend/open a different app/want to use headphones. But I didn't have these problems before Fedora 8 when I was using ESD ;)
And just recently I've resorted to manually starting couchdb in a console instead of using the init scripts on fedora because after upgrading to 15 they do some bad things to file permissions. Is it the distributors fault or is it systemd? Correlation does not imply causation?
I thought thats the point of pulseaudio and really wanted to try it.
How can I say... it FAILS at even that! I got it working with ssh and mpd faster than... oh dont make remember.
AFAIK (but I wasn't using linux at the time) the point of pulseaudio was that it was very easy for an application to lock your audio exclusively with ALSA or OSS (and still is unless ALSA is properly configured) and there were several competing "sound daemon" trying to solve this problem. Pulse audio was supposed to be the one true sound daemon, emulating everything else under the sun. Then it got sound mixing and networked audio bolted on because Poettering is the master of the kitchen sink.
_________
1: Fedora is known to ship with lots of experimental software/wide-scale changes. Its users expect breakage/major innovations from time to time.
I have this darwinian vision of the software world where it's extremely positive to experiment with new stuff. Only time will tell which things surpass the test of time.
Attacking someone publicly this way just because he doesn't contribute to your¹ favorite project is, in my opinion, a sick thing to do.
______
1: Not addressing you in particular.
But thanks a lot for that link. It was amusing _and_ interesting.
There were indeed good reasons for writing things like DBus, systemd, PulseAudio and others.
I'm sure he's just the most visible advocate of this approach, not the only one, but he's certainly responsible for a lot of the misery Linux desktop users like me were and are subjected to. After a decade of Linux on my desktop, I've switched back to Windows 7 in early 2011 and, to be honest, I'm quite happy I did.
Yes, because Windows 7 and OS X already have all this modern non-70s-stuff that Lennart is trying to bring to Linux.
Edit: it's quite astonishing how such a wide ecosystem of developers continues to misunderstand how you build successful developer ecosystems.
If you ask for possible reasons to attack Lennart in the first place: He was the main force behind Pulseaudio (which, for various technical and political reasons was reviled for a long time) and now systemd (a C replacement for the sys-v scripts, think smf/launchd).
Besides, looking at how things go in that area, now that it works well enough it will probably be replaced quite soon.
I would guess the last one was the impetus for this petition.
This petition seems childish.
Plus, you can do a dry-run with a limited number of machines and you can select a distribution which seldom changes (Gentoo switched to baselayout2 after.. years, Slackware still has tarballs as packages). Unlikely that they will push radical changes soon.
I replaced the BSD-like init system in Arch, because it is buggy. And I can dual-boot init-systems now.
Lennart's not even planning on documenting the format.