Ubuntu developers

Note

Page source

TODO: This page probably should be split up

TODO: There is also some overlap with the community pages (which I have not incorporated) that discuss roles and memberships.

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 categorize the different kinds of involvement and upload rights in Ubuntu, it would look like this:

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 Ubuntu development.

  • 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 sponsorship process.

  • Participate in technical discussions with Ubuntu developers, providing ideas and feedback.

Become 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 in 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 Ubuntu development – see Membership requirements for guidance on what our expectations are for “significant” and “sustained”.

  • Are implicitly considered Ubuntu Members.

  • Continue with sponsored uploads as a Prospective Developer.

Join the ubuntu-developer-members team

Ubuntu Developers (from delegated teams)

  • Are members of a delegated development group in Launchpad.

  • Are collectively responsible for maintenance of a subset of packages in Ubuntu.

  • Understand packaging concepts, having substantial experience of 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 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 their delegated subset of packages.

At the current time, the following teams are considered delegated teams admitting their own members:

The following teams are considered delegated teams whose prospective members apply to the Developer Membership Board:

The following package sets currently exist without a team owning them:

  • lubuntu

  • xubuntu

  • ubuntu-mate

Join a delegated team

  • Check 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.

Form 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 description should contain a name for the package set, and set out criteria against which packages can be tested for membership.

    • An initial list of packages.

    • An initial list of members (with their 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

  • Ubuntu distribution is organized into seeds. The basic seeds, which define what goes into the Archive’s main component, are: minimal, boot, standard, desktop, ship, live, and supported. There are many other seeds, which 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 this 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 of 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 to expand their understanding of packaging work.

  • Provide guidance for prospective Ubuntu developers regarding technical issues.

Join MOTU

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.

  • Can apply this knowledge to a variety of packages and sub-systems.

  • 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.

Join the Core Dev team

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 enough technical knowledge of the package(s) in question from documented work in the package through sponsorship, work in other distributions, or work upstream.

  • Understand 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.

  • Understand 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 advocacy and support from existing developers, indicating that their previous work on the package warrants unsupervised upload.

  • Need to have documented previous concern for the packages in question in Ubuntu, including previous uploads, effective bug management, etc.

  • 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 as applicable to a wide variety of software, or large number of packages in the archive. 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 Form a delegated team.

There is a slightly special procedure for Debian Developers wishing to have upload rights to their packages. See application process.

Join the Per-Package Uploaders

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, thus demonstrating an understanding of SRU policies, requirements and process.

  • 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 on package-specific areas in Ubuntu, such as MOTU and Package Set 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.

Join SRU developers

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 members 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.