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?


  1. Diversity and choice are good, restrictions are bad. Despite the differences between distributions, they all share the same core of free software and all of it tailored to a wide variety of hardware architectures. That means that users get the software they want on the platform they want. Skype is difficult because it is not free software and the company has to do all the hard work of packaging things themselves. If you want Skype to work as well as Mozilla, ask Skype to liberate their code and rely on an honest service model that does not demand undue power over users.

  2. @twitter: That's true, but as far as I know, even OSS RPMs aren't necessarily compatible among Fedora, openSUSE, and Mandriva, so it'll still mean more work for developers (even if they are outside the project). My question is why the different distributions must handle packages so differently; it seems like the extra cost of development for each package type goes over and above the extra benefits diversity brings. Thanks for the comment!