Contributing to WordPress has been a recurring theme of mine at MasterWP, mostly because I spent a decade building WordPress websites before considering it. I haven’t contributed much back to WordPress, honestly, and I’m trying to change that. WordPress – and open source in general – runs on an ethos of guilt: if you don’t like something, then why don’t you fix it?
When I wrote about the pervasive issue of WordPress dashboard spam a while back, I ended it with a pledge to contribute something back towards the problem. Mostly, this was a ploy to get MasterWP to sponsor a few hours of mine for Five for the Future. Luckily it worked, and has even helped us start thinking about fostering more open source contributions at our agency.
What I didn’t realize is that contributing to WordPress is a seriously daunting task, which may explain why it’s never come up before. The project is huge enough to be intimidating. The social groups feel impenetrable and the technical barriers feel insurmountable, like trying out for the varsity football team because you’ve played a few hours of Madden ’96 for Super NES. There’s also my persistent “outsider” syndrome, making the prospect of joining any group a little unappealing when I could just as easily complain about it from the outside.
A Request for Feedback
I truly believe that the solution (or at least the next best step) for the WordPress spam issue is waiting in the WP Feature Notifications (previously WP Notify) project. The goal of the project is to create a new and better way to manage and deliver notifications to the relevant audience. While we can’t prevent plugins from registering obnoxious banners and unrelated upsells, we can at least provide a framework for making those notifications more consistent.
This past week, the Feature Notifications project published a major update on the Make WordPress Core blog: our next “request for feedback.” From the post:
After approximately three years of discussion, scaffolding, and design, the WordPress Notifications feature project is ready to begin collecting feedback on a static demo of the previously reviewed designs. We’re inviting users to install the feature plugin on a test environment, view the static mockups, and provide feedback to the team.https://make.wordpress.org/core/2022/07/21/request-for-feedback-feature-notifications-proof-of-concept/
I want to recommend installing the demo plugin and sending us your feedback. Better yet, use this InstaWP link from Delicious Brains developer Ross Wintle to spin up a demo WordPress site with the plugin already installed. Notifications are in a real bad place in WordPress – they’re hard to use and easily abused. The backend of a WordPress website shouldn’t look like Times Square or Ling’s Cars every time you log in.
Respond to the blog post with any thoughts – I promise I won’t snap at you if you didn’t memorize the project guidelines or read through three years of Slack logs. All feedback is helpful.
WordPress Development Is Slow
It’s easy to assume that technology moves fast (and breaks things) but the reality is that WordPress development does not happen rapidly. I don’t think I’m speaking out of school, since I’ve seen Matt Mullenweg say the same thing on multiple occasions. When I jumped into the feature project, I didn’t realize that it was already three years in the making. There were a few great developers actively meeting each week and moving the project forward, but we all had our own lives, jobs, families, and timezones keeping us from iterating with the speed of a Silicon Valley startup running 60-hour work weeks.
To learn more about the history of the project, I talked to the project lead Jonathan Bossenger, a developer educator sponsored by Automattic to work on the WordPress open source project. Specifically I wanted to understand the pace of development in volunteer-led open source.
Open source is a journey, not a destination. You can’t say “this is going to take x” because everyone is busy with their own lives, work, and everything else. The amount of contributors to this project has grown and shrunk so many times I’ve lost count, but every week we take one small step closer to getting it done.Jonathan
The original leader of the project was prolific WordPress contributor Alain Schlesser, who had to step away from it. When Jonathan saw the “call for ownership” go out a few years back, he stepped up based on his previous experiences with the scourge of admin notice abuse:
During my time as a freelance developer at Codeable, I used to continuously log into client sites and see a deluge of admin notices. Then, during my time at Castos I was in charge of maintaining the Seriously Simple Podcasting plugin and it frustrated knowing that there are better ways to send users information about changes to the system, without spamming them. However, I realised the problem was not the developers, it was the implementation of notices in WordPress.Jonathan
In the few years since, he’s changed jobs a few times, but was lucky that each of these companies understood the value of letting their employees put a few hours into WordPress passion projects (hear that managers?). Now most of his time at Automattic goes towards the free educational content that we’re seeing at Learn WordPress, but he’s still been able to push the notifications project forward for the community.
It’s an Attention Economy
To get a new major feature into WordPress, you start as a Feature Project. Gutenberg and the REST API were feature projects, as were the Fields API and the ability to edit posts/pages from the Customizer. If those last two don’t sound familiar, it’s because they were never merged. Not every feature project can get called up to play in the major leagues, as much as those two would’ve been awesome for users and developers.
Feature projects can live or die based on how much buzz they generate. If a feature project doesn’t command enough attention, it’s possible it may never be considered for core inclusion. There can only be so much forward progress in WordPress, and not everything should end up in core, so it’s always worth your time being the squeaky wheel on any project you’d like to see grow.
The ultimate decision for inclusion comes down to one man’s vote. Of course, to even be considered you’ll need a strong, well-developed project, a clear need that hits the 80/20 rule, and some sense of approval from the community (insert joke about Full Site Editing here). But at the end of the day, all WordPress contributors with new ideas are just little kids trying to show their art project to a distant father who left his family to live with a hip social media company.
Consolidating and controlling notifications has been a killer feature of recent mobile platforms, and it’s time for WordPress to learn from the other platforms out there. However, there’s a default feeling of hopelessness knowing that your project may never actually ship. To get this project moved forward, it needs attention. That’s everything from design reviews and testing to simply leaving a comment on our blog post or Github discussion board.
You Can Help Change WordPress
I asked Jonathan for some advice to WordPress community members who may be considering contributing.
Start somewhere, anywhere, and work on something small. Most projects/teams have items labelled “good first bugs” or “good places to start”, start there. And then ask folks in the relevant channels if you’re not sure of anything. Even if it just means attending a weekly meeting, taking meeting notes and posting them afterwards, or answering one support thread, every little bit helps.
I did a talk about contributing a few years ago and I framed it like this. For every “easy” task you do, that’s one less task someone else has to worry about.Jonathan
If you’d like to contribute to the Feature Notifications project, start here. If you’re interested in learning more about contributing to WordPress overall, I’d start with this explainer from Allie Nimmons over on Kinsta and maybe take this quiz from the team behind WordCamp Europe to see what team you might fit in on.
There’s some amazing advantages to contributing – you can build your network, hone your skillset, accrue more career capital, and make your own experience inside of WordPress a little less crazy.