How to Contribute to WordPress (and Just Generally Be an Awesome Person)

If you’re a WordPress user or developer, you may be aware of the “Five for the future” concept, in which WordPress co-founder Matt Mullenweg has suggested that companies wanting to give something back to WordPress should dedicate 5% of their resources to contributing in some way.

A number of companies have responded to this with details of how they’re already or will be contributing their 5%, including us here at WPMU DEV, humanmade, GoWP and RocketGenius, as well as plenty of individuals who’ve formalised their commitment to giving at least 5% of their time back to WordPress.

In this article I’ll look at why it’s a good idea to contribute to WordPress and examine some of the ways in which you can make your contribution. The good news is that you don’t have to be an experienced developer to contribute: there are plenty of ways of contributing that include, but aren’t limited to, contributing to the WordPress core codebase.

Why Contribute to WordPress?

People who are used to working with other software and systems sometimes find it a bit odd that WordPress users are expected to give something back. But what’s important to remember is that WordPress is free and open source, and as such is completely reliant on volunteers to maintain, support and develop it.

WordPress 4.3 Billie - blog post on WordPress.org
WordPress 4.3 wouldn’t have been possible without dozens of contributors

What this means is that WordPress isn’t exclusively developed by a company or a small team, but that instead it has a huge team of contributors who give up their time to help improve WordPress for themselves and the rest of the community.

Just looking at the list of people who contributed to the latest version of WordPress makes you realize just how many people are involved. And this is just one release.

So if you’re using WordPress, either for your own site or for client sites, you’re getting it for free thanks to the hard work of hundreds of people who volunteer their time for no reason other than they’re committed to WordPress and want to make it better.

If you’re benefiting from their contribution, it makes sense for you to give whatever contribution you can too. Even if you’re not a developer, there are ways you can help, which we’ll look at shortly.

How to Contribute

There are four main areas in which you can contribute to WordPress or to the community of people using and developing with it, and these are:

  • Contributing to and testing WordPress Core.
  • Contributing and testing free themes and plugins.
  • Contributing to the WordPress Codex or documentation.
  • Supporting or developing the community.

All of these categories are reliant not just on developers but on people who can help in other ways. So don’t despair if you don’t think you’ve got the skills to write code for WordPress!

Let’s take a look at each of them in turn.

WordPress Core

The most obvious and best known way to contribute to WordPress is by contributing to core. As an open source project, WordPress is developed by a huge team of volunteer contributors, with that team changing from one release to the next depending on availability and relevant skills.

But WordPress releases aren’t just reliant on developers: they also need people to raise tickets and test each release as it come out. Let’s take a look at these two ways you can contribute.

1. Raising Trac Tickets

Before the changes to be incorporated into a release can be identified, issues need to be raised via tickets.

If you spot a bug with WordPress, you can raise a ticket using the trac system. If the bug hasn’t been identified by a ticket already, don’t wait for someone else tho do it – anyone with a wordpress.org account can do this, and anyone can create an account.

Contributing to WordPress - trac tickets page
Use the trac system to raise tickets

The process is described in detail in the WordPress handbook, but the main steps are these:

  1. Search Trac to make sure someone hasn’t already raised a ticket about the issue you’ve identified.
  2. If you can’t find a ticket, raise a ticket.
  3. You’ll automatically be notified of what happens to your ticket.

Raising tickets like this helps everyone because it ensures that bugs are dealt with as quickly as possible.

2. Contributing Code to Core

After tickets are submitted or new features or improvements are identified for future releases, someone has to write the code to incorporate changes into WordPress core.

If you’re an experienced developer and you’re comfortable with the core code, then you can become part of that team.

There are lots of resources available to help you do this, and the overall process is as follows:

The front page for contributing to WordPress core
The Codex page on contributing to WordPress
  1. Identify a ticket you can work on. There are two places to find tickets: the #core channel in the Making WordPress community on Slack, and the ticketing system in Trac. If you’re not already on Slack you can create an account using your login details from wordpress.org. Slack can be a bit confusing at first as it’s linear, but it is increasingly becoming the way that contributors communicate with each other and if you pick up a ticket from Trac, it might be relevant to comment on it in Slack, too.
  2. If you’re unsure of where to start, there are often tickets that are marked as “good first bugs” for contributors to start with.
  1. Work on a patch using the process described in the Core Contributor Handbook.
  2. Submit your patch using subversion or the command line.

3. Testing

All new releasees need testing by users and developers. This is something anyone can get involved in.

Make WordPress Core page - tickets
If you spot a bug, raise a ticket

To get involved in testing, you’ll need to set up a testing site where you’re happy to install potentially unstable code on (so don’t do it on a live site!). Install the WordPress beta tester plugin and configure it according to which version you want to work with.

You can either test the latest semi-stable beta release or opt for “bleeding edge nightlies,” which means you’ll be working with the latest highly development release of WordPress.

If you spot bugs, simply raise a ticket to report them using the Trac system.

Themes and Plugins

If contributing to core isn’t your bag but you’re a developer, another way to contribute is by writing free plugins and themes for the WordPress community to use.

Let’s take a look at three aspects of this: contributing themes, contributing plugins and providing support.

4. Contributing Themes

Everyone using WordPress for their site needs a theme. A lot of people will stick with the default theme, which is automatically activated when they first install WordPress, but most people will look for a theme that meets their site’s needs more closely.

There is a growing marketplace for premium themes and theme frameworks, but there are still hundreds of thousands of people looking for free themes in the WordPress Theme Directory.

If you’ve written a theme which you think stands up to use in a wide variety of settings, why not let others use it for free?

If you do submit a theme, you’ll need to ensure it meets the theme review guidelines. Although this will be checked when you submit your theme, it’s good practice to test it first yourself. Download the theme unit testing data and conduct the tests yourself to check that it’ll pass.

To upload your theme for review, go to the theme upload page on wordpress.org, and upload a zip file with your full theme.

Your theme will then be checked by volunteer reviewers and if it passes, will be added to the theme repository. If there are problems, you’ll be notified of what needs fixing via the ticket that’s created for your theme. See the theme review process guidelines for more details.

5. Contributing Plugins

The WordPress plugin repository contains thousands of free plugins. These range from small plugins that do very simple jobs to large complex plugins such as WooCommerce and BuddyPress. Some plugins are completely free while others offer premium add-ons or pro versions.

If you’ve written a plugin to address a problem not already solved by another plugin on the plugin repository, or if you believe your plugin is better than the ones already available, then why not add it to the repo and let other people use it?

Contributing a plugin is similar to the process of submitting a theme:

  1. Add a readme.txt file to your plugin explaining what it does and how to use it.
  2. Check that your plugin meets the plugin submission guidelines and that it’s coded according to WordPress coding standards.
  3. Submit it via the plugin upload page.

If your plugin is accepted and published, then you’ll need to keep it updated. To do this, you’ll use subversion. You can find guidance on this on the WordPress site.

Keep your plugin updated using Subversion.
Keep your plugin updated using Subversion.

6. Providing Support and Updates

The best themes and plugins are regularly updated (or at least tested with new versions of WordPress, whether or not this means an update is needed) and supported via the support forums.

While nobody expects you to offer the kind of instant support offered by the big theme and plugin vendors (including us at WPMU DEV), your plugin or themes’ users will be happier, and you’ll be making more of a useful contribution, if you answer questions raised in the support forums.

When your theme or plugin is added to the repository, it will have its own support page added, and this is where users will be able to raise issues, alert you to bugs and ask questions.

For a free plugin you won’t be expected to offer in-depth support such as one-to-one advice on using the plugin, but you should certainly respond to people experiencing bugs, and put a patch in place to fix them. This can all take quite a bit of time and and for some developers is quite stressful because of the perceived pressure of people expecting things from you.

If your plugin is a very simple one then support shouldn’t take up too much of your time, but whatever your plugin, providing support is a big part of your contribution.

As well as providing support, it’s also good practice to keep your plugin or theme up to date. When new versions of WordPress are released, check that it’s still compatible.

You might not need to make any changes but confirming compatibility gives your users more confidence in your code, especially new users who are likely to favour plugins and themes that have been tested with their version of WordPress.

Documentation

If you know WordPress well but maybe don’t want to be a core contributor (or perhaps want to do both), another way you could give something back is by contributing to the WordPress documentation.

There are two areas where you can contribute: the Codex and the Handbook. You can also contribute if you have translation skills.

The page on contributing to the Codex at WordPress.org
The WordPress codex

7. Contributing to the Codex

If you’ve installed and used WordPress at all, there’s a good chance that at some point you’ve made reference to the Codex.

This repository of information and guidance about WordPress and its code is constantly being developed, with new pages added and edits made to respond to changes to WordPress or to improve the Codex itself. It’s a wiki, so any logged in user can edit it.

You can contribute new content, edit existing content or help with its administration and maintenance.

The main areas in which the Codex contribution page suggests people can help are:

  • Administration and maintenance.
  • Editing existing pages to improve the content itself or the writing style. Even if you’re not an experienced developer, if you have good writing skills you can improve the grammar, spelling or punctuation or the way ion which things are phrased and explained.
  • Creating new content. There are functions that aren’t documented yet and need a page adding or filling, as well as a need for some specific pages such as lessons on plugin development. For details of new content that has been identified as required, see the Codex task list.

8. Translating the Codex

The main Codex is in English but the community is working to create translations into other languages.

If you’re a native speaker of a language other than English and understand English well enough to be able to translate the Codex into your own language, then you can make a contribution that will really help WordPress users and developers who share your language.

The WordPress translation page
The polyglots team on wordpress.org

The Translate WordPress project has a team of translators (known as the polyglots) which you can join if you want to contribute in this way. There is a also a #polyglots channel in Slack, which you can use to keep track of what’s happening in the team.

9. Contributing to the Handbook

The WordPress handbook is an ongoing project to provide documentation and help for WordPress users and developers and covers a wider range of topics from getting started to contributing to core.

