Contibute to Ubuntu

Dev communication

IRC channels

#ubuntu-quality — the new and improved bug fixers
#ubuntu-bugs — older but still popular bug fixers
#ubuntu — general help
#ubuntu-desktop — for gnome, unity, etc help

Mailing Lists (announce-only, the most important development announcements go here) (general Ubuntu development discussion) (MOTU Team discussion, get help with packaging)

Using different Ubuntu Versions

Even though you may have Ubuntu installed, many of the bugs call for different releases and have different package requirements. In order work on these systems, Ubuntu has released a few tools that allow lightweight virtualization to take place.


Chroot is the lightest way of testing a different release. It will take a shell and change it's environment such that the top level folder is the folder specified. For example, if I have a file "~/trusty" which holds the Ubuntu Trusty filesystem within it, then the command "sudo chroot trusty" will change the root to appear to be located within this file.
The debootstrap command will create a light Ubuntu filesystem in a specified folder.
More information on these commands can be found here.


Testdrive is usefull for when you need a full virtualized environment for testing. Installation guide is here

Package Types

When linux was first created packagers did not use specific version control. Instead, they created layered tarballs with each official version and implemented changes from different developers in the form of "patches". Many packages are still maintained in this way, so it is necessary to know how to use both the apt-get system of obtaining source code as well as using bazaar (Ubuntu's version control).

Traditional packaging

More information can be found here

Ubuntu Distributed Development (UDD)

More information can be found here

Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License