Articles, Misc|Rants

Contributing to WordPress Core — what, why and how

Lately, I’ve been thinking about dedicating a few hours weekly to working on WordPress Core. I have many reasons to do so. Challenging myself and improving my programming and communication skills, while expanding my portfolio are some of them. But what’s that “Core” thing? And even if you know that, why should you care? You are not a charity and don’t have time to waste, right? In today’s article, I’ll show you that contributing to WordPress Core is one of the best things you can do as a web developer, plus you’ll learn how to start, especially what resources to study and who to listen to.

What is WordPress Core?

WordPress Core is the umbrella term of the WordPress project. It covers the development of WordPress itself and activities around it.

In addition to the files you download when setting up a new WordPress site, the WordPress project contains unit tests1, various configuration files and a Grunt2 build scripts. The code is hosted on a SVN repository3 (similar to Git) maintained by Automattic. Want to know more about the WordPress Codebase? Read the Core Handbook4.

The activities with which you can contribute to the Core include:

  • finding and reporting bugs/issues in the code5
  • fixing submitted tickets (bugs) by writing code6
  • applying patches (bug fixes) and testing whether they work on your computer7

Apart from that, educating newcomers and spreading good words help the community as well.

Why should I care?

Contributing to WordPress Core requires a huge amount of effort and dedication. Be ready to reserve at least 10 hours a week to this cause if you want to have an impact on the development.

“Why should I care?”, you ask. Well, the countless reasons for doing so range from the nobler ones to the practical ones.

For starters, you help to improve the software you (and the other 24% of the web8) use so much. As the reasons are plentiful, I’m putting them into a list:

  • challenge yourself and see if you can do it
  • you get credit for your contributions which is shown on all WordPress sites
  • your contributions are deployed on millions of websites (large impact)
  • what’s better for your programming portfolio than to show you work on WordPress Core?
  • increase your rates, earn more money
  • understand WordPress in-depth
  • acquire new skills and polish the old ones
  • establish new friendships with highly intelligent people
  • be part of a global community
  • show off your skills; while the work you do for your employer is seen by him, work done on WordPress is seen by thousands (including big companies)
Figure 1: WordPress update Credits screen

Figure 1: WordPress update Credits screen

Don’t take my word for it, listen to the guy behind Ghost blogging platform9, John O’Nolan10, and his story of how he went from working for small guys to working for big companies, just by contributing to the Core. Really inspiring talk, thanks, John!

Let’s do it, but how to start?

The nice thing about the Core is that it’s developed in the open fashion (open source), therefore we can watch how other programmers work and learn from that. Start by identifying the key people in the community (usually the Lead Developers such as Andrew Nacin), listening closely to what they say and do. Many of them blog and speak regularly. The best thing to do is to delve into the opened tickets on Trac, study them and then come up with your solutions and ideas.

Here’s a (short) list of people and their stuff I’ve read or listened to:
– everything from Andrew Nacin 11
– Silviu-Cristian Burcă 12
– and all the other great folks (too many to list here) 13

What is more, there is a great deal of valuable information on the official WordPress TV14 where you can find talks from the aforementioned people. Also, do you have local WordCamps? They usually include a Contribution Day during which more experienced people from the community help you to make your first contribution.

My (secret) plan is to find some interesting tickets, read the entire conversation between developers, study the already submitted patches and then solve it (:D). All jokes aside, it’s crucial to read and understand the whole communication on a ticket before even trying to propose a fix.

Don’t be scared — if “kids” under 20 could work on the Core (ocean9015 and Scribu to name a few), why couldn’t we?

While you probably won’t be paid for contributing to WordPress directly in the beginning, after some time, after you prove yourself, you could get employed by a WordPress-related company which will provide a salary for doing so, such as 10up.

Word of advice

As I haven’t done much in the Core yet, I don’t know what I’m talking about. Anyways, here’s piece of advice for the newcomers:

  • remember, the WordPress Core is a meritocracy16 so you need to earn your stay and seniority
  • Matt Mullenweg, Automattic and WordPress founder is at the top and has the last word
  • show up periodically and work consistently
  • overcommunicate, give relevant evidence, use screenshots, etc
  • don’t rush things and be patient for your patches to be accepted; it might take months to years
  • if you really want something to happen, push as hard as possible for as long as possible

And most importantly, have fun! See you in the Core.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s