Project:Council/Metastructure reform 2005/Keep-current
Developer hierarchy
Introduction
This section aims to explain the Gentoo development hierachy and gives developers an insight to how Gentoo Linux development management is structured.
The Top-Level management structure
The purpose of the new management structure was to solve chronic management, coordination and communication issues in the Gentoo project. In particular, we had no clearly defined top-level management structure, and no official, regular meetings to communicate status updates between developers serving in critical roles. In general, most communication took place on IRC and irregularly via email. There was also little to no accountability, even at a high level, to complete projects on time.
Because of this prior state of affairs, it was difficult to set goals and track the status of projects. This lack of communication and coordination also made it difficult for top-level developers to manage their own projects. In addition, we had other chronic problem of not having clearly-defined roles and scopes of executive decision-making authority for top-level developers, which resulted in many top-level developers doubting that they even have the authority to manage their own projects and sub-projects. While this had *never* been the intention of top-level developers, it is the unfortunate result of an unstructured development process: no one knew what was going on, and everyone deferred to the Chief Architect for all executive decisions.
Clearly, a plan was needed to swiftly and permanently address these issues by increasing communication, coordination, and accountability. Roles and scopes of executive decision-making authority needed to be defined for top developers so that they have a clear mandate as well as accountability to manage their projects and thus ensure their projects completed their appointed work efficiently and on-schedule.
The following list outlines the system:
- Top level leads : decide on development efforts
- Sub project leads : correlate development efforts with teams
- Team leads : head their team and ensure its productiveness
- Developers : develop and improve Gentoo Linux!
Top-Level and sub-project leads
Top level leads work on leading major aspects of development such as release coordination and also are responsible for outlining where development efforts should go and how Gentoo should improve using user and developer feedback.
Sub project leads are responsible for coordinating the wishes of the top-level leads and the Gentoo community to their teams: for example, new guidelines for the X86 architecture might involve the base-system team and also the kernel teams which would be coordinated by a sub project leader.
Sub project leads are optional, and so are top level leads: however, in most circumstances your team would usually end up working under the recommendation of the architecture leads.
Team leads
Team leads are responsible for organizing the developer in their team and coordinating releases and also resolving issues within the team, as well as improving products on the basis of feedback from the community.
Teams are not required to have team leads, and some teams often work on a we-fix-it-when-we-get it basis and this may be a better solution than having a team lead in certain circumstances. However, this is up to the team to decide.
Most teams are part of a herd, which is an effort to organize development efforts. Please see the Metadata Project page for more details.
Developers
Developers are responsible for developing the distribution and working on their relevant projects. Some developers may be part of a team, while others may work on a project which is not part of a team, or herd.
If developers have any issues, they should speak with their team leads, top level leads, or alternatively you may mail the gentoo-dev or gentoo-core mailing lists with requests for advice or comments.
This page is based on a document formerly found on our main website gentoo.org.
The following people contributed to the original document: Donny Davies, Peter Gavin, Karl Trygve Kalleberg, Mike Frysinger, Daniel Robbins, John P. Davis, Jorge Paulo, Sven Vermeulen, Zack Gilburd, Benny Chuang, Erwin, Dan Armak, Alastair Tse, Paul De Vrieze, Owen Stampflee, Seemant Kulleen, Jon Portnoy, Carl Anderson, Ciaran McCreesh, Nicholas D. Wolfwood, Marius Mauch, Daniel Black, Tim Yamin, Gentoo Developer Relations Team
They are listed here because wiki history does not allow for any external attribution. If you edit the wiki article, please do not add yourself here; your contributions are recorded on each article's associated history page.
The content of this document is licensed under the CC-BY-SA-1.0 license.