Debian:
I'm both flattered and embarassed. rblcheck is in
Debian proper (flattered), and I've never added dpkg support
to the source tree (embarassed), although a kind soul within
the Debian project did so already. So, I'm repenting by
teaching myself about building dpkg packages, so that I can
feel comfortable merging the work already done into the
source tree; hopefully, I'll get around to cranking out an
RPM spec file for it as
well.
First impressions of the dpkg scheme: this feels
almost exactly like RPM, except that everything is broken
out into separate files (within a single directory), while
RPM conviently (or inconveniently, depending on your point
of view) keeps all additions tucked in a single file. In the
long run, dpkg is probably more flexible (ie. would seem to
handle future extending a little more gracefully), and gives
package maintainers a standard place to tuck
packaging-specific scripts and data. The documentation for
dpkg seems to be a bit better too, but that's only because
it seems to be current; RPM has a fine manual for it, but
it's so out of date as to be useless.
Fragmentation:
It seems a shame that the community has a
tendancy for NIH (not invented here) syndrome; dpkg vs. RPM
vs. ports
vs. openpackages
(etc), QT vs. GTK+, GNOME vs. KDE, Konqueror vs. Galeon vs. Mozilla, GNOME Office
vs. OpenOffice vs.
KOffice, etc. I've
heard others say that the Linux community (using them as a
generalization for GPL-using projects) doesn't have the same
tendancy towards fragmentation that the BSD crowd have
(again, generalizing for projects without viral licensing,
using the FreeBSD vs.
OpenBSD vs. NetBSD rift as their prime
example),
but it would seem to me from the prior examples that free
software developers, in general, strive for reinvention and
shun reuse.
Whether this is bad or not is a judgement call,
and one that I haven't made myself yet; on one hand, it has
resulted in some fantastic improvements to the existing
"state of the art" (NCSA HTTPd vs. Apache, NCSA
Mosaic vs. Mozilla, etc), but on the
other hand, it has
also resulted in replication of effort, often on a massive
scale (XFree86 vs. Berlin, for
example). It's also resulting in huge community rifts (GNOME
vs. KDE, Samba vs. Samba TNG, OpenBSD vs.
the world), which pundits could easily use as
"representative examples" of our inability to
collaborate.
What's my point? I don't really have one. I'm
just thinking out loud, and hoping someone else has some
thoughts on the subject.