Five Years: My WordPress Commit-iversary


Today officially marks 5 full years since my first commit to the WordPress open source project. 🎉

In the context of the WordPress project, a committer is a contributor with the ability to modify the main WordPress repository. Since 2004, roughly 90 people have been granted commit status for WordPress Core. If you’re interested in learning more, I recommend reading The Qualities of a great WordPress contributor by WordPress Lead Developer Andrew Nacin. Though this post was written in 2014 (and his blog has likely not been updated much since then), a lot of the responsibilities and duties of a committer still hold true.

Background information on what it means to be a committer in the WordPress project from a past blog post.

Being a committer is one of the highest professional honors I have received to date. Being trusted to help maintain a free piece pf software that powers roughly 43% of the entire Internet is humbling, and it’s a responsibility that I take very seriously.

Often times, being a committer is not about committing, but rather taking no action at all. Asking questions, learning history behind previous changes and decisions, digging deep for potential edge cases, considering how something could be misused at the detriment of users or site owners, and challenging whether a change is needed at all are just some of the things I do on a daily basis that are far more important than the actual act of the committing changes to the code base.

But my favorite part of being a committer by far is unlocking doors and opportunities for others, having a small (or sometimes unknowingly sizable) part in their journeys. Everyone’s experience is unique, and it’s impossible to know how strongly your contributions can impact someone.

Commits by the numbers

Since I didn’t get around to writing a post on my third or fourth Commit-iversaries, I decided to include those stats in today’s post. It’s always interesting to look back and compare large chunks of time to see if there are any trends or surprises. All date ranges below are from November 30-November 29 of the first and second years notes, respectively.

Year Three (2020-2021)

  • 702 total commits
  • 298 commits to trunk
  • 60 version bumps
  • 18 version tags created
  • 2 version branches created
  • 10 reverts
  • 7 “unprops”
  • 1132 total props given out in my commits
  • 234 unique contributors given props in my commits

Roughly grouped, here are commits by component (* designates a component I help maintain):

  • Build/Test Tools: 287*
  • Bundled Themes: 77*
  • Editor: 37
  • Docs: 34 (focus, not a component)
  • External Libraries: 22*
  • Widgets: 19
  • Coding Standards: 14 (focus, not a component)
  • Themes: 14
  • Media: 13*
  • Script Loader: 12
  • REST API: 8
  • Help/About: 7
  • HTTP API: 7
  • Tests: 7 (focus, not a component)
  • Upgrade/Install: 7*
  • General: 6*
  • Posts, Post Types: 5
  • I18n: 3
  • Customize: 2
  • Emoji: 2
  • Formatting: 2
  • Menus: 2
  • Privacy: 2
  • Security: 2
  • Site Health: 2
  • Users: 2
  • Administration: 1
  • Filesystem API: 1
  • Login and Registration: 1
  • Network and Sites: 1
  • TinyMCE: 1

Year Four (2021-2022)

  • 326 total commits
  • 123 commits to trunk
  • 54 version bumps
  • 45 version tags created
  • 6 reverts
  • 2 “unprops”
  • 687 total props given out in my commits
  • 178 unique contributors given props in my commits

Roughly grouped, here are commits by component (* designates a component I help maintain):

  • Build/Test Tools: 89*
  • Editor: 17
  • External Libraries: 14*
  • Coding Standards: 7 (focus, not a component)
  • Query: 7
  • Themes: 7
  • Upgrade/Install: 6*
  • Docs: 4 (focus, not a component)
  • Tests: 4 (focus, not a component)
  • Formatting: 3
  • General: 3*
  • Filesystem API: 2
  • Help/About: 2
  • Networks And Sites: 2
  • Script Loader: 2
  • Administration: 1
  • Bootstrap/Load: 1
  • Canonical: 1
  • I18n: 1
  • Mail: 1
  • Media: 1*
  • Menus: 1
  • Posts, Post Types: 1
  • XML-RPC: 1

Year Five (2022-2023)

Here are some commit stats from November 30, 2022 through November 29, 2023:

  • 128 total commits
  • 83 commits to trunk
  • 5 version bumps
  • 5 reverts
  • 3 “unprops”
  • 233 total props given out in my commits
  • 77 unique contributors given props in my commits

Roughly grouped, here are commits organized by component (* designates a component I help maintain):

  • Build/Test Tools: 85
  • External Libraries: 9*
  • Bundled Themes: 14*
  • Editor: 6
  • General: 4*
  • Docs: 2 (focus, not a component)
  • HTTP API: 1
  • Upgrade/Install: 1*

Changing Priorities

Looking at these numbers, it’s clear that many of my priorities and focus areas have changed (especially this past year) to things that don’t directly involve committing code at all. I’ve taken a bit of a step back to focus on some project-level, foundational elements that were more heavily based in soft-skills, such as leadership, planning, conflict resolution, communication, and discussion facilitation.

