Subject: Re: quality, sharing, etc.
From: Rich Morin <>
Date: Sun, 27 Aug 2000 21:22:54 -0700

At 5:00 PM -0700 8/27/00, Brian Behlendorf wrote:
>This is primarily through something called the "ports" collection in
>FreeBSD, something many of us BSD bigots think is quite cool.

Hmmm.  Although I am a BIG fan of the Ports Collection, it wasn't what
I was talking about in this instance.  Rather, I was talking about the
base distributions.  BTW, one problem I have with the Ports Collection
is that, unlike the Debian version, it is not integrated into the main
distribution.  So, if a package is in the main distribution, you won't
find it in the Ports Collection.

>I think the BSD's all use the same ports collection concept, but all
>have their own instantiation of it.

My understanding is that they share the collection infrastructure, at
least at the level of using the same (2500 line!) makefile.  I don't
know if they share the same tarball.

>More broadly, if all the BSD's could be accomodated, then that might be
>extendable to other OS's too.

I have talked with Jordan about this.  The makefile is already pretty
humongous and it still doesn't do everything one could ask for (e.g.,
no particular support for local preferences).  Expanding it to take on
many different OS variants might well be the straw that breaks it.  My
Meta paper ( is in part inspired by
this exact problem.

>It's important to think of the ports collection not *just* as a software
>metadata tree, but as a *trusted* metadata tree.  People use it to install
>software instead of pulling the package's tarball down separately and
>reading the INSTALL instructions because it's a lot easier; required
>packages are automatically pulled in, any platform-specific patches are
>applied, and you know everything will install in a consistant place.  Note
>that this has nothing to do with technology, and everything to do with
>the discipline of the ports maintainers.  Could platform-specific teams of
>ports maintainers all share the same tree?  I would hope so.

In my idealized world, platform-specific teams of ports maintainers would
only be responsible (in general) for

*  general platform-specific characteristics (e.g., preferred locations)

*  platform-specific aspects (e.g., patches) of each port

A proper description of a package's needs, coupled with the above, should
be enough to generate the necessary porting parameters. And, when things
change in a package's needs, it would be pleasant to have all platforms
getting the benefit of a single change.

Rich Morin:, +1 650-873-7841,
Prime Time Freeware:, +1 408-433-9662,