wou's site                                                                  povs

¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯

ah, systemd. that bloated init daemon that tries to stuff so many functions into a single binary, right?

well... not really. systemd isn't exactly an init daemon. it's a software kit that happens to contain an init daemon with the same name. and that's because it started as an init daemon, but the goal of the project was to expand into a useful collection of services that make the system easier to manage. it's wrong to state that "pid 1 does X and Y" and present it as an open backdoor to your system. in fact, i'm not even sure if any of the daemons in systemd directly interact with each other, because i've noticed that init seems to work perfectly fine without networkd, resolved, or even the more recent homed and oomd. and all of those services seem to run perfectly fine without each other.

let's take a closer look at that suckless.org page i linked to earlier, it seems to be full of complete misconceptions and a poor understanding of how systemd works. unfortunately i am unable to link to specific sections of the site, as their html does not include section tags. so you will have to find statements that i quote yourself.

first of all, they accuse freedesktop of cloning microsoft windows. what? i don't understand what they're trying to imply with this one. what aspects of windows are freedesktop attempting to clone? the costly, proprietary nature? can't be that. the usability and friendliness of their software? of course! freedesktop sacrifices minimalism and code simplicity to be usable and simple on the user-end. if we didn't have things like freedesktop, then so many people would still be using windows simply because it's more user-friendly. freedesktop set the foundation for desktop environments and graphical gnu/linux. without it, gnu/linux would remain only in use by extremely tech-savvy people and server owners.

secondly, they link to debian's wiki page on the incorporation of systemd. that article actually has many good reasons and justifications for the use of systemd into debian. it makes the startup process insanely simple. it works without the need for shell scripts, it has a consistent and fluent unit file syntax, services can be shipped easily in packages, all while maintaining a very fast boot speed. and the article also isn't afraid to make valid criticisms, for example the low portability and compatibility with sysvinit, which i also greatly appreciate. so i'm not exactly sure why they're bringing it up like it's a negative thing.

then they go onto mentioning that systemd attempts to "force their ideals upon you", which again is a false statement. you don't have to use every service in systemd. as i mentioned earlier in this page, systemd works perfectly fine even if you disable some of the default services. some systems even disable some by default. for example, arch disables homed, networkd, resolved, and even some others, yet it still runs like a charm. gnome uses networkmanager instead of networkd, and the same goes for just about every desktop environment out there.

now we've reached the "never-ending part". i won't address every single entry here, mainly because a good chunk of these criticisms revolve around the (incorrect) idea that systemd is a single binary. but i will mention some of them.

they claim that systemd has become a UEFI bootloader because systemd now searches for and automounts the EFI system partition. amazing. they then go on to mentioning systemd-boot, which isn't even part of the init daemon.

they also claim that systemd is now overwriting sudo because a man page once said "hey, you can use machinectl to authenticate as root! isn't that pretty neat?" even though systemd doesn't have any plans to replace sudo and most distributions ship it or at least recommend it.

they then claim that "systemd locks down /etc", because a now-fixed bug in fedora resulted in /etc being mounted read-only.

part 1 has many of these false statements i was talking about earlier. they basically just claim that the init binary actually has the functionality of the other services in systemd, automatically manages them without a disable switch, and will "crash" if one of these services fails. many times in this page i have explained why that simply isn't true, so if you need a refresher, feel free to scroll backwards.

and last but certainly not least, they showcase the error that occurs when trying to shut down the system using systemd when not root. the error tells us that polkit was not provided by any unit files, which shows that polkit is not installed. if they did install it, there would be no error for them to show in the first case, because polkit allows users to reboot the machine without root privileges. however, while any arch user who successfully gets past the installation would be enlightened enough to realise the problem, in all fairness this is actually a decent point: i agree that systemd should show a more friendly message that tells us polkit is not installed. just in case.

there are a couple of reasons i didn't address some criticisms on that page. reason one is because they're closely related to or based on the logic created by other criticisms i already addressed, reason two is because there are a few decent criticisms on that page, and because i can't really link to exact sections of the page, there's no point in referring to them on this page just to say "that's a good criticism" because it would be too ambiguous.

so if most of these criticisms are actually just misinterpretations, then why do so many people have such a fierce hatred for systemd? well, my theory is that one of the goals of systemd is to replace some unix/posix specifications with new and refreshed ones that promote user-ended simplicity. and people don't seem to like changes. and that is understandable. when humans advance from one stage to another, many of us long for the past times to return, because that's what we've been used to. and when the people who are still not getting used to the updated standards start seeing that everyone around them is happy with these changes, they start feeling like they've been cheated, and they revolt. they start clinging to arguments and excuses without really reviewing them. all they know is that it's an argument against something they despise, and they go with it. i feel that is what's happening with this site and the rest of the anti-systemd circlejerk.

as a final note in this page, don't send hate or try to grab the attention of suckless with my page, because it's just unneeded. while they did use misconceptions to promote the idea that another innocent man's software is a "disease" (which is slightly vile in a way), let's not retaliate. who knows, maybe they'll become more open to the idea of systemd in the future. :)