Information for being/becoming a portage developer
1.
Definitions
Portage Developer
Portage Developers work on the sys-apps/portage package by committing
code to the portage/main subversion repository, they have access to all branches.
They are listed in the Developers section on the project site under
Developers.All Portage Developers are also full Gentoo Ebuild Developers.
Portage Contributors
Portage Contributors work on specific aspects of the sys-apps/portage package
by committing code to certain branches of the portage/main subversion repository, their access
is usually limited to those branches.
They are listed in the Developers section on the project site under
Developers.
Portage Tools Developer
Portage Tools Developers work on the app-portage/gentoolkit and other packages
in the app-portage category.
They are listed in the Developers section on the project site under
Members from subproject Gentoo Portage Tools.
Portage Release Coordinator
The portage release coordinator is responsible for creating releases of the
sys-apps/portage package and maintainng the associated ebuilds in the gentoo-x86 tree.
All aspects regarding portage releases and portage ebuilds should go through
the release coordinator.
The Portage Release Coordinator is also a full Portage Developer.
Portage Project Members
This includes all above groups as well as other people working on the project that
aren't part of any mentioned group.
All members are listed in the Developers section on the project site.
Lead Developers
Each of the groups above may have one or more lead developers that have additional
rights and responsibilities.
2.
Joining the project
Requirements
The first and most important requirement is that you have an established positive
track record of contributions to the portage project, be it patches, new code, bugfixes,
documentation or other improvements. Another important requirement is to have good
interactions with existing members, e.g. repeated complaints on bugzilla involving foul
language is not going to help you to "get in".
Being an existing Gentoo developer is a benefit, but not a strict requirement (but if
you want to join the Portage project you have to become a Gentoo developer in the process).
On the technical side you should be familiar with portage itself (even
if you won't work on it directly) as well as any tools and languages involved
with your work (languages generally being python and/or bash). You don't have to be
a certified expert with them though.
Some understanding of version control systems like Subversion or CVS is highly
recommended as well as a good understanding of basic unix concepts (e.g. you know
how to use things like find/grep/sed/bash to get things done).
Recruitment process
If you are an existing Gentoo developer simply ask one of the Portage Lead
Developers to become a member, he will then add you to the projects member list
and get you the required access (or reject your request).
For non-developers the general rules is "don't contact us, we
contact you", however if you feel that your work is neglected feel free to
contact either one of the lead developers or the dev-portage@gentoo.org mail alias .
As you have to be a Gentoo Developer (not necessarily an ebuild dev though) to
get access to the repositories and other development resources you will at some
point be included in the general
Gentoo recruitment process (your mentor in this process will be an existing
portage project member). Only once you're through this process can you become a
portage project member.
Depending on the amount and quality of your existing contributions we may
ask you to perform additional portage specific tests if we feel that your
understanding of portage concepts and/or the work you're going to do has substantial
lacks, however this will be decided on a case by case situation.
One more thing to note: Due to social group dynamics we try to keep and number of
members at a reasonable size, so we don't take you in that doesn't always mean that
don't value your existing contributions, it might just be that we think that the
project is getting to big to be handled efficiently (we'll tell you the
reason of course).
3.
Leaving the project
Retiring
If you have the feeling that you aren't going to contribute to the project anymore
you're free to leave the project at any time you want. However it would be nice
to inform the project (especially the lead developers) in advance when you're
leaving, if you plan to return and if there are any open issues that have to be
resolved (e.g. unfinished tools or docs, you were the only one working on a
branch and things like that).
Leaving the portage project doesn't automatically affect your status as a Gentoo
developer, this is solely handled by the
recruiters group.
Suspension
Note: So far there hasn't been any need for suspension in this project (and
hopefully there will never be a need), so the following is just preemptive
theory |
In case one or more project members feel that another member abuses his
priviledges in some way they can report it to the lead developers, and in case of
serious abuse request a suspension of the member from the portage project.
Upon such a report (or if they are noticing an abuse themselves) the lead developers
will look into the matter, and if the report was justified (evidence for abuse is found)
they will take actions, ranging from "don't do this again" notices up
to suspension from the project (including removal of any access to project
repositories).
It's important to note that this does not affect the general Gentoo conflict resolution
procedures, so suspensions from the portage project do not affect any priviledges
outside the portage project, however a suspension might involve a complaint to
developer relations to invoke a global suspension.
4.
Role changes / elections
Leads
According to the
current metastructure model each Gentoo project must elect its leads at least
once per year. However to simplify matters the portage project has agreed to
only hold elections upon request by a member (as most members simply don't care
about leads) and otherwise rely on the existing leads.
Once an election is requested (by sending a mail to the dev-portage@gentoo.org
alias) an election will be held within the next four weeks, and the way the election
will be hold will be announced on the dev-portage@gentoo.org alias within one week
after the request.
To avoid deadlocks the request for an election can be rejected by the existing
leads if an election was already hold in the last six months prior to the request.
Role changes: Release Coordinator
The role of the Portage Release Coordinator is appointed by the Portage Lead Developers.
The contents of this document are licensed under the Creative Commons -
Attribution / Share Alike license.
|