Debian GNU/Linux turns 19 today.
I estimate that I did my first install some time in late 1995, perhaps early 1996. I haven't really used anything else as my day-in-day-out OS since. I've never had a Mac of any stripe, and haven't used Windows with any frequency other than for World of Warcraft since '99.
I can pin my first contribution to Debian with far more accuracy:
September 3, 1996. That's the date on the first Debian changelog entry
in the libwww-perl
package, which was, I believe, the first package I
ever made. It still exists in Debian and Ubuntu (and other derivatives)
and if you have it installed, you can look at
/usr/share/doc/libwww-perl/changelog.Debian.gz
, and right down there
at the very end, you'll find my grubby little fingerprints.
Sadly, things quickly went downhill—I am, to some extent, to blame for
the fucked-up naming convention (with its poorly-sorting use of a
-perl
suffix) of every Perl library package in Debian, and probably by
extension, the similar poor choices in the -java
and -cil
groups.
Even the PHP guys were smarter.
As I remember it, having packaged libwww-perl
(which is the actual
name of the package as it exists on CPAN, so I just used that as the
package name), I discovered that for some things—FTP support, I
believe—it required the libnet
package, which provides a lot of
Net::*
modules. But when I announced that I was going to package it
someone (I want to finger Rob Browning, but cannot in be certain, and I
don't know if the Debian archives go back that far, and can't be
bothered to check, really) said they were about to package the libnet
C library, which would conflict, so maybe I could call it libnet-perl
,
like libwww-perl
, which I did. And then the next thing I packaged I
ended up calling lib<whatever>;-perl for no good reason, and it all
went to hell.
Bleargh.
Almost 16 years later, we have ~ 3000 Perl packages in the repository,
all with that damned -perl
suffix. So, um, sorry.
My other big accomplishment of any note, I think, was to finally get the 64-bit Alpha port to a self-sustaining state. This started with a bootstrap that someone had done from a set of RedHat binaries before, and gradually pulling along various bits of the system until we had a self-hosting system.
Along the way, I was responsible for another unfortunate bit of
"engineering"—libc6.1
. Again, I don't think I was totally alone in
putting this forth (David, David…um, I forget his last name, and the
libc6 changelog.Debian
doesn't go back that far), but it probably
would have been better to bite the bullet and avoid all the gymnastics
it required.
As I remember it (this was, err, '97? So I may have some details wrong),
RedHat had pushed their first Alpha release using a libc with a SONAME
of 6, based on a pre-release glibc-2
…and then the 64-bit ABI was
changed when glibc-2
was released. Our versioning tools for shared
libraries were much more primitive at the time, and we wanted to keep
compatibility with RedHat, since that's where a lot of the heavy duty
engineering was going, so we had to follow them in changing the library
SONAME
to 6.1. This entailed a lot of churn at the time, most of which
I've blocked out. I did a lot of mechanical patches on a lot of
packages.
I did spent a lot of time doing fixes for 64-bit-isms in various
packages, and I can remember the flush of pride I had when Alan Cox
mentioned that he'd gotten a bunch of 64-bit fixes as well as the
conversion of the mh
mail client to use an ELF shared library from the
Debian package, because that was my work.
My time as an active Debian contributor was not always a smooth one—I wasn't always as attentive about keeping things up to date or doing triage on bugs as I could have been. I think I finally formally recognized that I wasn't able to keep up around 2002, which was probably a couple of years later than everyone else had realized it.
Ironically, I probably maintain more packages now, for our internal company purposes at Ironic Design, than I ever did as a developer; the tools have made the maintenance at least of the sorts of packages I do (libraries and simple applications) incredibly easy.
I maintain ~ 20 production Debian servers, with a handful of dev servers
and a couple of home systems, including the laptop I'm writing this on,
with basically no problems on a day to day basis. It has its warts, but
I have boxes that have been continuously upgraded over a span of half a
dozen years with no appreciable problems. I am able to be productive and
use the environment happily. I remember the rough spots at the beginning
(the move from a.out
to ELF
, for instance), but what Debian provides
now always surprises and delights me.
So kudos to those Debian maintainers, former and current, who have contributed to such a great software system.