[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Package formats and software distribution on Linux



A while ago I participated in a discussion here about the debian
package format. Quite recently I tried to spark up a discussion about
package formats on the LSB list but did not get any replies, hopefully
this discussion will be more welcome here. Constructive crticism is
welcome, so feel free to critique.

There is a sort of oligopoly in linux because of package management.
There are several main distros which have a lot of package maintainers
and a lot of packages as a result of this. Smaller distros need to
choose between compatibility with existing packages and innovation
(whatever that may be) - because creating and maintaining all of the
packages you want to offer to the user is a very tedious task. This in
turn limits the innovation these distributions could bring to the
linux world and slows down the progress of Linux.

A universal package format would benefit these distributions, since a
lot less resources would have to be spent in order to create a new
distribution. These small distributions will not be the only ones that
benefit from this universal package format, big distributions such as
debian will benefit from it too, because it will lift some weight off
the maintainers' shoulders. Users of every distribution that supports
such a format will obviously benefit from it since more software will
be provided on their favourite distribution. And also ISVs will
benefit from it, as it means less work for them to reach out to more
users.

However I'm not proposing to have a single true package format for all
distributions. Rather my idea is to have a distribution-specific
package format for packages that are distribution-specific, and a
universal package format for packages that aren't specific. A lot of
software applications, such as firefox, pidgin or openoffice do not
require anything specific from a distribution like for example access
to /etc/init.d/ files. Most simply require a certain library to be
present or a certain dbus interface. This is what these packages
really depend on, rather than the presence of other packages. Adding
support for a universal package format will allow debian and other
distributions to focus more on their real goals rather than on making
packages from software which is already available on other systems. It
will also allow distributions to make more invasive changes such as
changing some functionality some other package may rely on, since
currently, when two packages implement a certain interface other
packages rely on, each of those packages has to have both of these
packages specified in its dependencies. A transition from the current
package format to the new package format could be gradual, with
support for interfaces being added to the the distribution-specific
package format first and then packages that do not rely on
distribution-specific behaviour could gradually make a switch to the
unified package format.


Reply to: