All too often we are faced with roadblocks, hurdles and limitations within everything we do. Whether it’s in our personal, work or digital lives, there are often items which stand in the way of us achieving our goals. Success, however, comes flooding through when we remove or refactor these limiting beliefs.
Today, I’d like to share the story of how I removed a limitation, and submitted my first patch to WordPress core in the process.
I love WordPress and use it every day. Heck, I’ve used the software since 2006 and have only fallen more and more in love. Aside from developing themes, plugins and services around WordPress, as well as helping out in the community forums, speaking at WordCamps and generally just being involved in as much as I can, one area of WordPress that has always been a bit of a stumbling block is submitting a code patch to WordPress core.
When submitting code patches to WordPress core, there are many factors involved; finding a Trac ticket to work on (or adding your own), coding the patch, creating the patch file, uploading the patch file and offering commentary on what your patch addresses and how. There is also ensuring you have the latest development version of WordPress and an environment to code in.
This sounds like quite a few roadblocks towards offering a few code changes.
I began to break this down into smaller tasks. “What can I do, right now, to get me one step closer to contributing to WordPress core?”
I started by setting up a new development environment. This took all of 5-10 minutes one evening before bed. I took it slow and have quite a custom development environment already, so this could’ve taken quicker.
From there, I moved on to how I’d get the latest version of WordPress to work with. I chose to fork and clone the GitHub repository instead of using SVN, as I’m more of a fan of the Git workflow, being able to easily branch locally, etc. This removed the “SVN isn’t my thing” roadblock.
Now to find a Trac ticket to work on. While there is a nice list of good first bugs, I felt there was one particular item I’d like to explore and which I see very often; users uploading a theme via the plugin uploader and visa versa. As is good practice, I searched for an existing Trac ticket and found one. It hadn’t been touched in a few months and had no patches submitted, so it was perfect for me to jump in on and offer a proposal.
So far, roadblocks removed: development environment, copy of WordPress core, and a Trac ticket to work on. At this point I stopped and examined what needed to be done. All that was left was to work on the Trac ticket.
I began working on the ticket, created my patch and submitted the patch file for discussion. Within the space of under an hour of time investment, I’d removed all roadblocks and achieved my goal of contributing to WordPress, the project which has given me so much and helped to shape and direct my career.
When faced with a roadblock in anything, it’s a great idea to pause, take a step back and examine the smaller elements which make up your roadblock. You may find it’s really not all that “roadblock-ish” and is mostly a matter of perception.