No subject
Unknown
Unknown
Mon Jun 14 13:28:36 PDT 2004
Basically, FreeBSD has a fairly involved source-manager ("Ports" and all
the tools to manipulate it), with a "user interface" geared towards
monolithic trees. I've no experience with apt, but it seems to be the
converse - a very evolved package manager, with relatively few/lesser-
known niceties for tracking source (and doing complicated, dependency-
laden builds; you're expected to do complicated, dependency-laden
binary updates?).
I'm most curious about the "Random Guy In Afghanistan" case. Say you've
got this random guy in Afghanistan -- he's smart, he's perceptive,
somehow he's gotten his hands on a laptop and "free software" of one form
or another; he knows his needs (text editor, spreadsheet, whatever),
maybe wants to develop some new software and sell/distribute it, etc.,
but all he's got to the outside world is, say, a 56k link, possibly
intermittent. (Hey, wait, is this Afghanistan or Average Town, USA?)
As it is, he either has to track fairly huge source trees, rely on
binary packages (built with the features he wants?), or do most of his
management by hand. When he goes to distribute his own software, he has
little choice but to reinforce the vicious cycle -- he can put it in
Ports, or distribute it as a binary or source .RPM or .tgz... or maybe
a Debian package with Far_Too_Many_Dependencies. Even worse, his
development tree probably doesn't live within any standard build/install-
management system, so making it install cleanly is Extra Work, rather
than something that Just Happens. (Contrast the Good Ol' Days, when you
had fewer libraries to track, and software just lived under its directory
or Amiga assign:.)
So, ideally, you want the source/build-management system modular and
attractive enough that people will build to it as part of their development
process, and that system modular and decentralization-tolerant enough that
Random Guy might be able to download Obscure_Freshmeat_Sources within that
format already -- we could already be fulfilling that goal with Ports, but
the threat of namespace collission (and the annoyance of using Ports as non-
root?) seems to put everyone off.
. ..meanwhile, the package manager would just keep track of installed binaries
however it sees fit, so it could care less if they're coming from 'official'
trees, personal builds, or were downloaded prebuilt from package repositories.
(In other words, let's not shoot managed source builds just to force people to
fix the package-manager; the two systems should really be... orthogonal? ;))
-Thanks for the effort!
-Joe "Floid" Kanowitz
More information about the Kernel
mailing list