As a growing resource, the handbook needs people who can help write and edit content for it. The Docs team has a blog and a #docs channel on Slack, both of which will help you find out what’s happening and what needs doing. This team looks after the Codex and the handbook, but there is significant focus on developing the handbook. Within the docs team there are sub-teams and editors working on individual sections of the existing handbook (such as the Core Contributor handbook) and new sections (such as the Theme handbook), who will point you towards priority areas you can contribute to.

The handbook is slightly different from the Codex in that you’ll need permission to edit it. Contact one of the docs team and they’ll help you with this – details are on the Getting Started page.

Supporting or Developing the Community

WordPress is more than just the code that makes it up. I’ve talked to plenty of people who agree that the best aspect of being a WordPress user or developer is the community. As an open source project and a fast growing one at that, WordPress has a huge and diverse community of users, developers and contributors. These people range from beginner bloggers through to experienced developers, and include business owners, freelancers, professional developers, theme and plugin vendors and many more.

The reason the community is so vibrant and welcoming is because it comes together in various locations and formats around the world so that people can learn about WordPress, connect with other WordPress fans and find people who can help them. This takes the form of local WordPress meetups and events as well as WordCamps of varying sizes around the world.

WordPress also has a very healthy online community, which is supported via various blogs, websites, online groups and the WordPress site itself.

If you want to give something back to the WordPress community, then there are a few ways you can do so: by providing support, by helping people to learn or by organizing and supporting events.

10. Providing Support

The WordPress support forums are different from the support forums for a lot of software. While there are some people whose job it is to work on the support forums and answer questions (such as Automattic’s Happiness Engineers and WPMU DEV’s five for the future team), there are plenty more working on the support forums who are volunteers.

Anyone can help out on the support forums. All you need is a wordpress login. Simply find a ticket you can help with, and give a reply! You’ll notice as you pend more time on the forums that there are some regulars and people who provide support across a range of topics, while there are others with specialisms who are considered support experts in certain aspects of WordPress.

WordPress support forums
Helping out in the support forums is a great way to contribute

Lots of these people are contributing their expertise and their willingness to help out in their pare time, and you could be one of them.

A word of warning however: the people asking for support have probably spent a lot of time trying to find an answer on the Codex or googling it. They’ll be near to the end of their tether and looking for a well-worded response with a suggestion, question or solution that helps them get past their problem. You might think their question is stupid, but don’t say so: it’s not nice.

11. Helping People to Learn

One of the things I love about WordPress is the willingness of experienced users to use their experience to help other people get to grips with the platform and learn about it. Unlike other industries where knowledge is seen as a commodity to be kept to yourself, WordPress people are generally more than happy to share their knowledge and expertise with the community at large.

If you’ve got solid experience using or developing with WordPress and are good at explaining technical concepts, than you can help other people to learn WordPress. Ways you could do this include:

  • contributing tutorials to the WordPress documentation,
  • writing blog posts explaining key concepts and sharing solutions to problems that you’ve worked out, and
  • presenting at WordPress meetups and WordCamps to share your knowledge with the community.

There are some great WordPress bloggers out there with an expert’s understanding of the platform and a good way of clearly explaining things to their readers. There are also plenty of people with more informal blogs which are only updated for time to time. But everything has the potential to be useful. If your writing skills are good enough, contributing to the handbook takes things a step further: this isn’t limited to documentation but also includes writing tutorials for developers and users.

Giving a talk at a WordPress meetup or WordCamp can be daunting but is hugely rewarding. These events are reliant on the voluntary contribution of speakers and volunteers and are designed to allow the local community to share its expertise, to the benefit of everyone involved. Giving a presentation can also help you to learn from the audience and to develop your public speaking skills in a more friendly context than you may experience in your day job!

12. Organizing Events

I’ve just talked about speaking at events, but without organizers, those events will never happen. Running a local WordPress group or organising a WordCamp can seem like an arduous, unrewarded task, but it gives a lot back to the community and is something you might be able to do if you don’t have the technical skills to contribute code.

There are WordPress meetup groups in towns and cities all over the world: if there’ isn’t one near you, you could find a group of people to set one up with. Or if there is, why not volunteer to help out? Groups like this are run by busy people who often struggle to find the time to support the group, so your offer of help will be gratefully received.

I’ve written about why attending WordCamps is so valuable, but I think that organizing a WordCamp is incredibly valuable too. I was on a WordCamp organizing team for the first time earlier this year and it was a great experience: working as part of a team, enjoying the buzz in the lead-up to the weekend, and finally getting to meet so many great people at the WordCamp itself and having the satisfaction of putting on an event that so many people found so beneficial. If you do want to organize a WordCamp or help with one, the place to start is the WordCamp planning site, which provides everything you need to know about planning and organizing a WordCamp.

Summary

WordPress is free, and that’s fantastic. But without the legions of people who contribute to WordPress in one way or another, it wouldn’t be possible.

If you want to do your bit and contribute your “Five for the Future” (or whatever is realistic for you), there are plenty of options, which aren’t limited to core contributors. Whether you’re a developer, a blogger, an organizer or someone who likes to help people out, chances are there’s a suitable way for you to contribute.

How do you contribute to WordPress? Are you thinking about contributing for the first time but hesitating about taking the first step? Ask us anything about contributing in the comments below.