> In the context of UNIX development, portability actually means the system
can operate different computer architectures (in the 70s, every computer
architecture had its own operating system).
I'm pretty sure portability only meant what you said in the early days, but
the "P" in POSIX means portable, and it's not related with CPU architectures
but with compatibility between *nix systems. So I would say that it means the
two since the 80s.
> Anyway, who can list programs that do not run on a system with systemd? Or
even programs that required significant alterations so that they could run on
a system with systemd? I am not talking about taking advantages of systemd's
new features. Just compatibility.
That's not the issue as it's obvious that a program isn't going to run better
or worse because you have some component that the program doesn't use. But it
is not going to run if you have unmet dependencies, and software can depend
on systemd, then we have the issue: systemd's implementation isn't portable,
which is going to be a problem at porting software over to GNU Hurd for
example.
> should GNU/Linux never take advantage of the most advanced features in
Linux (such as the cgroups) because the less popular kernels (BSD, Hurd) do
not have them? A yes answers means our operating system cannot evolve faster
than the least active kernel projects.
I wouldn't say simply "yes" to that, but even if I did that doesn't mean
GNU/Linux has to evolve as slow as the others, just in a compatible way. I'm
not against using features that aren't available on other *nix systems in
general, just against unportable system components that can become
dependencies of programs.