Projects and Herds
Projects

The management structure of Gentoo, called the "metastructure", is defined in GLEP 39. In Gentoo, a project is a group of developers working towards a common goal in various different areas. For example, the Devmanual project focuses on maintaining this document. Many others are responsible for maintaining packages. Projects spanning a large area of topics can have multiple subprojects specializing in particular fields within the domain of the parent project and thus form a project hierarchy.

A package maintained by a project needs to have the project explicitly listed as a maintainer in its metadata.xml. The full listing of all the projects can be found on api.gentoo.org or on the wiki.

Starting New Projects

According to the metastructure any developer may create a new project. There are two procedures involved in starting a new project:

  1. Create a new project page through the wiki.
  2. Post a Request For Comments (RFC) email to the gentoo-dev mailing list.
There is no approval required for the RFC and negative comments do not block a developer from creating a project. Competing projects are allowed to co-exist in Gentoo; existence of another project with similar goals do not block another developer from starting a new project with the same goals.

Joining and Leaving a Project

Members of a project are managed through the project's page on the Gentoo Wiki. Each page has a "Project" template in its source which lists the members of the project. Simply modifying the list is sufficient for adding or removing a developer. Note that different projects have different requirements and procedures for recruiting developers, which may require prior arrangements to be made before modifying the member list.

Developers should remember to add themselves to the alias by editing /var/mail/alias/misc/<alias name> on dev.gentoo.org. For example, the alias for the Devmanual project is located at /var/mail/alias/misc/devmanual, which corresponds to the project's email address devmanual@gentoo.org.

Herds Herds have been declared obsolete as per the Gentoo Council's decision on January 10, 2016. The following section is preserved for historical purposes.

A herd is a collection of packages with an associated set of maintainers. It can happen for example because of retirement that a herd has no developers but this should be avoided if at all possible. A herd has an associated email address which can be used for bugzilla assignments. This email address is not always herdname@gentoo.org for example, because of the way Gentoo's email aliases are set up, the cron herd use cron-bugs@gentoo.org (aliases cannot match system usernames).

A project is a group formed for handling a particular general area. A project may have herds associated with it.

Sometimes herd and project names overlap for example, the sparc project has an associated sparc herd which maintains sparc-specific packages (such as the silo bootloader). This is not always the case.