ten years of Debian

Ten years of Debian

My first ever Linux installation was done in the late nineties—1998 or thereabouts—but was a RedHat 4.5 installation rather than a Debian one. The reason for that was fairly simple: the Infomagick sixpack CD set that I'd bought contained RedHat, Debian, and Slackware, but the RedHat installation was the only one that could be installed directly from CD—the other two required me to write floppies and boot from those to start the installation, and I wasn't very fond of that idea.

It was only a few years and a few broken RedHat upgrades later that I saw the light and considered trying out this Debian thing that some of my classmates were talking about. The fact that I'd just bought my own computer (rather than having to compete for time with my siblings on my parents' computer) was a good reason to do a fresh Linux installation. I'd been planning to install Linux From Scratch, but as what was still known as the LFS HOWTO told me you'd need a working Linux installation to do that, I considered my options. Since I'd developed a strong dislike of RedHat, I wasn't interested in doing another RedHat anymore. So, I downloaded the most recent version of Debian at the time (Potato Test Cycle III), wrote it to a CD, and installed. I've probably still got the CD lying around somewhere.

A few months later, I found these "Linux Gazette" packages in the archive, with the latest packaged issue being 47, but the latest upstream version being much higher. Trying to figure out what was going on, I mailed the maintainer, Adrian Bridgett, who encouraged me to take over maintenance. Thus began my life of actively contributing to Open Source software.

In November 2000, I applied to become a Debian Developer. In January 2001, Martin Michlmayr was assigned to be my AM. And in early February 2001, now just over ten years ago, I'd become a Debian Developer. Yes, that was fast, and no, I probably wasn't really ready yet, at the time.

Originally, I only cared much about these Linux Gazette packages. But, as time went on, I started looking around, too. A friend passed me an old Macintosh Centris 610. As I tried to install Debian on it, I found that it didn't actually run very well. This turned out to be due to it having a broken 68LC040 processor, so I bought me another m68k-based mac, one with a full 68040 processor (a Centris 650). Thus I became involved in the m68k port and buildd maintenance.

