Bug Smash: Taking a community initiative from idea to success
Bug Smash is a community-run initiative tackling the growing backlog of bugs in Drupal Core. What has made it so successful?
by
griffyn.heels
/ 15 December 2022
Based on my talk at DrupalSouth 2022 in Brisbane. You can also watch the recording featured at the end of this post.
Drupal community members from around the globe are working together to smash (triage, update and close) Drupal bugs.
With 450+ members, this is the largest active Drupal community initiative making a substantial contribution to Drupal core and helping to train new members. Community members work asynchronously, with many living in Australian-friendly time zones.
Let’s look at the Bug Smash initiative, discovering how and why it started, how it is run and how it continues to grow.
Hang on, isn’t Drupal perfect?
Drupal is great; there’s no doubt about that! But over time, a few bugs have appeared in core.
In fact, as of December 2022, there are approximately 6,000 active bug reports for Drupal 9 and 10. That number of reports is bound to include duplicates or items that are no longer relevant, making it even harder to find and address actual bugs in the platform.
So, what’s the solution? Get in there and smash them!
How does Bug Smash work?
There are close to 500 members using the #BugSmash channel on Drupal’s Slack. This channel includes a few separate work streams, including the daily triage target, the community triage meeting, and the fortnightly initiative meeting.
The daily triage target runs twice a day, at around 10 am AEST and again later in the day, giving our US/EU friends something to smash when they wake up.
Here’s an example daily triage target.
The fantastic Quietone runs the community triage meeting. This meeting picks a theme and dives into a few bugs. It’s an excellent opportunity for members to learn about triage and get bugs ready for smashing by other team members. In 2022, a triage meeting targeted one of the oldest active bugs in Drupal core, resulting in the 16-year-old bug being fixed and closed.
Here’s a recent triage meeting.
The fortnightly initiative meeting runs asynchronously so that all global members can contribute. This meeting is an excellent opportunity to catch up on everything Bug Smash, update everyone on progress and set targets for the coming weeks. It’s also a great place to start if you’re unsure about the initiative or want guidance on what to tackle.
Here’s a recent fortnightly meeting.
However, you can Bug Smash how and what you like. Though, please remember to use the ‘Bug Smash Initiative’ tag on Drupal.org.
Who can Bug Smash?
There are plenty of opportunities for everyone to get involved.
Seasoned Drupalers can tackle critical, older or more complex bugs or mentor others on the daily triage threads.
Newcomers to the community or Drupal can be matched with suitable beginner tasks, allowing them to cut their teeth on Core contributions.
For those without developer skills (like me!), there are tasks such as handling comms, session notes and getting the word out about Bug Smash.
Does all this bug-smashing work?
The short answer? Yes!
Below is a graph that shows the number of active bugs in Drupal core in October 2020, which was early in the initiative.
And here is the number of active bugs in October 2022–showing a reduction of over 6,000 bug reports.
Why does Bug Smash work?
It may not be the first initiative of its kind in Drupal, but it’s still growing after two and a half years. So, what makes it effective? I asked the following questions of a number of Bugsmash community members:
What works in Bug Smash?
- It’s simple. This was the most consistent response. We smash bugs to reduce the overall bloat and bad stuff in core. What is there not to love?
- It’s not just about development.
- It provides education and mentorship. Bug Smash is a collaborative community of senior, mid and junior-level Drupal developers tackling similar issues. Members can quickly request support or advice to get things across the line.
- It is informal and low commitment. Depending on the topic, you can contribute as much or as little as you’d like. Members can provide support and then drop out without disrupting the overall initiative.
What keeps you coming back?
- Education. Members said they learnt ‘heaps’ from the back-and-forth discussions about bugs, benefitting from the interaction within a great group of super-smart people.
- Progress is possible without fixing bugs. Goals are still achieved without a bug being fixed each time.
- Reviewing bugs is fun. Some even say it’s their favourite thing to do in Drupal.
- Bugs have a start and finish point. On the other hand, tasks and features can be open-ended.
- Everyone likes seeing the number of bugs go down. Seeing actively reported metrics and stats goals each fortnight is a big motivator for the community.
By bringing everyone’s answers together, we can tell that the initiative works because of its community, and the community is effective because of the structure of the initiative.
In summary, Bug Smash gives you options for getting involved. This means taking part doesn’t have to overtake your day. If you get stuck, there’s always someone around to point you in the right direction. Watching the overall number of bugs drop keeps everyone focused and driven, whilst the experience everyone gains helps to skill up community members. And the more people who join Bug Smash, the more successful it will be for everyone.
If you want to start your own Drupal or other open source contribution community, I’ve hopefully given you some food for thought.
How to get involved
Start off by joining the #BugSmash channel on Drupal Slack and say hi!
You can also visit the Bug Smash page on Drupal.org. It has all the information you need about what Bug Smashers do, how the initiative works and when the next meeting is.
Just remember, it doesn’t matter if you’re not in this time zone. The fortnightly meeting is open for 24 hours, meaning everyone has a chance to contribute to threads.
If you have any more questions, feel free to drop them in the comments below! Or reach out to me in Slack, @griffyn.heels.