Ubuntu benefits from a strong Debian, and Debian benefits from a strong Ubuntu. - MarkShuttleworth

Every Debian developer is also an Ubuntu developer, because one way to contribute to Ubuntu is to contribute to Debian. - MarkShuttleworth

We incorporate Debian changes regularly, because that introduces the latest work, the latest upstream code, and the newest packaging efforts from a huge and competent open source community. Without Debian, Ubuntu would not be possible. - MarkShuttleworth

This page is for Ubuntu developers who are thinking about contributing to Debian. It gives the current "best practice" with regard to collaboration with another distribution. This is not a requirement, but it can make everybody's life much easier to keep other distributions and upstream on the same page.

Why should I care about Debian?

What's stable, testing, unstable?

The “stable” distribution contains the latest officially released distribution of Debian. The “testing” distribution contains packages that haven't been accepted into a “stable” release yet, but they are in the queue for that. The main advantage of using this distribution is that it has more recent versions of software. The “unstable” (codenamed sid) distribution is where active development of Debian occurs. Generally, this distribution is run by developers and those who like to live on the edge.

More information about Debian releases, how "testing" becomes "stable" and more can be found at: Debian releases page.

I'm a Ubuntu user and I want to install Debian

The Debian project and contributors are developing d-i, the new Debian installer. It is in use by Debian and Ubuntu, with minor changes. In other words, if you feel comfortable installing Ubuntu you will have the same feel installing Debian.

Note that Ubuntu (by default) installs a full desktop enviroment called GNOME and other applications for desktop use. Debian installation procedure will ask you which sets of packages you want to install.

You can download latest Debian release to install at: Debian "squeeze" Installation Information page.

Why contribute to another distribution ?

The first thing to remember is that Ubuntu has a particularly close relationship with Debian. We regularly take updates from Debian, not just at the start of the Ubuntu project, but dynamically. Thus, packages that are newer in Debian are merged or synced in Ubuntu. It would be impossible to manage universe without merging from Debian, since Ubuntu has (and might always have) far less manpower than Debian.

You should aim at improving Free Software in general (or the whole world ), not just your own distribution. Contributing to upstream is the best way to do so, but contributing to Debian is also a good option. It makes everybody's life more simple, since Ubuntu syncs its packages from Debian. Having less Ubuntu-specific changes means less work to do.

Forwarding bug reports

When you find or fix a bug in Ubuntu, check if the bug applies to Debian too. If so, report a bug in the Debian Bugtracking System (you don't need to run Debian to do so). You don't need to run Debian to deal with bugs in Debian : reporting and adding comments to bugs can be made by email as described on this page.

Some things to keep in mind:

Getting new software in Debian

Why would I get my work in Debian ?

If you try to get a package included into Ubuntu directly, you might find that reviewer time is limited. We generally encourage contributors to instead get their packages through Debian, where there is significantly more (and more specialised) mentorship available.

You're probably thinking that as an Ubuntu user, you don't really mind having your work in Debian. Well let us take a look closer to understand why you want your work to be in Debian.

How do I do it ?

Depending on your final goal, and the time you want to invest in this, you have several options.

Important note: The following options are in no way part of the Ubuntu policy. They are merely advice to help improve the whole system.

Getting help with Debian and Ubuntu collaboration.

Required packaging changes

Debian has some different policies for packages. As a result, in order to get your package added to the Debian repositories, certain changes will need to be made.

Notifying Debian that your package exists

If you just want to notify Debian that a package for this software is already available, file an RFP (Request For Package). In the RFP, mention that you packaged the software for Ubuntu, and add a link to the package source.

Maintain the package in Debian yourself

If you would like to maintain the package inside Debian yourself (you don't need to be a Debian Developer to do that, and you will learn a lot of things by doing that) :

For Python packages, there is a detailed how-to: Debian/PythonModulesTeam

There is also a Perl packaging team that operates similarly to the Python team. Instead of using mentors, your should prepare your package in the Perl group's svn repo and then ask a DD member of the Perl group to review them from _there_ and upload them. The DD that uploads the package will also tag the release in the svn repository. In the Debian Perl Group, the "Maintainer:" field is always set to the DPG itself (not any individual). Those who work on the package add themselves to the "Uploaders:" field. Here is a checklist of steps in a release process using svn-buildpackage to build debian packages.

The process of filing RFPs and ITPs is described on the Debian WNPP page.

Killing the troll

Some uninformed people still think that Debian and Ubuntu are opponents, that Debian Developers and Ubuntu Developers hate each other, etc. Explain to them how things really work. Reading To Fork or Not To Fork: Lessons From Ubuntu and Debian might help to understand the details.


See Also

Debian/ForUbuntuDevelopers (last edited 2011-12-28 22:29:34 by laney)