As these old machines came with 80MB or 250MB SCSI hard disks of which I had none laying around, and a then-recent Debian installation had minimum requirements of about 200MB, I was in need of network storage to be able to do anything useful with the mac. NFS didn't work as expected; the RTC implementation on m68k mac hardware was reverse engineered and didn't work too well at the time, which meant that the clock would run slower if the machine was under load, and that in turn would mean that make would get confused about timestamps, since they would suddenly appear to originate from the future (in NFS, it's the server that assigns time stamps, not the client). There was a simple solution, however; Pavel Macheck had written this neat 'Network Block Device', which would let the client do its own filesystem on network storage. Only it wasn't packaged; but then, that was easy to fix. Thus I started maintaining the single piece of software that I've worked the most on, to date.

A few years later, Pavel lost interest in maintaining NBD, and handed over upstream maintenance to me—and maintenance of the kernel side to Paul Clements. Thus began my life in upstream work. And while I originally joined Debian with the intent of using it as a learning experience and stepping stone on my way to more "important" free software, I found that it wasn't as satisfying as was my work for Debian.

Over the years, there's been this duality where I've felt like I was doing too much and not enough at the same time. Too much, because the things I was doing would eat up much of my spare time, leaving little time left for other hobbies. Not enough, because I witnessed other people doing much more for Debian than I did, and I wanted to make a difference.

As the years passed by, many things have changed. Not only in Debian, but also besides it. I became an independent contractor, focusing mostly on supporting people in using Debian (although I support them with other distributions, too). The importance of a port went from 'something which these weird porter people are doing, and that we should probably help them with if it doesn't work, but is their problem really' to 'something that I really really really have to make sure works for my packages', and back—for the port that I cared about most. After several years of trying, I finally managed to explain to my parents what this Debian thing is, why it matters, and what my role in the whole thing is. We did a few releases, some taking longer than I would've liked. People joined the project, and left again. Some of my friends died. My fame in the project rose, even though I wasn't aware of it initially; and thus I was rather surprised when someone asked me whether I was "the Wouter Verhelst" at a key signing party.

Recently, I've started looking back, and considered the things which Debian has meant to me. Ten years ago, I was 22, still in college, and had way too much spare time on my hands. I'd recently gotten my first Internet installation, and all these online communities were very new to me. Yes, that was all probably rather late. Debian has changed my life in many ways; it has allowed me to meet various kinds of people, both online and in meatspace. I've been to Helsinki, Edinburgh, Mar del Plata, Càceres, and New York City, places that I might otherwise not have visited. Each of these trips was an incredible experience that I have fond memories of; and while the most fond ones originate from Helsinki, I cherish the memories of each of these trips as some of the best trips I've ever done. Working on Debian has forced me to learn about the inner workings of a Linux-based system, which is knowledge that has helped me tremendously professionally, too. And finally, working on Debian has given me a unique perspective on this whole FOSS community, which has helped shape my ethics and my view of the world. While I believe that I would've subscribed to most of that ideology at any rate, I'm not sure that the details of my beliefs and understanding would've been exactly the same. And while I don't agree on every position that the project subscribes to as a whole, I do believe that the philosophies that lie at the core of this project contain just the right mix of pragmatism and ideology that makes it possible for our project to thrive in a changing world of not only a growing group of people who subscribe unconditionally to the free software ideals, but also business people who care mostly about money.

Over the years, somehow I moved from "one of the recent batch of new Debian Developers" to "someone who's been with the project longer than most". It still feels weird to see people shut up because you've built up a reputation in some area, and you give your gut opinion on some subject without researching it too much. I try not to let that happen too often.

Today, ten years and just over a week ago, my life as a Debian Developer started, and it would change the way I looked at the world, the things I would do in my spare time, and the people I would meet. I wouldn't have it any other way.

Thanks, Debian, for what's been a blast; may the next ten years be as inspiring to me and everyone as the past ten!

Posted
pmw

PMW uploaded

Earlier today (or, well, last night, since it's fairly late alrady) I uploaded pmw (about which I blogged previously). In preparation for that, I've also uploaded aspic, which is required to build pmw's documentation.

While I'm quite fond of pmw already, and intend to maintain it inside Debian for quite some time, my interest in aspic is limited to the fact that I need it for pmw. So if anyone seems interested in adopting it... be my guest. But do talk to me, first.

In my previous blog post, I've raved about how I like pmw much more than I do lilypond. I had two reasons for that, at the time:

  • faster in processing
  • better syntaxis

Now, I have a third:

wouter@celtic:~$ grep-available --eregex -FPackage -sInstalled-Size -sPackage '(pmw|lilypond)'
Installed-Size: 1916
Package: pmw

Installed-Size: 7048
Package: lilypond-data

Installed-Size: 392344
Package: lilypond-doc

Installed-Size: 896
Package: pmw-doc

Installed-Size: 4184
Package: lilypond

Less than two megs for pmw, versus over ten for lilypond and lilypond-data combined; and less than a megabyte for complete documentation plus examples for pmw, versus several hundred megs for lilypond-doc.

And it's not because pmw is less flexible, or has less features, or is less well documented, or anything of the sorts. It does have less output options; but then it's not like it's hard to convert PostScript into something else or anything.

Posted
size matters

Size matters

Got me one of these bottles at the latest FOSDEM:

Debian Wine or OpenSUSE beer?

Mine is bigger than yours.

For those among you who can't quite make it out: the bottle to the left is a bottle of 'Old Toad', aka OpenSUSE beer.

Posted
on patches

"Please send a patch"

On the gripping hand, Matthew, notice that patches written by someone utterly unfamiliar with the code in question aren't always welcome. While some people don't mind spending several days on something that may or may not be accepted to begin with, it's important to realize that talking about wishlist items before even thinking about possibly writing a patch is more likely to result in the desired behaviour than writing and submitting patches in a fire-and-forget manner. In that light, there are cases where 'please send a patch' can be quite demotivating, and it makes sense as a developer to engage in a discussion about a wishlist item, even if you're not immediately interested in implementing said feature yourself. Such a discussion could lead to either you implementing it, or someone else implementing it, or the other person finally understanding that your vision for the software in question doesn't match theirs, and that they should just find something else to spend their time on.

I guess the moral of the story is: as a user with a wishlist item, you should talk to developers, let them know what you think is important, and be prepared to write a patch yourself if needs be and you have the skill. As a developer, you shouldn't interpret every wishlist request as a question to 'please please please implement my pet feature', but as an opportunity to reconsider your views, and possibly implement some nice new feature that you hadn't thought about originally but which you think might be nice, too.

If people reply with 'please provide a patch' to each and every wishlist request, they're stupid; even more so than users who think they have anything to demand.

Posted