My Life as a Debian Developer

Hubert Chathi

KWLUG — August 13, 2018

In 3 Days, Debian turns 25 years old

(7 more years until a nice round number)

Debian was founded by Ian Murdock on August 16, 1993, and is one of the oldest Linux distributions

A bit about me

  • started programming when I was about 10 years old on a TI-99 4A
  • first encountered Linux in the early 90s
  • started using Linux full-time in University, starting with Mandrake
  • switched to Debian at the recommendation of an acquaintance in Uni
  • liked it so much, I started packaging in 2003, and became a Debian Developer (DD) on October 16, 2006

Debian principles and initiatives

Some of the things that make Debian Debian

SC - Social Contract

https://www.debian.org/social_contract

  • a commitment to the Free Software community

DFSG - Debian Free Software Guidelines

https://www.debian.org/social_contract#guidelines

The Open Source Definition was based on the Debian Free Software Guidelines

Debian Policy Manual - a.k.a. "Policy"

https://www.debian.org/doc/debian-policy/

  • gives details on how to package software for Debian
  • ensures that packages work well together
  • there are also language-specific policies, e.g. Python, JavaScript

Portability

  • Debian officially supports 10 architectures
  • support for ~8 others is being worked on, including two non-Linux kernels: GNU Hurd and FreeBSD

Quality

quality checking tools and initiatives:

  • lintian
  • archive rebuilds
  • ports
  • piuparts
  • reproducible builds
  • autopkgtest
  • tracker.debian.org
  • pbuilder, sbuild, etc
  • source-only uploads

Other Debian values

What does a Debian Developer do?

  • maintain packages
  • maintaining is more than just packaging
    • update software (and make sure upgrades are smooth)
    • communicate with upstream
    • handle bug reports
    • make sure it follows policy
    • work with other developers (e.g. packaging teams, library transitions)

Package lifecycle:

  • RFP (maybe)
  • ITP (if necessary)
  • initial packaging
  • upload
  • NEW queue (waiting)
  • package updates
  • migration to testing
  • testing freeze
  • stable release
  • votes in GRs
    • elect Debian Project Leader (DPL)
    • issue/supersede/withdraw nontechnical policy documents and statements
    • override decisions made by DPL/delegate or Technical Committee
    • etc.
    • Debian uses the Condorcet method for voting

How to contribute to Debian

Is Debian still relevant?

  • How does it compare with different distros?
  • Docker, Flatpak, AppImage, etc.

Questions?

or: IAmA DD AMA