It says a lot that "systemd vs init.d" instead of "systemd vs sysvinit" was there.
The question is not about the ecosystem, though, but about the kernel itself. Yes, there are embedded vendors (mostly networking equipment, and especially routers) who violate the GPL by not complying, but generally speaking, hardware vendors who choose Linux publish sources.
Those sources may not ever make it into mainline, but the device trees/drivers for embedded stuff does provide a reference for a cleaner, better implementation.
Compare to FreeBSD for the Playstation's management layer. Where are the contributions for Cell support? Where are the patches Sony certainly needed to make for wifi and bluetooth? Where are the patches from Juniper for validated FIPS?
Yeah, just use a chroot. It's the same kernel. You could also just distribute static binaries or have your dynamic libs bundled in a single .AppImage file.
>glibc versions?
Linux guarantees source compatability, but doesn't guarantee binary compatability (unlike most proprietary software like ms-windows).
>X11 vs Wayland?
X11 and wayland are different protocols, but Wayland is reverse-compatible with X11.
>System-d vs init.d ?
I don't know much about init systems, but I don't use systemd, I use OpenRC and it works fine with "systemd-dependent" software like GNOME or KDE by using elogind[0][1] for example.
>Android?
For android apps, you can containerize an android userspace with tools like Waydroid[2].
[0] https://wiki.gentoo.org/wiki/Elogind [1] https://github.com/elogind/elogind [2] https://waydro.id/
Debian's installation manual has a section on how to perform chroot installs. That is, there's a documented process for how to install Debian within another Linux distribution should you choose / need to do that.
It came about because the original author was hoping to try out Debian on a Red Hat system.
It's all userland over the kernal.
These days, even at the process level (or using tools such as jails), it's possible to define largely independent contexts for each individual process. CPU, memory, and kernel are common and/or shared, but other resources can be strongly segregated.