[ Thanks to Kelly
McNeill for this link. ]
“As GNU/Linux has moved through various stages of renown,
functionality, and ‘ease of use’, many things have improved.
Hardware support is increasingly broad, applications are available
for nearly any imaginable task, and we have a distribution devoted
to nearly any type of end user need. This is all fine and dandy,
but sometimes it seems like we have a little too much variety;
there are a lot of choices out there, and they don’t always seem to
mix. And, in some areas, there’s not an abundance of choices.
Not if you want to distribute a program in some packaged form. It
seems that nowadays, there’s three ways of distributing a
program. In a tarball (be it a .gz or .bz2), in a Debian
package, or in a RPM.”
“These are all fine methods of packaging a piece of software,
but they each have their places, and they aren’t as comprehensive
as I would like. A tarball is perfectly fine for source code, since
it has all the features you need (unpack the files into a specific
location), but it falls short for other purposes, as it (being
merely an archiving method) has no provisions for scripting, or
dependency. RPM is also a wonderful system for the environment in
which it was developed: the Red Hat distribution. It does a lovely
job of tracking dependencies, handling pre- and post- install
scripting, and the like, but it, too, falls short in a rather
crucial manner: it is extremely dependant on origins.”