Quote:
Well, my usual example is the NAT/FW code. How many times has that been swapped out over the years? Three? Each incompatible with the previous.

And very heavy overlap among them. For several years the kernel could still be used with any of the three methods. Gradually, the first one (ipfwadm) was dropped, then the second (ipchains) got dropped quite recently after years of "depreciation". The current userspace interface, "iptables", has been in place for about 9-10 years now. *That's* stability in this world.
Quote:

How many attempts at a /dev filesystem have there been?

The original "static /dev" from 1991 is still supported and works fine. Along the way, we picked up "devfs" as a clearly marked "EXPERIMENTAL" method, and it was carried for many years. Only a month or two ago did it finally get dropped from the bleeding edge kernels. Over the past two years, various new features in the kernel have enabled proper hotplug support, and a userspace "udev" device manager app has grown up to use those features. But again, the original 1991 method still works just fine.

Quote:
How often did that break existing things?

Zero, or near to it, unless one deliberatly switched to a different method.
Installing an entire new system, eg. Ubuntu, of course will give the new methods as default. As it should.

Quote:
Glibc incompatibilites have abounded.

That's a BIG stretch. More correctly, all modern OSs abandoned the original UNIX executable format "a.out" in the early 1990s, in favour of the newer ELF format. This also meant a new set of ELF libraries, separate from the a.out ones. Both can/do coexist. My current bleeding edge Linux kernel *still* can run both kinds of binaries. Very VERY backward compatible.

About 10 years ago, GNU libc (glibc) had a major revision, again producing a new set of library interfaces that are quite different from before. So again, a new set of libs and a new program loader (ld.so.2) got installed in parallel with the old. My old Wordperfect program still uses the old libs, on the latest Kubuntu systems. Fantastic backward compatibility there.

Quote:
Gcc problems.

That's not Linux. And it's not a problem anyway. Just continue to use whatever old version you like. Until very recently, kernel developers were all still using the ancient gcc-2.95 to build kernels. I think it still works today, though we've moved on.

Quote:
The list goes on and on.

It certainly does! Stellar backward compatibility, no major upheavals in established distros. The hot new ones like (K)Ubuntu of course install only the latest stuff by default, but the older stuff is there too.

One can definitely fault a Linux distro on many points, but not this one.

Been there, done that, still doing it.

-ml