OpenPKG Advent Calendar 2006

...every day a little pondering, backstage information, jokes, tips and tricks.
1
Friday 2006-12-01: Little Pondering
Completeness of a Software Distribution

There are only 10 types of people in the world — those who understand binary, and those who don't.
According to the OpenPKG package browser, OpenPKG-CURRENT has "just" about 1,000 packages. But FreeBSD seems to have over 15,000 "ports" and Debian GNU/Linux seems to have even over 20,000 "dpkg" packages. So what? Well, comparing the absolute number of packages between different software distributions is more or less useless. There are three major reasons.

Single package from multiple components

First, a single "package" of an arbitrary software distribution can contain just one or lots of upstream vendor software components. The most extreme example here are Perl packages from CPAN: FreeBSD ports and Debian GNU/Linux provide one package for each Perl module. On the other hand OpenPKG bundles together between 10 and 60 Perl modules into a single package.

Multiple packages from single component

Second, a single upstream vendor software components can be split into multiple packages. For instance Debian GNU/Linux splits OSSP uuid into one package providing the C library, one package providing its Perl bindings, one package providing its PHP bindings, one package providing its PostgreSQL bindings, etc. On the other hand OpenPKG provides just a single package for OSSP uuid which contains both the C library and the Perl, PHP and PostgreSQL bindings. To still achieve the same flexibility, the OpenPKG package leverages build-time "options" which can be used to enable or disable the individual language bindings.

Different Packaging Scopes

Third, not all software distributions have the same scope. While FreeBSD ports and Debian/GNU Linux package software for both server and desktop computing, OpenPKG packages mainly just server applications.

Once you take those three points into account, you see that from a completeness point of view there is no real difference between OpenPKG and other popular software distributions. They all try hard to provide a rather complete set of packaged software components. They just have different philosophies how to package them.