Because commit access is often a goal or aspiration for contributors, I think it’s helpful to detail where my focus has been in order to illustrate that being a committer is not the only way to have an impact within the project. There’s countless ways to have a high impact contributing without committer status (see also the aforementioned Qualities of a great WordPress Contributor). Here’s how I would roughly summarize where my focus has been over the last 365 days (in no particular order).

After being heavily involved with a project for over 10 years, you inevitably become an informational resource that others lean on. As a trusted contributor with lots of available time to help (I’m sponsored by Bluehost as a full-time contributor through the Five for the Future program), I’m often asked to help with tasks that are a mix of time-intensive, time-sensitive, high impact, and mission critical.

Over the last year, this included leading the 6.2.2 minor release and helping to release 6.4.1, both of which were extremely time sensitive and released within a 4 days of the previous release in order to address high surface area problems. I also was available to the release squads for the 3 major and other 3 minor releases for guidance and mentorship.

Facilitating and participating in foundation-level project discussions and plans

In August, I was invited to attend the 2023 Community Summit where I facilitated discussions around 2 different topics spanning 3 time slots. There were many follow-up tasks identified during the discussions at the summit that I’ve been continually putting some thought into. Preparing for discussions at a Community Summit and properly following up after can take a considerable amount of time and effort.

A topic discussed at length during the summit is one that I have been considering for some time (even before that event): how to improve and unify the processes around giving props and proper attribution to all contributions to the project, regardless of where these contributions occur.

I’ve also been leading discussions around how we can clean up after our past selves a bit in order to make things easier for our future selves. This included leading discussions around how to make maintaining the now 14(!) default themes easier, and evaluating the project’s current database software support policy in order to publish a proposal for how to be better prepared going forward (keep an eye out for some Make WordPress Core blog posts on this soon).

And I’m currently working on outlining a proposal for how we can establish a better database support policy to make things easier for our future selves. Stay tuned for posts related to that on the Make WordPress Core blog!

Build/Test Tools

If you’re at all familiar with my contribution history, you know that I really enjoy working on the various tools we use as a project to contribute to, build, test, and distribute WordPress. Here are some related items I worked on recently:

Contributor Mentorship

July saw the inaugural pilot run of the WordPress Contributor Mentorship Program. Though I didn’t have direct involvement during the actual pilot run, I provided considerable input that helped shape what the program eventually became.

I also served as the Core team table at Contributor Day for all three flagship WordCamps this year (Asia/Europe/US).

Public Speaking & Community Involvement

In January I took over as the lead organizer for the Boston WordPress meetup group. If you haven’t lead an event or meetup group before, it can take a considerable amount of time and effort. Finding speakers, sponsors, venues, etc. can prove challenging.

The group was able to resume meeting in April 2023 for the first time since early 2020 due to the global pandemic. In total we were able to have 6 meetups between April and October. This included a really fun celebration for the 20th Anniversary of WordPress. 🥳

Add it up: All Five Years

Here are stats for all five years of being a Core Committer (November 30, 2018 through today):

  • 1946 total commits
  • 941 commits to trunk
  • 242 version bumps
  • 146 version tags created
  • 3 branches created
  • 28 reverts
  • 17 “unprops”
  • 4 commits with hidden song lyrics
  • 3,538 total props given out in my commits
  • 612 unique contributors given props in my commits

Roughly grouped, here are commits organized by component (* designates a component I help maintain):

  • Build/Test Tools: 543*
  • Bundled Themes: 190*
  • Editor: 94
  • Docs: 82
  • External Libraries: 61*
  • Security Release Backports: 53
  • General: 51*
  • Help/About: 42
  • Coding Standards/Modernization: 41
  • Upgrade/Install: 30
  • Site Health: 29
  • Administration: 26
  • Media: 26*
  • Themes: 26
  • Tests: 24
  • Widgets: 24
  • Privacy: 22
  • Script Loader: 22
  • REST API: 21
  • Miscellaneous: 17
  • Posts, Post Types: 10
  • I18N: 9
  • Menus: 9
  • Customize: 8
  • HTTP API: 8
  • Networks and Sites: 8
  • Query: 8
  • Embeds: 6
  • Emoji: 6
  • Formatting: 6
  • Bootstrap/Load: 5
  • Accessibility: 4
  • XML-RPC: 4
  • Date/Time: 3
  • Filesystem API: 3
  • Blocks: 2
  • Feeds: 2
  • Login and Registration: 2
  • Options, Meta APIs: 2
  • Plugins: 2
  • Security: 2
  • TinyMCE: 2
  • Users: 2
  • Canonical: 1
  • Comments: 1
  • Database: 1
  • Hello Dolly: 1
  • KSES: 1
  • l10n: 1
  • Mail: 1
  • Text Changes: 1

Thank you!

Finally, I just want to say thank you to everyone in the community. Especially everyone across the globe that I’ve grown close to over the past 10+ years. I wouldn’t want to be on this journey with anyone else, and I’m proud to call many of you great close friends. ❤️

,

6 responses to “Five Years: My WordPress Commit-iversary”

Leave a Reply

Your email address will not be published. Required fields are marked *