I should have written 'rationale' ^^^^^^^^
Its not a point for or against systemd.
Back when UNIX was a mere pup and 60MB was still a big disk there was a clear split:
- /bin and /sbin were on the boot disk and contained the executables needed to boot the system: they all had to be on the boot disk or Unix would not boot
- the remainder of a system of any size was spread over one or more additional disks which were mounted once the kernel and essential daemons were up and running. This included the compilers, applications and utilities which were never needed during the boot and, because /usr was often on a separate disk, they were held in /usr/bin and /usr/sbin
I realise a lot of you know all this, but its worth restating it to make the reason for having both /bin and /usr/bin as well as /sbin and /usr/ sbin crystal clear.
However, when we got to the point of thinking that even a 1GB disk was ridiculously small, a number of developers seem to have forgotten the reasons behind the /bin /usr/bin split or, indeed, have never known there was a reason. So they randomly splattered their new masterpieces into either directory regardless of whether they were needed at boot time or not. That has now gone on for so long that rationalising it now would be almost impossible. Current disk sizes also mean that we simply don't need the split now and its only there as a nod to tradition: if you look carefully, you'll see that some current distros (Fedora for one) now put all executables in /usr/bin and make /bin a symlink to it.
My point is that this mess existed before systemd came along and could do with cleaning up.
The only split that really matters is the one between /bin or /usr/bin and /usr/local/bin - this remains really useful because it makes a clear and maintainable distinction between executables that are part of the distro and so are liable to be upgraded/replaced/removed at any time for reasons outside the control of the sysadmin. These are in /bin and /usr/ bin
OTOH locally developed executables, or those in distro-agnostic packages, should live in /usr/local/bin to keep them safe from being interfered with by distro upgrades and reinstalls.
Same goes for the split between /usr/lib and /usr/local/lib
You're blaming the wrong person.
The culprits here are all those developers who didn't understand reason for the /bin /usr/bin split and completely FUBARed it out of sheer ignorance. The best we can do now is clean house by getting rid of either /bin or /usr/bin.
More scripts etc have hard-coded references to /usr/bin than to /bin, so IMHO /bin should get the chop.