For the purposes of contributing, WordPress [Core Core is the set of software required to run WordPress. The Core Development Team builds WordPress.] is organized into a few dozen components. These are well-defined, functional areas.
The Core Website
Each of these components needs at least one maintainer – someone who will manage its health and represent its interests at important phases of the release process.
A maintainer does not have to be a senior engineer, but it would help to be fluent enough in PHP The web scripting language in which WordPress is primarily architected. WordPress requires PHP 5.6.20 or higher and JS JavaScript, a web scripting language typically executed in the browser. Often used for advanced user interfaces and behaviors. to write a patch A special text file that describes changes to code, by identifying the files and lines which are added, removed, and altered. It may also be referred to as a diff. A patch can be applied to a codebase for testing. in an emergency.
At this writing (early 2020), Core has roughly 40 components (some with sub-components, for more granularity) and nearly 70 maintainers. A number of those maintainers have deep, overlapping interest in several areas, and they likewise help maintain several components.
What does a component maintainer do?
Writing code is likely the smallest part of the maintainer’s job. More of the role is stewardship: making sure the component works well in the larger context of WordPress Core.
Specifically, as a maintainer, you will:
- Triage The act of evaluating and sorting bug reports, in order to decide priority, severity, and other factors. new tickets in your component
- Help move existing tickets forward
- Bug gardening
- Spearhead bigger tasks
- Mentor new contributors
- Propose new features, and new ways of thinking about how your component works with the whole
- Curate roadmaps
- Work with other contributors and components for a better WordPress
Your role in a release
At the start of planning for every release, component maintainers get a chance to show the release team what new features they’re working on –and which of those features they believe they can reasonably have ready to commit by Beta A pre-release of software that is given out to a large group of users to trial under real conditions. Beta versions have gone through alpha testing in-house and are generally fairly close in look, feel and function to the final product; however, design changes often occur as part of the process. 1 of the release.
Shepherding tickets
is a huge part of the maintainer’s role. It means you make sure a ticket Created for both bug reports and feature development on the bug tracker. describes an issue clearly, accurately and in enough detail to suggest possible diagnoses, and you encourage people to add patches, discussion, testing and feedback to the ticket.
In short, you play a major role in getting as many eyes as possible on as many tickets as possible, which gets them solved and moves the project forward.
How much experience do you need to become a maintainer?
The main thing is a passion for your component. That’s even more important than being a super-expert in it, because if you love it, you’ll learn all you need to know.
You also, therefore, need to read the documentation and ask if something is not clear.
You do need to be able to code for the specific component you want to be involved with. But, again, you don’t need to be a senior engineer – though if you can do some project management and people wrangling, you’ll be ahead of the game.
The component I want to be part of already has people
There is no set number of maintainers for each component.
Longtime maintainers with a deep understanding of particular areas of core are always looking for people to mentor. They want to get more people involved and share their knowledge.
In fact, the more the merrier! So come share the workload and have some fun.
I’m already a maintainer, but I can’t dedicate the time right now.
It’s OK! Another thing that’s important: ask for help when you need it.
If for any reason you can’t devote the time you used to, whether for now or forever, please say so. Other people might be willing to step up, so things don’t stall for too long.
You can stay on as a maintainer, or you can ask to be removed from the list: it’s totally your choice.
I am already a maintainer, but I feel I need to become a committer A developer with commit access. WordPress has five lead developers and four permanent core developers with commit access. Additionally, the project usually has a few guest or component committers - a developer receiving commit access, generally for a single release cycle (sometimes renewed) and/or for a specific component. to do a better job …
… or maybe I just need to recruit a committer, so we can move things along faster in my component.
Being a maintainer and a committer are two separate things! Completely. They require different skills, different levels of knowledge of the project, experience, activity.
Of course, they’re not mutually exclusive. But becoming a committer follows a different procedure, and ultimately commit access comes from Matt.
If you champion your component with appropriate vigor, you’ll get committers. Because your tickets will have had the eyes, the patches and the total attention they need to move along.
All right, I’m convinced!
I want to be a maintainer. Where do I sign up?
Do any of these three:
- Leave a comment on this post with your questions or your availability
- Ping The act of sending a very small amount of data to an end point. Ping is used in computer science to illicit a response from a target server to test it’s connection. Ping is also a term used by Slack users to @ someone or send them a direct message (DM). Users might say something along the lines of “Ping me when the meeting starts.” the existing maintainers
- Attend the Core chats: there is a Component Maintainer section, and other attendees can help.
Thanks for making WordPress!