Contribute to Ubuntu Development
Ubuntu, like other Linux distributions, relies on a vast collection of software packages created and supported by a global community of passionate developers. There are a number of ways that you can help support its ongoing development no matter what your current skill or knowledge level is.
Getting Started - Ubuntu Prospective Developers
Join the discussion
The Ubuntu Discourse acts as a central hub for community discussion. Ubuntu developers use this forum to ask for feedback, discuss changes, and explain what they’re working on. The Ubuntu Discourse provides a gateway into the community and its ongoing activities.
Join in the conversation at the Ubuntu Discourse.
Reporting Bugs
If you run into a bug while using Ubuntu, there is a high probability that someone else will too. Reporting these issues can help developers identify problems with their packages and help improve the overall quality and stability of the operating system.
Discover the keys to successful bug reporting.
Join the BugSquad
No one likes bugs (Maybe with the exception of entomologists). An excellent way to help improve Ubuntu is by verifying, identifying, classifying and prioritizing bugs in a process calling triaging. This is where the BugSquad Team helps fulfill a crucial role within the development process.
Join fellow bug hunters on the BugSquad Team.
Patch Pilot Program
If you’ve discovered a fix or patch for a particular bug and need help getting it into Ubuntu, the Patch Pilot program is a great entry point. The program is designed to make contributing to Ubuntu a welcoming and inspiring experience while fostering community knowledge and maintaining ongoing contributions.
Need help with your patch? Receive help from a Patch Pilot.
Are you a developer looking to mentor? Become a Patch Pilot!
Package Maintenance
Ubuntu software is distributed in the form of “packages”, that all work together to provide the software our users interact with on a daily basis. Helping maintain and update outdated or buggy packages is one of the best ways to sharpen your packaging skills. The best way for a newcomer to get involved with packaging is via the Masters of the Universe commonly referred to as the MOTU.
Learn about the role of the MOTU and the Ubuntu packaging process in The Ubuntu Packaging Guide.
Continue your Prospective Journey
These are just a few ways that you can contribute to the ongoing development of Ubuntu and work towards more official recognition and rights within the project. Engaging with fellow contributors, joining in on important technical discussions and providing helpful feedback will allow you to improve your standing within the community and grow your developer skills.
Taking things to the next level - Ubuntu Contributing Developers
Ubuntu Contributing Developers
Contributors who have demonstrated significant and sustained contributions in the area of Ubuntu Development, but aren’t ready to apply for upload rights at this time, can apply for Official Ubuntu Membership.
Learn more about the Ubuntu Developer Membership Process.
Ubuntu Developers (from delegated teams)
Ubuntu Developers from delegated teams are members of a delegated development group in Launchpad who are collectively responsible for maintenance of some subset of packages in Ubuntu. These developers understand packaging concepts, having substantial experience uploading packages through a sponsor. They are also granted a vote when the Development Membership Board or Technical Board are polling Ubuntu Developers on important project decisions.
To join a delegated team, a developer must either be admitted by the team or via the Development Membership Board. To learn more about the various delegated teams within the Community, visit this Ubuntu Wiki article.
Resources for new and existing Ubuntu Developers
Quick reference
Welcome to the team!
After being accepted by the Developer Membership Board, you are now an Ubuntu Developer, congratulations!
Here are the basics for uploading to Ubuntu:
- There are many similarities compared to a PPA. Some exceptions include (but are not limited to):
- A dedicated -proposed pocket for uploads.
- Difference in version numbers (e.g. a
~ppaX
suffix is not appropriate for the archive.)
- Uploading using
dput ssh-ubuntu
is preferred, see this mailing list post for more details. - It’s always better to ask if you’re unsure before uploading, not after.
Transitions
Transitions can be an exciting experience for some and a frightening experience for others. It is important to be considerate with your uploads, so entanglement is minimized.
As an example, let’s say we are doing a transition from Python 1.1 to 1.2, which has many reverse dependencies. That transition would likely show up on the Ubuntu Transition Tracker, which is the first sign you should be careful before uploading a Python package. The next step is to check the excuses page, which will give you a wider view of the packages in the proposed pocket. If you are still in doubt, join the #ubuntu-release channel and ask there.
-ntu Development IRC Channels
#ubuntu-devel IRC Channel
#ubuntu-packaging IRC Channel
#kubuntu-devel IRC Channel
#lubuntu-devel IRC Channel
#ubuntustudio-devel IRC Channel
#xubuntu-devel IRC Channel
Ubuntu Development Mailing Lists
Ubuntu Development Mailing List
Ubuntu Development Discussion Mailing List
Ubuntu Accessibility Development Mailing List
Kubuntu Development Mailing List
Lubuntu Development Mailing List
Ubuntu Kylin Development Mailing List
Ubuntu Studio Development Mailing List
Xubuntu Development Mailing List