For the purposes of contributing, WordPress [Core] 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 and JS to write a patch 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 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 1 of the release.
Shepherding tickets
is a huge part of the maintainer’s role. It means you make sure a ticket 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 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 existing maintainers
- Attend the Core chats: there is a Component Maintainer section, and other attendees can help.
Thanks for making WordPress!