My work for Debian

I am an official Debian Developer (DD) since August, 19th, 2000. It means that I am a member of the Debian Project ; as such, I have voting powers within the Project, am subscribed to a private mailing-list, have an email address within the debian.org domain and shell account on Debian machines.

OK that's nice, isn't it ? Actually all these things do not really matter. Because I wanted to join the Project to contribute back, to help the Free Software community and for fun !

It was a way to affirm my commitment to OpenSource and Free Software.

At this point, I need to clarify what "free" means here. When we mention Free Software, we use the word "free" as in "free speech", not as in "free beer". Although Free Software is most of the time free as in "free beer", I can sell you Free Software.

Concretely, I help to produce a 100% Free operating system by maintaining some of its software packages. No critical packages, though, but who knows maybe this will be the case one day.

As many DDs, I decided to join Debian because I installed the GNU/Linux distribution, then couldn't find one software or another packaged for the distribution and then decided to package it. That's it, my first package was TiLP (GtkTiLink at that time), then came Downloader For X (d4x), then gAcc, then...

I was used to using d4x and TiLP on a daily basis while running RedHat on my workstation, so once my Debian Potato was set up I wanted to install these programs. But the system was a fresh install and I didn't want to mess it up by installing software from sources. Thus, I read the docs, and I finally got a mostly working and clean TiLP package after 2 days of work.

I decided to apply because I thought that TiLP was a great software, or would be a great software once mature. Today I tend to think that I was right.

Needless to say, if you don't use the software you maintain for Debian, you cannot make a good work. You must also ensure good relations with upstream authors; this is required to prevent any problem affecting your packages. If the upstream decides to change something potentially critical, you must implement the change as smoothly as possible. Before the change occurs, actually. If you know nothing about the change before it happens, you are likely to run into problems. Not always, though. Diplomacy. That's the key word; both inside and outside of the Debian Project.

Since then, I packaged a couple of other applications, and followed the evolutions of my first packages. As it happens, I took over the maintenance of some other packages and let go of some packages; that's life. At the moment, I maintain the following packages, in no particular order:
  • The SANE framework, an API designed to access scanners, video-cameras and other types of image acquisition devices:
    • libsane: the SANE library used by applications to access devices, and all the backends (low-level support for each device)
    • libsane-extras: some backends not yet included in the regular SANE distribution. This is a very handy package to have in a distribution such as Debian
    • sane: a graphical frontend for SANE
    • xsane: a much more powerful graphical frontend
    • eikazo: a graphical frontend designed for mass-scanning
    • unpaper: a post-processing tools for scanned sheets of paper
  • Various software packages tied to Mac systems, PowerPC- or Intel-based:
    • pommed: the pommed software suite, handling the hotkeys found on Apple laptops
    • refit: a graphical EFI boot menu designed for Intel-based Macs
    • libofapi: a library for easy access to the OpenFirmware device-tree
    • airport-utils: a collection of configuration utilities for the Apple AirPort wireless base stations
    • wmbatppc: a WindowMaker dock applet to monitor the batteries of your Apple PowerBook or iBook
  • Various system utilities:
    • arcload: a bootloader for SGI MIPS systems
    • mcelog: a utility to collect and decode Machine Check Exceptions on x86-64 hardware (AMD64 and EM64T)
    • smcroute: a static multicast router daemon for Linux
    • libieee1284: a library used to communicate with devices over the parallel port, using the IEEE 1284 standard
  • VoIP packages I used in my VoIP solutions.
    • iaxmodem: a software modem with IAX connectivity for use with the Asterisk PBX, mainly used for faxing
    • py-asterisk: a Python library for the Asterisk Manager interface
    • iax: the original IAX library from Digium
  • Miscellaneous packages:
    • mt-daapd: a DAAP (Digital Audio Access Protocol) server, compatible with Apple's iTunes and SoundBridge devices from Roku.
    • wmauda: a remote control for Audacious, in the form of a Window Maker dock applet
    • wmacpi: a WindowMaker dock applet to monitor laptop batteries through ACPI

This page lists my currently open and recently closed bugs.

I became a member of the Debian VoIP Team in 2006, as I started to work on VoIP and Asterisk, and eventually built advanced VoIP architectures based on Asterisk and OpenSER.

But maintaining packages is not the only way to contribute to Debian. There are a lot of other things to do, such as working on the package management tools (dpkg, apt, dselect and friends), ensuring that the FTP archives and our mirrors are working as they should, maintaining the Project's machines, websites, etc... A couple of teams are taking care of this. And they achieve an amazing load of work.

Most importantly, developers and non-developers can look at the list of release-critical bugs and try to fix them. Of course only DDs can upload fixed packages, but patches can be submitted to the Debian Bug Tracking System (BTS), which is as helpful as uploading fixed packages. If you've got some time to spend, then go on ! Squash'em all !

You will find a lot of DDs on the Debian IRC server ; point your IRC client to irc.debian.org, and /join #debian or another Debian-related channel ! My nick there is "jb".