Non-technical contributions to WordPress core
The Core team of WordPress oversees the code that powers one of the most popular open-source content management systems (CMS) worldwide. You might think that this team consists solely of developers, but in fact, non-technical contributions are vital for each WordPress release and the overall project’s health.
The WordPress project has multiple teams that cover a wide range of skills. Skills needed to develop the software, help the extenders ecosystem (plugin and theme developers), market and educate, and build a community.
I started my contribution path in two non-technical teams: Polyglots and Community. But in the summer of 2019, people from the Core team reached out to me to see if I was interested in coordinating a major release. And this role doesn’t require coding skills. It requires being able to coordinate, collaborate, and communicate with the developers that contribute to Core.
That, in short, was my path into WordPress contributing. But coordinating a release isn’t the only way to contribute to Core without coding. So let’s see what else you can do in this area of the project!
Users as co-developers
In the book ‘The Cathedral and the Bazaar’, a must-read to understand how open source gets created, Eric Raymond calls users co-developers. In fact, he states:
Treating your users as co-developers is your least-hassle route to rapid code improvement and effective debugging.
Without the input of users, software would be made in a silo of developers. People who might not even use the product they create on a daily basis. Which some content creators (users) do.
Users know your software
Throughout development – which never stops – you can get important feedback from the people who use the software the most. It’s users – among who I count myself – that are the first to notice any UI or UX change. Because over the years, we have built our own personal workflows. Often enough there are multiple ways to perform the same action, and we all have our preferred paths.
There might be some features that we use daily, and parts of the software that we have never explored. I found, for example, that some people rely heavily on the Customizer to change their settings and the way the website looks. While others prefer to go into Settings or into the Widget screen etcetera.
If something changes in our flow, we can be frustrated and think “Why would they change that?”. I remember feeling like this when some changes were made in the Theme Edit screen. At the time, I was a freelance web designer with a deep love for cowboy coding. My development flow was based on adding custom CSS and PHP directly into the related theme files. Changing the way I could interact with those screens forced me to learn new techniques. I am grateful for that now, but at the time it was really disorienting.
So, how can you as a user proactively express your point of view and not wait for a new release to discover that you need to readjust your workflow? I will discuss some of your options right now.
Trac is the issues tracker for WordPress. Every time someone discovers a bug or wants to propose a new feature or enhancement, they can open a ticket.
Let’s say you are interested in the UI of the dashboard or maybe you get lots of comments in your blog, so that part of WP is important to you. Instead of looking at every ticket that gets opened (there are lots every day!), you can explore the focus keywords or the components and create notifications for the ones you find interesting. When a ticket comes in that speaks to you, you can reply to it. However, you do need a WordPress.org account to do so.
Make WordPress Blogs
Another way to keep up with software development is to read the Core blog. It’s part of the Make network, where you can also find the other teams that contribute to making WordPress. Again, there is a lot of information on this and the other blogs of the project, but you can quickly skim through the posts and focus on what matters to you. With your WordPress.org account, you can also comment on the posts and give your input. Before you do, take a look at the comments guideline: because healthy, positive communication will benefit everyone involved.
Some teams work alongside Core to increase the user experience: make sure to check out Design, Accessibility, and Polyglots. Their efforts are vital in keeping the WordPress software running.
Testing all the things
Another lesson from Eric Raymond’s book that I find motivating is:
If you treat your beta-testers as if they’re your most valuable resource, they will respond by becoming your most valuable resource.
I don’t think I can stress enough how important testing is. And to test, you need three things:
- A WordPress site that you can freely mess around with a bit. You can do so by installing WordPress locally with a tool like Local by Flywheel.
- The Beta Tester plugin, set to “Nightlies” so you will always be up with the latest development version of WordPress (also called trunk)
- Curiosity :) Explore all the options, click all the buttons. If something doesn’t go as expected or if you think the UX of something could be improved, search Trac to see if someone already started a conversation about it and dig in!
If you like to interact even more closely with the project and its contributors, you should definitely join the WordPress Slack workspace. It might be overwhelming at first: there are over one-hundred channels at the moment, but remember, you don’t have to be everywhere! Pick one subject that is close to your heart and get to know the people that share your passion.
To sum it all up
WordPress is going through some big changes. By the end of the year, the majority of the features planned for the so called “Full site editing” will make it to Core. It’s up to all of us, as co-developers, to test and give feedback so the developers working on the software are not relying on assumptions but data provided by, potentially, millions of users.
I hope to see you around, and if you have any questions about how to get started in contributing, I would be happy to guide you through your first steps. Come make WordPress with us!
Read more: The self-growth opportunities of WordPress »