Last updated February 3, 2016.
This page is drawn from the introduction to the Drupal core governance overview. For more information on Drupal core maintainers, including specific roles, responsibilities, and the decision-making process, refer to the full core governance charter in the Drupal Community Governance project repository. The core/MAINTAINERS.txt file lists the current maintainers.
What is a core contributor? (#)
Anyone at all with a Drupal.org account can be a core contributor, simply by participating in the Drupal core issue queue. A core contributor is someone who:
- Posts bug reports and feature requests
- Uploads code changes ("patches") to the issue queue
- Reviews the behavior and code changes from a given patch
- Posts constructive, actionable feedback on how other core contributors can improve their work
- Performs "triage" of the issue queue, such as closing out duplicate issues, setting metadata properly
- Contributes their skills and experience such as architecture, design, accessibility, access to non-technical users, and development
- Various other collaborative activities
In short, core contributors are empowered to drive changes within Drupal's code base, and to work with other core contributors to help get changes they care about in, using a variety of both technical and non-technical skills.
Most proposed changes follow a standard peer review process, with sign-off from one or more maintainers (who are themselves a subset of core contributors).
What is a maintainer? (#)
(Thanks to Docker for the inspiration.)
There are different types of maintainers, with different responsibilities, but all maintainers have three things in common:
- They share responsibility for the project's success.
- They have made a long-term, recurring time investment to improve the project.
- They spend that time doing what needs to be done, not always what
is the most interesting or fun.
Maintainers are essential, but the results of their work are not always immediate or obvious. It's easy to appreciate a really cool and technically advanced feature. It's harder to appreciate the absence of bugs, the slow but steady improvement in stability, or the reliability of a release process. But those things distinguish a good project from a great one.
Potential maintainers generally demonstrate expertise, consistency, and passion contributing in their area before they become maintainers.
Maintainers with commit access need additional skills. They are reliable, decisive when needed, open to feedback, and able to give others feedback constructively. They also need significant prior experience participating broadly in core issues (usually at least a year).
It's generally desired to have at least two people in any given maintainership role, in order to prevent burnout and to help ensure there are ample people available for unblocking a given decision; however, this is not a hard requirement. Maintainers are expected to give clear, objective reasons and actionable feedback in the event they push back on a given change.
What are the different types of maintainers? (#)
The list below defines the different maintainer roles.
- The Benevolent Dictator for Life (BDFL): The founder and chief decision-maker for the project.
- Core Committers: The small subset of people who, along with the BDFL, can commit changes to Drupal core itself. Within the core committer team there are:
- Product Managers: Focus on user-facing features and Drupal's user experience.
- Framework Managers: Focus on cohesiveness of Drupal's architecture, APIs, and developer experience.
- Release Managers: Focus on processes to increase release stability, and on facilitating effective collaboration among contributors.
- Subsystem Maintainers: Maintainers of one particular part of Drupal core, such as the Entity system or Comment module.
- Topic Maintainer: Subject-matter experts in a topic that spans multiple subsystems—Accessibility, Documentation, Performance, Testing, and Usability. These correspond to the core gates which all proposed changes must pass.
- Initiative Coordinator: Community members appointed by the BDFL to coordinate strategically important work. Initiatives are typically cross-functional in that they span different subsystems and different topics, and can affect both Drupal the product and Drupal the framework.