Even though this is not addressed at me, it is a question worthy of discussion. Perhaps, needing its own thread.
The Arch Dev you point to supplies an answer in his own words, in that thread.
followed by systemd was the best option to replace it while providing no analysis of the alternatives.
2brainz (Arch dev)
There is none. Systemd came along, we thought it was great, some of us were already involved with systemd and pushed the change. We could have done many different things, but we didn't.
2brainz (Arch dev)
About launchd: it was never considered. As I said elsewhere, systemd seemed to do what we want and we went with it.
2brainz (Arch dev)
The answer is boring: Systemd solved many problems, it was there, it worked and we already used many of its tools in our initscripts at the time. There is no specific reason why we did not use $WHATEVER over systemd.
The Arch Dev made a strong initial post, which immediately breaks down to:
- They did not actually investigate other init options.
- Systemd was available and seemed to work, so they ran with it, with no valid or real comparison made against another frame of reference.
This is extremely telling when put up against that strong initial post. It wasn't that systemd was the best; they did not bother to check. It seemed to work and they were already familiar with it, so switching to it was easier on them. Aside; that he points out several of them were already working on the systemd project, this supplies a certain bias on their part.
It's not so easy. Being a developer does not mean you are specialized in everything and systemd is very complex.
Further, Poettering and systemd devs technically made it Open source, but have failed to provide documentation on much of systemd. So grabbing the code may mean little, if you don't know what you are looking at.
Finally, systemd is like a house of cards. You cannot pull a portion out without the entirety crashing down. Forking it and trying to remove anything would be pointless. As bloated as systemd is, it relies on all of its pieces. It needs all of its bloat in order to function - and that is part of its problem.
For me, personally, I am tolerant of systemd, but I do not like it. Partly due to its slippery nature and anti-UNIX standing. There are good things about systemd and there are very bad things about systemd.
You may notice this, on this very forum, given the large amount of users with Sound Problems. And even oddball graphics problems. While systemd uses modules, it is not modular and is very, very closed off. Users on non-systemd distros lack the sound and video problems found on systemd utilizing distros.
Let's face it - most users using these machines use them for Sound and Video (Music, streaming, zoom meetings, gaming...)
You might research (heavily, it takes a lot of sifting) The Pros and Cons of Systemd:
There are definite pros. But the cons are very big and ugly.
Due to this, the factions on both sides tend to get very nasty about debating the topic. Pros and cons both get exaggerated a great deal. And explaining away the other side is far more common than Weighty Arguments with merit and reason.
That being said, there are Good, solid, Reliable alternatives to systemd like Sysvinit. And I have experimented and installed sysvinit on Zorin OS and it ran smoothly like a champ.
I had zero problems.
So while forking Systemd would be disastrous as well as pointless, there are at least good viable options for alternative init systems. Or, a person can take the easier route and use MX Linux, Antix or Devuan or many other well-assembled distros that do not use systemd (Yes, MXLinux does use systemd with a shim as well as sysvinit, but it gets my thumbs up because MX Linux actually offers something unusual these days: User Choice. The user can choose to not use either init system.)
@swarfendor437 can go into far greater detail.