UbuntuDevelopers
Getting Started |
Did you mean ...
If you have arrived here trying to find out how to take part in the development of Ubuntu, then you may find these pages more useful at first:
Introduction
Ubuntu developers represent an important part of the creation of Ubuntu. They have a direct influence on the software included in Ubuntu and whether it meets the needs of end users. They are responsible for ensuring that Ubuntu works, and works as well as it can with the resources available.
Everybody is welcome to work on any package they want to improve and we value these contributions. If you don't have upload rights yet, sponsors can review your work and upload it for you.
If you wanted to categorise the different kinds of involvement and upload rights in Ubuntu, it'd look like this:
Ubuntu Prospective Developers, who probably just started contributing to Ubuntu
Ubuntu Contributing Developers, who were recognised with Ubuntu Membership
Ubuntu Developers (from delegated teams), who can upload to a specific package-set
MOTU, who can upload to Universe and Multiverse
Ubuntu Core Developers (core-dev), who can upload to all areas of Ubuntu
Per-package Uploaders, who can upload specific packages
SRU developers, who can upload any package but only to stable releases
Ubuntu Prospective Developers
This is where you should start if you are interested in joining the development team. Prospective Developers:
Work on bug fixes, merges, syncs and any other aspect of UbuntuDevelopment
- Gain experience with Debian-format packaging
- Request sponsor review of suggested changes, where sponsors:
- review the packages prepared by the prospective developer
- provide constructive feedback
- upload the package when they are satisfied with its quality
for more information, please read SponsorshipProcess
- participate in technical discussions with Ubuntu developers, providing ideas and feedback
Becoming a Prospective Developer
There are no requirements to be a Prospective Developer, and anyone with interest is encouraged to become involved. Please see the links at the top of this page for pointers some of the many ways to start contributing to Ubuntu development.
Ubuntu Contributing Developers
are members of the ubuntu-developer-members team in Launchpad
have demonstrated significant and sustained contributions in the area of UbuntuDevelopment. See Membership/NewMember for guidance on what our expectations are for "significant" and "sustained".
- are implicitly considered Ubuntu Members
- continue with sponsored uploads as a prospective developer
Joining the ubuntu-developer-members team
Check out the general requirements for Ubuntu Membership.
Apply to the Developer Membership Board using the Application Process
Ubuntu Developers (from delegated teams)
are members of a delegated development group in launchpad
- are collectively responsible for maintenance of some subset of packages in Ubuntu
- understand packaging concepts, having substantial experience uploading packages through a sponsor
- apply this knowledge by uploading new packages, and updating existing packages, in an area of expertise
- may also contribute to other areas in Ubuntu in cooperation with another developer
- answer questions of other developers in order to expand their understanding of packaging work
- provide guidance for prospective Ubuntu developers regarding technical issues
- are implicitly considered Ubuntu Members
- are granted a vote when the Development Membership Board or Technical Board are polling Ubuntu Developers
are considered as Ubuntu Contributing Developers when working outside the delegated subset of packages
At the current time, the following teams are considered delegated teams admitting their own members:
Ubuntu Desktop Developers (Launchpad: ~ubuntu-desktop)
Mythbuntu Developers (Launchpad: ~mythbuntu-dev)
Kubuntu Developers (Launchpad: ~kubuntu-dev)
Edubuntu Developers (Launchpad: ~edubuntu-dev)
Ubuntu Kernel Uploaders (Launchpad: ~ubuntu-kernel-uploaders)
The following teams are considered delegated teams whose prospective members apply to the Developer Membership Board:
UbuntuKylin Developers (Launchpad: ~ubuntukylin-dev)
Ubuntu GNOME Developers (Launchpad: ~ubuntu-gnome-dev)
Ubuntu Bazaar Uploaders (Launchpad: ~ubuntu-bzr-dev)
Ubuntu CLI/Mono Uploaders (Launchpad: ~ubuntu-cli-mono-dev)
Ubuntu Desktop Extra Uploaders (Launchpad: ~ubuntu-desktop-extra-dev)
Ubuntu Input Methods Uploaders (Launchpad: ~ubuntu-input-methods-dev)
Ubuntu Mozilla Uploaders (Launchpad: ~ubuntu-mozilla-uploaders)
Ubuntu OIF uploaders (Launchpad: ~ubuntu-oif-dev)
Ubuntu Qt5 Uploaders (Launchpad: ~ubuntu-qt5-dev)
Ubuntu Schooltool Uploaders (Launchpad: ~ubuntu-schooltool-dev)
Ubuntu Sugar Uploaders (Launchpad: ~ubuntu-sugar-dev)
Ubuntu Server Developers (Launchpad: ~ubuntu-server-dev)
Ubuntu Studio Uploaders (Launchpad: ~ubuntu-studio-uploaders)
Ubuntu Ubuntu One Uploaders (Launchpad: ~ubuntu-ubuntuone-dev)
Ubuntu Xorg uploaders (Launchpad: ~ubuntu-xorg-dev)
Ubuntu Zentyal Uploaders (Launchpad: ~ubuntu-zentyal-dev)
Ubuntu Zope Uploaders (Launchpad: ~ubuntu-zope-dev)
The following package sets currently exist without a team owning them:
- lubuntu
- xubuntu
- ubuntu-mate
Joining a delegated team
Check out the general requirements for Ubuntu Membership.
Review the requirements for the specific team of interest, and apply to that team for membership, or to the Developer Membership Board following the usual application process if membership is handled there.
Forming a delegated team
Email devel-permissions@lists.ubuntu.com with
- A description of your set of packages. The Developer Membership Board will use this description to verify which packages should belong to the set. This descripion should contain a name for the package set and set out critera against which packages can be tested for membership.
- An initial list of packages.
- An initial list of members (with Launchpad IDs).
- The Developer Membership Board, at its next meeting (providing this is more than 7 days after the application), will discuss the package set with the applicants and then vote on its creation. When applying for a set, please be prepared to attend a DMB meeting.
- The Developer Membership Board will take care of creating the package set and ensuring that the requested permissions are granted.
Requesting changes to delegated teams
Email devel-permissions@lists.ubuntu.com with the proposed change(s) and the packageset to which the change applies
- A Developer Membership Board member will review the request and either make the change or ask for further clarification if it us unclear that the package falls under the delegation granted when the team was created.
Package Sets and Seed Updates
As one may know, Ubuntu distribution is organized in seeds. The basic seeds, that define what goes into archive's main component, are: minimal, boot, standard, desktop, ship, live, and supported. There are many other seeds that can be seen at:
- For some seeds, we currently have an automated way to guarantee that the packages included in (or removed from) a seed are automatically included (or excluded) from its packageset equivalent (thus guaranteeing, or denying, upload permissions to a developer with rights to this package set).
The process to automatically generate such 1:1 mapping (among seeds <-> package sets) is described at:
MOTU
are members of the MOTU team in Launchpad
- are collectively responsible for the maintenance of packages in the universe and multiverse components
- understand packaging concepts, having substantial experience uploading packages through a sponsor
apply this knowledge by uploading new packages, and updating existing packages, in the universe component
may also contribute to the main component in cooperation with a core developer
- answer questions of other developers in order to expand their understanding of packaging work
- provide guidance for prospective Ubuntu developers regarding technical issues
Joining MOTU
Check out the general requirements for Ubuntu Membership.
Apply to the Developer Membership Board using the Application Process
Ubuntu Core Developers
are members of the ubuntu-core-dev team in Launchpad
- are collectively responsible for the maintenance of all packages in Ubuntu
- have a strong working knowledge of packaging concepts and techniques, refined through experience
have a strong working knowledge of Ubuntu project procedures, especially those related to the release process and support commitments, and an understanding of the reasons why they exist; e.g. having done an SRU or security fix
- are able to apply this knowledge to a variety of packages and subsystems
- have a history of substantial direct contributions to the distribution
- take a leading role in new development projects to improve Ubuntu
- specify, develop and deploy new features for the default installation of Ubuntu
- exercise great care in their work, with the understanding that their efforts have a direct impact on others, including:
- every Ubuntu user
- the Ubuntu release team
- corporate partners who provide support for Ubuntu
- feel a sense of personal responsibility for the quality of Ubuntu releases and for the satisfaction of Ubuntu users
- are implicitly considered Ubuntu Members
- are granted a vote when the Development Membership Board or Technical Board are polling Ubuntu Developers
Joining the ubuntu-core-dev team
Check out the general requirements for Ubuntu Membership.
Apply to the Developer Membership Board using the Application Process
Per-package Uploaders
- are developers with a specialisation in a specific set of packages in Ubuntu,
- are granted direct upload to the Ubuntu archive for that set of packages.
- have sufficient technical knowledge of the package(s) in question from documented work in the package through sponsorship, work in other distributions, or work upstream.
- have an understanding that such an access grant does not permit sole-maintainership, but rather the right to participate in the maintenance of the package as part of a team.
- have an understanding of the broad strokes of the release schedule, relevant freezes that would affect the package in question, and appropriate means by which to handle any exceptions.
- need to show advocation and support of existing developers indicating that previous work on the package demonstrated that unsupervised upload is warranted.
- need to have documented previous concern for the packages in question in Ubuntu, including previous uploads, effective bug management, and similar previous work.
- need to show a history of effective collaboration with other developers in Ubuntu.
- are specialist maintainers, not generalist maintainers. They are not expected to understand packaging best practices applicable to a wide variety of software or large number of packages in the archive, but they are expected to have exceptional technical expertise with the package(s) for which access is requested.
- are granted a vote when the Development Membership Board or Technical Board are polling Ubuntu Developers
Where a developer has an interest in a wide variety of packages, that developer is encouraged to strive for membership in one or more existing development teams. In cases where a given small set of packages attracts the interest of more than one specialised developer, the Developer Membership Board may recommend the foundation of a team. See Forming a delegated team for more information.
There is a slightly special procedure for Debian Developers wishing to have upload rights to their packages. See the application process page for more details.
Joining the Per-package Uploaders
Check out the general requirements for Ubuntu Membership.
Apply to the Developer Membership Board using the Application Process
SRU developers
are developers with a specialisation in working on stable release updates in Ubuntu.
- are granted direct upload to the Ubuntu archive for all packages but only to the stable releases.
- have uploads subject to the standard SRU process, including review from SRU team members and all other SRU policies.
- have a good track record of sponsored SRUs.
- have demonstrated an understanding of SRU policies, requirements and process through that track record.
- drive SRUs through to the end, not letting things languish in -proposed.
- are granted a vote when the Development Membership Board or Technical Board are polling Ubuntu Developers.
Developers who focus in package-specific areas in Ubuntu, such as MOTU and packageset uploaders also upload SRUs without necessarily being a member of the SRU developers team. In contrast, SRU developers work on SRUs across different sections of the Ubuntu package archive.
Joining SRU developers
Check out the general requirements for Ubuntu Membership.
- Make sure you meet the description above, and that your sponsors are willing to endorse your application.
Apply to the Developer Membership Board using the Application Process.
Benefits
All the Benefits of Ubuntu Membership
Voting privileges to confirm Ubuntu Technical Board and Developer Membership Board nominations.
- Opportunity to be nominated for the Developer Membership Board
Access to all Valve-produced games for Steam
A few Per-package Uploaders are not a member of ubuntu-dev and are not eligible for these benefits. One way to check this is to run bin/lp-check-membership from the lptools package.
UbuntuDevelopers (last edited 2023-03-20 19:54:07 by racb)