I think it's largely due to how the community has treated him. It's frankly disgusting.
PulseAudio mostly works, now, but I will be happy to see its low-latency successor displace it.
Systemd's only great sin is using up 100MB in each VM to do what should takevno more than 4M. As memory gets bigger, I run more VMs, so systemd usage grows apace. Maybe I should be running containers instead, but Qubes doesn't work that way.
I regularly kill PulseAudio to get bluetooth headset pairing to complete.
It doesn't excuse the community's behaviour either to be fair.
> He also has a nasty habit of forcing his work into places where it is not wanted (especially now that he works for red hat).
I seriously doubt he has such power.
The "community" cannot stop this. Either Lennart should work on how he handles such criticism/abuse, or Red Hat/IBM should hire a communications professional to insulate him from the outside world. Or he can keep the course and suffer the inevitable...
It's not right that he receives death threats, but the response to that unfortunate state of affairs needs to be realistic.
Who said "harshly", downvote anyone who insults randomly, yes.
> That won't stop it, and even if it did it still wouldn't stop 4channers with anime avatars on github from trolling him constantly.
So if 4chan doesn't stay civil then we shouldn't try to remain civil?
> There is no community solution to Lennart getting his feelings hurt.
But the community can be half of the solution, noone said it has to be a 100% one.
I'll reiterate: the notion of 'community' in this discussion is borderline meaningless and any attempt to govern it will fail for exactly that reason, and therefore any solution to the problem of SystemD developers feeling besieged that is predicated on governing the 'community' is, frankly, worthless.
Wow, are we insulting people like we're twelve now?
Again, I have to ask. Why are you not writing a replacement for systemd? Again, another person in this thread seems to think they know everything yet don't seem to have any code to show for it.
To use some analogy, imagine I, a non-cook, have been invited to a restaurant by friends. After the meal I say to the waiter "this food is way too salty!", and he replies, "Oh yeah, then go in the kitchen and replace our cook!".
What, you think we all don't have dayjobs and can just devote our time to...
1) learn to code C/C++ 2) learn about the OS 3) architect, code and debug a replacement
? Please don't be an absolutist and think "everyone can contribute to open source!", in the real world, time is finite.
Plus, isn't this the great thing about open source? If someone doesn't like systemd, they can write they're own. Of course, not one does..
> What, you think we all don't have dayjobs and can just devote our time to...
I'm only suggesting this to the people who comment online complaining how the most used implementation isn't up to their personal standards and that they know how it could be done better.
It's easy to complain and bitch online, that's the problem. Everyone seems to know the solution but no one seems to do it.
> Please be advised, I've downvoted your comments asking "if you know better, where's your code?"
Please don't comment about the voting on comments. It never does any good, and it makes boring reading.
I upvoted you because you downvoted me.
I try not to get personal so normally I'm not downvoted for that at least, just being wrong heh.
I may not know how to cook (insert complicated dish here) but I can tell if it's too salty. Users of systemd / whatever software this man wrote may not have the time to do all the stuff I mentioned, but they know using/configuring the system is a nightmare.
> It's easy to complain and bitch online, that's the problem. Everyone seems to know the solution but no one seems to do it.
I repeat, they might not know the solution, just that the software tastes bad to them. Some of these complainers might be able to come up with a better solution, if they had the 3 things I mentioned before, but sadly, apparently, no one actually does. Otherwise a replacement would already exist. Of course it's another thing to get distros to adapt it.
Their lack of time/ability doesn't mean they're forbidden to say "this thing sucks!". IMO at least.
> Wow, are we insulting people like we're twelve now?
How is that insulting? It's pretty much true. It's not really nice, but it's not really mean either.
> Why are you not writing a replacement for systemd?
There are already replacements. I use them in several places, mostly openrc. I'm perfectly allowed to grumble that something's bad and pushed into most distros. Plus, I'm generally stuck using it at work.
Next time you complain about, say, your car breaking down, I'll be sure to advise you to go build your own car.
That's the point. It's not insulting and it makes you sound like you're twelve.
> Next time you complain about, say, your car breaking down, I'll be sure to advise you to go build your own car.
No, again. I see you're struggling. When my car breaks down, I ring a mechanic or take it to the garage. I don't go to the mechanic claiming to know exactly why my car broke down and how the manufacturer should change the specification to make it so that it doesn't break again. If my car keeps breaking down, I know not to use that model of car and try something else.
What you're doing is most likely using a piece of software, finding it doesn't suit your particular use case and then going online to insult the creator, and claim that you know how it should have been engineered.
It's completely fine that you don't like systemd. The problem is that a majority of people prefer it and that's pretty obvious from the distributions picking it up.
Stop and think for a while, imagine that's you who's created the software. Do you really think he's an evil genius trying to fuck up your system or is he just a hacker doing what he loves to do?
You also say "They also didn't do a great job of modularity, and don't use dbus like they should (dbus isn't built to be used with an init system; use a socket already). Rather, they have every thing depending on another. Suddenly, everything must re-tool to work with systemd or stop working. It basically unilaterally declared itself the standard.", but don't really have anything to back it up.
For example, Arch Linux reasons for picking up systemd:
0) it is hotplug capable
1) we can know the state of the system
2) it is modular
3) it allows dbus/udev to go back to doing the task they are meant to do
4) we can reduce the number of explicit ordering dependencies between daemons
5) we get a lot of security/sandboxing features for free
6) systemd service files can be written and distributed upstream
7) systemd is a cross-distro project
8) logind will finally deliver on what consolekit was supposed to do
9) systemd is fast
https://bbs.archlinux.org/viewtopic.php?pid=1149530#p1149530Not sure why it declared itself as standard.
We weren't using that model of car. Until the mechanic, during routine maintenence[0], attemped to steal our cars and replace them with Pintos.
0: Outside the metaphore: during 'apt-get upgrade' et al.
> That's the point. It's not insulting and it makes you sound like you're twelve.
> What you're doing is most likely using a piece of software, finding it doesn't suit your particular use case and then going online to insult the creator, and claim that you know how it should have been engineered.
It's not insulting, but I'm "insulting the creator"? What exactly are you contending?
> It's completely fine that you don't like systemd. The problem is that a majority of people prefer it and that's pretty obvious from the distributions picking it up.
No, "most people" don't necessarily like it. There are things it does better, and things it does worse. How is a piece of software to improve if every one comes out of the woodwork to white-knight for it when some one criticizes it?
> [you] don't really have anything to back it up.
Dbus stands for desktop bus [0]. It's stated purposes are communicating between desktop applications and between the desktop and OS [1]. It is not built to do low-level init stuff during bootstrapping or within the init itself, hence the name Desktop bus.
I stated that systemd has ~70 binaries; I was off by one. It's 69 binaries [2]. Though, that's a 2013 source; it's taken over other things since then, so I'm sure it's more.
With respect to incompatibility: you now have to use journald. You can forward, but that's additional hassle and more potential breakage. See [3] for more.
Over all, I'd appreciate systemd if I could do one thing: remove everything but the actual init stuff. As far as I'm concerned, there are better options for most of the other stuff.
[0]: https://en.wikipedia.org/wiki/D-Bus
[1]: https://dbus.freedesktop.org/doc/dbus-tutorial.html#whatis
[2]: http://0pointer.net/blog/projects/the-biggest-myths.html
[3]: https://www.freedesktop.org/wiki/Software/systemd/Incompatib...
If you tried to insult me, but I didn't find it insulting, you would still have gone online to insult me even though I didn't find it insulting.
> No, "most people" don't necessarily like it.
False, you're not 'most people'. Every main distribution has picked it up. You're living in a bubble perhaps.
> woodwork to white-knight for it when some one criticizes it?
Oh god, now the white-knight defense? Come on, your argument starts okay and then you say absolute rubbish like this. I fail to see how calling some programmer a moron is going to help improve systemd.
> It is not built to do low-level init stuff during bootstrapping or within the init itself, hence the name Desktop bus.
It started that way, but that's no longer true. Some could argue that systemd allows dbus to go back to what it does best. Before dbus was being use to start long running daemons, etc.
> With respect to incompatibility: you now have to use journald.
Very valid reasons for this, this video[0] conviced me but perhaps you won't be swayed.
[0]: https://www.youtube.com/watch?v=o1lUeQVYuNs
Anyway, thanks for not getting personal in the comments. All the best.
I like unit files. I like having an optional watchdog for any given daemon integrated with my init. I don't particularly mind hostnamectl. I dislike resolverd but I see how some people could like it. I like having both signed binary logs and plaintext logs.
I wish the distros just made it simpler to pick and choose which systemd components we use at installation time. It would be better IMO than having to manually undo lots of integrations of parts of systemd I don't want and replacing them. So far the distro solution has seemed to be whole hog systemd or baby and bathwater, depending on the distro. Yes, we can set up our own base image and then maintain that, but should it be necessary?
I think they do a fine job. The only mandatory parts in most distros are pid1, udev, journald, logins and machined.
I have two Raspberry Pis running Debian, one of them uses connman, the other uses systemd-networkd. My desktops use NetworkManager + firewalld, and so on.
That doesn't mean other stuff couldn't have been better. Here's the problem the systemd argument: it's motte-and-bailey. Systemd is a huge collection of tools, not just an init system: it's got resolved, journald, logind, tmpfiles, bootctl, networkd, and more. However, whenever it's criticized, proponents fall back on "but it's a great init system!" I agree that the unit files are better than rc scripts in many ways. However, there's so much other baggage that comes with systemd. Many people who use systemd in serious production systems have to replace many of these parts: journald -> rsyslogd, tmpfiles -> scripts, bootctl -> grub, networkd -> networkmangaer (or other), systemd-timesyncd -> chrony. Systemd does the "PID 1" stuff fine, but isn't so good at the other stuff. The project has gotten to big for its britches, so to speak: there are ~70 total systemd binaries.
They also didn't do a great job of modularity, and don't use dbus like they should (dbus isn't built to be used with an init system; use a socket already). Rather, they have every thing depending on another. Suddenly, everything must re-tool to work with systemd or stop working. It basically unilaterally declared itself the standard.
Other stuff:
Overall, init ought not to be it's own problem of this scope. Just make a stinkin' init.Oh, and Lennart Poettering is also a jerk. Not an "I'm brash" kind of jerk (like Linus can be), but an "I'm an insecure person; don't critique my code" kind of way. Also, he thinks he's smarter than every one.