Earlier quoted context omitted.
They're separate binaries, and can be easily unbundled. That they're part of the same project is actually a win for me, it helps to make the various components work well together. Also there is a common thread or philosophy in how things are built, making learning easier. In fact "the system is a single project" approach reminds me of the BSDs, which is arguably better than Linux as far as usability and security is c…
> They're separate binaries, and can be easily unbundled. No, they can't. The fact that they're compiled into separate binaries doesn't mean they're independent - they're completely dependent.
First of all, most of these systems are totally voluntary. You can simply not use them. And if you use them, you can replace them with other components that speak the same API if you want.
The binaries talk to each other with a message passing API and that is actually the proper way to make a replaceable component. This has been done quite a few times before for many different reasons.