(What you need to know when) Developing Software for Debian
- 30 minute talk
Debian aims to provide "the Universal Operating System" and has
evolved into a nice free and open ecosystem that is well-stocked with
tools to aid interoperability and consistent behaviour over long
periods of time.
Not unexpectedly, that universality comes at a price: there are
numerous policies and technical rules that software needs to
conform to if it is to integrate cleanly with the Debian ecosystem.
By and large those rules are not overly onerous, except that there are
many of them and the wisdom behind some of them might not be apparent
until you have been doing Debian-related work for a few years (like
the author has). There are definitely some design choices you might
make which could result in your software becoming very hard to
This talk aims to save you having to discover some of those pitfalls
on your own. It provides an overview of the essential things a
developer or integrator needs to know in order to create software that
plays nicely with Debian's rules.
A number of best practices will be discussed, as well as a few
examples of how /not/ to do things.
Naturally a half-hour presentation cannot cover all of the arcane
aspects of creating fully Debian-compliant software packages;
It should still be sufficient to outline the most important
fundamentals and get you pointed in the right direction when working
with or within the Debian environment is your goal.
I'm an Austrian who has been living in Australia for the last 13
years. Since 1993 I've been working as Software Designer and
Developer, and after finishing my university degree at the University
of Technology, Vienna in 1996 my focus shifted towards System
Administration and R&D in an ISP environment.
Later on I've worked as Security Consultant and Network Engineer, and
after moving to Australia and teaching at Bond University for 12 years
I've gone back to my roots and now work as a Software Engineer for a
(commercial but open source oriented) software company.
My UNIX experience started with Ultrix and HPUX in the late 80s, soon
followed by Coherent and Linux. Fighting with the 0.96 kernels and the
earliest distributions like SLS taught me the value of consistency and
automation and since 2001 I've been one of many official
Over the last two decades I've been dealing with Debian in many
different environments (ranging from pure consumer installations to
academic teaching networks and both commercial and non-commercial
software development). Those experiences have provided me with a
number of "lessons learned" that I believe are worth sharing with the