Re: Might As Well Use Windows @bazza
You will actually find me arguing both sides here.
It would, IMHO, be possible to have a Posix compliant system with Systemd. Systemd does not (as far as I understand it) change the areas that Posix standardizes, the system call layer, the general libraries or the command set that people use to interact with the system.
If you look at the Posix (and the UnixXX standards maintained by The Open Group), I don't think you'll find the init system documented, although you may find some referenced to inittab and maybe an interface to change the run level. In fact, if you read the "Base Definitions" of the standard, "System configuration and resource availability" is explicitly listed as being outside of that specified by Posix.
And services like name resolution and DNS, filesystem mounting, and many of the other things that Systemd is taking over are also not covered by Posix beyond the library API that systemd does not touch. There are acknowledged ways of doing things, inherited from System V, BSD, and as cross pollination from proprietary UNIXes, but these are defacto standards, not by defined standard.
But that's largely irrelevant, as Linux is not a fully Posix compliant operating system, and apart from a brief flurry of interest a couple of decades ago, never was (I believe there was a minor distro that claimed to be able to pass the Posix verification suite, but I can't remember it's name.)
Probably as much was changed with the inclusion of the sys and proc pseudo filesystems, and udev. Each of these moved away from tradditional Posix and UNIX, but they did it in a good and useful way (and you may say that /proc and /sys actually are in keeping with the UNIX "everything as a file" tenet).
Many of what are still classed as UNIXtm systems like the one I know best, IBM's AIX added things on top of basic Posix, things like the ODM configuration database, the device configuration manager, the System Management tool SMIT, the jfs and jfs2 filesystems, and none of these broke Posix compliance.
But Systemd just goes too far in my opinion, does not follow many of the UNIX ways of doing things like "do one thing and do it well", and is just too opaque to be considered helpful. Although there is complexity in UNIX and Linux, most of it can be worked out by investigation and with the available documentation. I do not feel the same is true in the confusing morass of documentation of different versions, how-tos, and FAQs that spread across the Internet for Systemd, and even what is there is mainly how to configure it rather than how it works. And it is constantly evolving as maintainers spread it's area of control, making it difficult to follow.