My unremarkable story of becoming a WordPress core contributor

My story of becoming a WordPress core contributor is a big deal for me but very insignificant to anyone else. Nonetheless, this is how it happened and why you can now rest in the knowledge that WordPress uses standard terminology for “front end” and “back end” and a WordPress post embed won’t cause an authentication dialog box to show up in certain situations. You’re welcome.

It has been a goal of mine to become a WordPress core contributor for a few years now. I’ve tried on a couple of occasions but made more of a concerted effort last year.

I was aware of the Good First Bugs list and started there at the onset of the WordPress 4.5 development cycle in January 2016. I opened each ticket to see whether a patch had been submitted. I found a couple where patches were not present and where not much in the way of changes were required in order to put forward a suitable patch, thus increasing my chances of putting forth an acceptable patch.

The first of these tickets is #35322. The ticket was simple enough: the new embed feature introduced in WordPress 4.4 came with a standard template, including a small image of the WordPress logo if a site icon is not defined. The trouble is that this image was located in the wp-admin directory which can’t always be assumed to be publicly accessible. So on sites where the wp-admin directory is protected by HTTP authentication for security reasons, the WordPress logo in the embed template would cause an authentication dialog to show up.

The solution was quite simple: locate and call the WordPress logo image from the wp-includes directory instead which is considered to be publicly accessible. So I put forward a patch and waited (in my ignorance) for it to get approved. As it turns out, some more senior contributors had discussed the matter and decided to take a different, more elaborate approach, at which point, I just stood down, failing to see why their more complex solution was any better than the simple one I had put forth.

I had already started work on another ticket, #34887, so I wasn’t too down-hearted about #35322 being taken out of my hands. #34887 was a ticket all about terminology and grammar so I felt right at home being a big fan of spelling and grammar.

The gist of the ticket was to standardise on the correct usage of front-end / frontend / front end and back-end / backend / back end. I explained what each term meant and put together a patch which standardised on the correct use of each term across the WordPress codebase.

After bringing this patch up two or three times in the weekly bug scrubs, I gave up hope after being told that WordPress should use terms that make most sense to its users regardless of it being the correct usage of the word.

This actually quite infuriated me as I disagreed with this stance: I feel like being in such a position of influence, WordPress should be using correct grammar and terminology, not perpetuating bad habits. As such, I threw down my gloves and gave up on becoming a WordPress core contributor, at least for the 4.5 release cycle.

Then, out of the blue, Dominik Schilling (@ocean90) was apparently doing some clean up in Trac and came across my two tickets. In each case he agreed with the patches I had put forward and immediately committed them for inclusion in WordPress 4.5. So just when I thought all my efforts had gone to waste, I now had two patches being included in WordPress. They may be small contributions but they’re certainly a big milestone for me (everyone remembers their first 😉). And just like that and without any fanfare, I was a core contributor.

wordpress-profiles-dave-clements

wordpress-45-coleman

Author: Dave

Dave is many things. Most importantly, he's a husband and a father to Ellie and Jack. Almost as important, he's British (though he lives in Florida). Following on from there, he's a WordPress developer and civil engineer, has an unhealthy love of hummus, is vegan, likes cider, wants to travel to Iceland and Japan, loves solving puzzles and is a realist.

Leave a Reply