Becoming an Ubuntu Developer: a short guide

Emmet Hikory persia at ubuntu.com
Thu Jan 27 05:01:01 UTC 2011


    I've heard and/or read a number of complaints over the past while
about how the process of becoming an Ubuntu Developer is difficult, so
I thought I'd write up a short guide to one of the many paths to
becoming a developer.  I send this to the Ubuntu Developers list for
maximum distribution, although I realise that many of you are already
developers, so won't find this as useful: please skip past it, or pass
it on to those you know that are currently interested in becoming
Ubuntu Developers (or extending the set of packages to which they have
been granted upload rights).

Step 1: Membership
    While it's not required to be an Ubuntu Member before applying to
be a developer, it is required that the criteria of Membership be met
to be approved as a developer.  In short, this means being actively
involved with and contributing to Ubuntu for some time (usually about
a development cycle, although it can be shorter for those with very
strong contributions).  Spend time interacting with other members of
the community, and learn as much about how Ubuntu works and how it is
created as possible.  Those with a specific interest in development
may find that the Masters of the Unseeded or the Bug Squad are good
places to start, if there is no other team with whom they have a
natural affinity.  Those of more general involvement may obtain
membership through any number of other sorts of contributions.  More
information on the requirements for Membership are available on the
wiki at https://wiki.ubuntu.com/Membership

Step 2: Start working in the area for which you want upload rights
    We have an increasing number of packagesets, each targeting a
specific area of development, and the negative space of all
packagesets, where we tend to focus mostly on archive quality.  Find
an area that interests you, and get to know the developers actively
working in that area.  Start working on things that fit within your
area of interest, building both expertise with the work you have
selected and close relationships with others working in the same area.
 For example, if you wish to be a server developer, start working to
fix bugs in packages in the server packageset, working closely with
the Ubuntu Server team.  Alternately, if you wish to be a core
developer, start working to fix bugs in packages in the core
packageset, working closely with other core developers.  Your goal in
this step is to become a peer to the other members of the relevant
team.  You may find it useful to review
https://wiki.ubuntu.com/UbuntuDevelopers to see some of the
descriptions of the various sorts of developers.

Step 3: Prepare an application
    Follow https://wiki.ubuntu.com/DeveloperMembershipBoard/ApplicationProcess
to create your application.  Clearly document your work in the areas
of interest.  Be especially sure to provide links to work done
upstream (including in Debian) on packages in the target area, and any
work where you were one of several contributing to a single uploaded
revision, as the automated upload tracker in launchpad only reports
those packages for which you have sole changelog credit.  Documenting
a few different types of work, or work in different parts of the
release cycle (where different choices were required) can help show a
broader understanding.  The more specific you can be in every section
of your application, the better: for example, a future plan to ensure
Ubuntu provides the best possible turnkey PBX solution for the next
LTS will often receive more credence than a short listing of "more of
the same" for someone previously working on the VoIP stack, especially
if it includes some details.  If you are working on blueprints,
listing your outstanding blueprint-related tasks here (with links) is
a great way to provide detail.  When seeking endorsements for your
application, a good strategy is to ask anyone who suggests you should
apply to endorse your application, and ask anyone sponsoring your work
to endorse you (best to ask at the time they are sponsoring it).  If
someone says they haven't seen enough of your work to endorse you, ask
them for a task or two: helping folk with their work is nearly
guaranteed to get you good endorsements.

Step 4: Apply
    Check https://wiki.ubuntu.com/DeveloperMembershipBoard for
upcoming meeting dates and times, and send a notification of your
application to the mailing list at least a week before the meeting you
wish to attend.  Be prepared to answer a few questions: these are
usually related to your prior work, other information on your
application, or Ubuntu development policies and procedures.  If your
application is deferred for some reason, contact the DMB members who
were not yet convinced, and ask them to help you develop a plan to
meet their expectations: many current Ubuntu Developers were deferred
at first pass, but it is a rare case that someone actively involved
was unable to complete the expectations within a few months, and for
some it is possible to address the outstanding issues in time for the
following meeting.

    Good luck.  If you're feeling stuck along the way, feel free to
ask other developers with whom you work regularly for guidance or
suggestions.  Failing that, ask generally in #ubuntu-devel at freenode,
or contact a member of the DMB.

-- 
Emmet HIKORY



More information about the ubuntu-devel mailing list