2009-07-27

CUPS-PDF: how my first Debian package briefly became a key component of the Ubuntu desktop strategy

Back in 2003, I packaged my very first piece of software for Debian: CUPS-PDF. The observation came to a German physics researcher, Volker C. Behr, that he constantly needed to generate PDF documents as a daily part of his workflow and that he would rather do this via desktop application's Print menu, so he coded a simple CUPS printer driver that spits out PDF documents instead of paper sheets.

This packaging gig has been one of the best cases of upstream collaboration I've been involved with, simply because Volker himself subscribes to the BTS for CUPS-PDF at various Linux distributions and because he is very proactive at responding to bug reports that concern the upstream code and the philosophy behind its implementation.

Simultaneously, there's been plenty of collaboration between Debian and Ubuntu on this package. For starters, maintaining a CUPS driver meant that I should maintain close collaboration with the CUPS maintainer. Back in 2003, this meant getting to know Kenshi Muto, first on IRC and then in person at Debconf5.

At the same event in 2005, many people had their first real experience of Ubuntu, when Mark Shuttleworth made his first keynote appearance at a Debian event. This later lead me to becoming familiar with the work of Martin Pitt and Till Kamppeter on the Ubuntu version of CUPS and CUPS-PDF packages, because Ubuntu had decided on delivering PDF generation as a standard feature of its desktop and CUPS-PDF was considered as the key solution towards implementing this. However, CUPS-PDF being a mere printer driver, it did not fit well with the GUI-oriented paradigm of the desktop, so pre-configuring the package with sensible default settings only partially worked. This issue was recently solved when GTK2 and QT (the core libraries behind GNOME and KDE applications) were upgraded to include printer management and PDF generation by standard, which resulted in the Ubuntu build of CUPS-PDF being relegated to the Universe repository.

Amusingly, the most interesting part of my collaboration with Martin and Till wasn't how it slowly helped me improve the packaging of CUPS-PDF on Debian, as much as that it introduced me to the wonders of Launchpad (tracking other distributions' bugs on the same package, Personal Package Archive, etc.) and it eventually convinced me to switch to Ubuntu for everything except my old ThinkPad, which I retained as a genuine Debian environment for development purposes.

While CUPS-PDF has mostly been superseded by GTK2 and QT's new printing features on the desktop, it definitely remains a key element of an educational or enterprise network, especially in a situation where desktop computers are in fact thin clients connecting to an LTSP server and where PDF generation is a part of the standard daily workflow.

Speaking of which, I'm currently looking for investors to launch a business venture that leverages and expands upon the ideas I've developed at Linutop and Artec. Please contact me via e-mail if you're interested in financing this venture or if you know someone who would be.

No comments: