2010-12-24

FOLLOW-UP: Linux and Breakfast Cereals

I wrote a post a couple months ago regarding Mr. Graham Morrison's assertion that the overabundance of choice in the open-source software community is its failing and Ms. Caitlyn Martin's counter-assertion using the example of breakfast cereals. In it, I mostly agree with Ms. Martin's statements, though I do question the use of breakfast cereals as an analogy because that industry has not ever been so thoroughly monopolized like the PC OS industry.
One of Mr. Morrison's gripes was the confusion in package management, with so many different front- and back-ends. While I still believe that the multitude of front-ends can only be good for users (as anyway most distributions' preferences in that regard are pretty clear), after having talked to a friend in college who is extremely familiar with Red Hat and Fedora, I'm rethinking my stance on the multitude of back-ends.
DEBs are fairly standard (they're just glorified compressed files), so as long as all the required dependencies are present, a DEB from KNOPPIX should work on Linux Mint as well. For RPMs, the situation is a bit more complicated, because RPMs themselves are a good deal more complicated than DEBs. As it turns out, there's a good deal of variation even within the different implementations of RPMs. For example, RHEL (and CentOS) and Fedora use the original kind of RPMs. Mandriva and SUSE have modified the RPM format to fit their needs, as has Scientific Linux (otherwise based on RHEL). Thus, an RPM on Mandriva won't work on SUSE or Fedora; the differences can be so large that it would be like trying to install an alien file format (e.g. DEB).
So my question is, why have all these differences sprung up? For example, the Skype site shows different RPMs for Fedora and openSUSE. (Then again, it shows different DEBs for Debian and Ubuntu as well.) Why can't the maintainers of these distributions pare away the differences as much as possible to maintain inter-distribution compatibility? Wouldn't this just make everyone's life easier?