The Packaging and Development guide is currently undergoing a major overhaul to bring it up to date. The current state you are seeing now is a preview of this effort.
The current version is unstable (changing URLs can occur at any time) and most content is not in properly reviewed yet. Proceed with caution and be aware of technical inaccuracies.
If you are an experienced packager and would like to contribute, we would love for you to be involved! See our contribution page for details of how to join in.
Launchpad is a software collaboration and hosting platform similar to platforms like GitHub. Launchpad is also the platform where the Ubuntu project lives. This is one of the major differences between the Ubuntu and Debian infrastructure.
Although the Ubuntu project is probably the largest user base of Launchpad, Launchpad can be used by anyone.
Launchpad features, among others, are:
Bugs: Bug Tracking System
Answers: community support site and knowledge base
Translations: collaboration platform for localising software
Blueprints: feature planning and specification tracking
Ubuntu package building and hosting
While platforms like GitHub put users and groups at the top level, Launchpad
puts projects at the top level. If you take Ubuntu as an example, you can
see that you can access it at the top level: https://launchpad.net/ubuntu.
Users and groups begin with a
~, for instance https://launchpad.net/~ubuntu-foundations-team.
Why not use platforms like GitHub?¶
Although Launchpad’s UI and UX are a bit dated, Launchpad offers an unparalleled Ubuntu package building and hosting infrastructure that no other platform offers. Even simple requirements like building for architectures like PowerPC, s390x, or RISC-V can not be fulfilled by GitHub or similar platforms.
Personal Package Archive (PPA)¶
Using a PPA is straightforward; you don’t need the approval of anyone, therefore users have to enable it manually. See how to Install packages from a PPA.
This is useful when you want to test a change, or to show others that a change builds successfully or is installable. Some people have special permission to trigger the autopkgtests for packages in a PPA.
You can ask in the IRC channel
#ubuntu-devel if someone can trigger
autopkgtests in your PPA if you don’t have the permission.
git-based workflow for the development of Ubuntu source packages¶
Launchpad hosts a git-ubuntu importer service that maintains a view of the entire packaging version history of Ubuntu source packages using git repositories with a common branching and tagging scheme. The git-ubuntu CLI provides tooling and automation that understands these repositories to make the development of Ubuntu itself easier.
You can see the web-view of these repositories when you click on the “Code” tab of any source package on Launchpad, for example, in the “hello” source package as shown in the following screenshot:
Launchpad has some markup features that you can use when you e.g. report bugs, write comments, create merge proposals.
See the Launchpad text markup reference for more details.
If you need help with Launchpad you can choose any of the following methods:
IRC chat rooms¶
irc.libera.chat IRC server you will find the
#launchpad channel, where you
can ask the Launchpad team and the Ubuntu community for help.
If you prefer to ask for help via email, you can write to the
mailing list (
Ask a question¶
As mentioned above, Launchpad has a community FAQ feature (called “Answers”) where you can see other people’s questions or ask one yourself. Use can use the Answers feature of the Launchpad project on Launchpad itself.
Report a bug¶
Before new features are deployed to the production environment they get deployed to a staging environment where the changes can get tested.
You can use the staging environment, to try out Launchpad features.
Launchpad has a web API that you can use to interact with its services. This makes it easy for developer communities like Ubuntu’s to automate specific workflows.
You can find the reference documentation for the web API on Launchpad.