As part of our Core Confidential series, Preston So, Editor in Chief here at Tag1 Consulting sat down with Angie Byron (webchick), Senior Director of Product and Community Development at Acquia, to talk about her many years of experience as a Drupal core committer, community manager, and where Drupal is going in the future.
What’s it been like working in core development for fifteen years?
One of the things that surprises many new contributors, even today, is that Drupal is not owned by a company like many other large open source projects. Many companies contribute time, money, and resources to Drupal development: Lullabot, Tag1, Acquia, Palantir, and so on, but none of these companies own Drupal. The Drupal trademark is owned by Dries Buytaert, and while he is employed by Acquia, he retains the trademark personally.
As such, most of the people working on Drupal are volunteers. Some are paid by their companies, but many work on Drupal as a hobby, or in their spare time. This makes project and product management of Drupal work a bit different than projects managed internally by a company - differently than a project built in Drupal, even.
Angie has found that working with a group that is mostly volunteers takes some special talents and motivation. In her time directing core development projects, she’s learned the following things:
- Make it fun - everyone already has a day job, nobody wants this to feel like work. Sprints, mentoring, ensure people feel heard.
- Transparency is key - ensure everyone has access to the information that led to a decision.
- Foster innovation - don’t turn away ideas because they don’t match the goal you have in mind.
The Drupal community spends a great deal of time discussing changes and updates, and listening to many voices. This can lead to the infamous bikeshed, so sometimes it’s necessary to move on, even if the group hasn’t reached a consensus. As a product manager, sometimes you have to make a decision.
Angie was a key person in the decision making when the Drupal community changed their version control system from CVS to Git. Most of the developer community wasn’t happy with CVS, but deciding what to move to was something everyone had an opinion about. To help push the community towards a decision, Angie gathered some facts, and presented them to the community:
- What options were there?
- Who was supporting those options?
- Was there community support for those options - are people developing code around those options? Are they already using those resources on their own?
Every few days, she summarized the available information - what people knew, what they didn’t know, and what was in progress. This ensured everyone felt they were heard, and that people who weren’t closely involved in the discussion could follow what was going on, and jump in if they needed to.
“The more you can tie your decisions around objective metrics, more people are willing to stand behind the decision.” - Angie Byron
Angie was also able to gather statistics and metrics about who was using what, how much they were using it, why they were using it, and more. Ultimately, the decision was made to change Drupal’s code repository to Git, and everything leading to that decision was made transparent to the community. When the change happened, commits jumped as people came back to the community and were able to use the tools.
Eventually, someone has to be responsible for making a decision. In the Drupal community, the decision maker depends on what the decision needs to be made about.
- Dries Buytaert - Final decision maker as lead of the project
- Drupal Association - Drupalcon, general governance, legal, marketing, drupal.org
- Core committers - Decisions around core
- Community Working Group (CWG) - Code of conduct, community governance
Sharing the path to a decision with various stakeholders enables stakeholders to focus on certain areas, gather consensus, and when necessary, make decisions on their own, or make recommendations to Dries as the final arbiter.
Dealing with difficult contributors
Part of any community is dealing with other people, some who contribute or don’t, and folks who are sometimes helpful, along with others who are not. Some of the most difficult to deal with are the people who contribute a lot of work, but they may be more abrasive, unwelcoming, or come across as unfriendly to other contributors.
Angie strongly recommends listening to those people. They’re often expressing an opinion that many others have, but aren’t being vocal. Understanding where they’re coming from and following up can help those people get involved productively.
She also feels strongly about including those people in the decision making process. This ensures that everyone, in the end, understands all of the objections. By inviting the vocal people, you also help the quieter people have a voice that represents their needs and views.
Sometimes you just have a person or group of people who are determined to cause trouble for the sake of chaos. In cases like this, the larger community governance bodies like the CWG, or the Drupal Association may get involved. Being transparent, by holding in person and/or virtual meetings, and creating governance policies can be very helpful here.
Ultimately, understanding the different kinds of people who are ‘trolls’ can be important - some people may only be struggling with the language, while others are people who are just throwing out harassment because they can.
In her time in the community, Angie has seen many changes - from her first Drupalcon (Vancouver 2006) - fresh off her time as a Google Summer of Code participant, to the Backdrop fork, to her current position. Drupal and the community continue to welcome new participants, and develop new software and tools.
What’s happening now? What’s changed?
Drupal has moved to a predictable release cycle. Prior to Drupal 8, releases happened when Dries and the community decided it was time to be done. This propelled Drupal early, based on its focus on developers and what they were excited to work on. Around 2010, this developer-focused mindset shifted to a more joint mindset that included users and content creators as part of the CMS selection process.
With the release of Drupal 8, the fundamental essence of releases changed - not only is the code more consistent (upgrades aren’t generally a complete rewrite), but every six months or so, a backwards-compatible release is put out. This helps keep users who can’t or won’t upgrade on par with the newer features, as well as keeping them comfortable with their current platform.
For the developer audience, newer releases still enable them to remove code that’s outdated or overhauled, keeping their code cleaner and easier to document. They don’t have to spend years on a feature - Drupal releases can add them in a 6 month cycle.
Mentorship and onboarding
The thing that Angie is most associated with in the long-term Drupal community is her commitment to bringing new people into the community and ensuring they feel welcome. In the early days of Drupal, it was very easy to walk up to people in the hallway at a convention or a meetup and just chat with them. As the community grew, this became more difficult and intimidating for newcomers.
Formalizing the mentorship and onboarding process for those new to Drupal, or those who aren’t comfortable just approaching people, made an enormous impact. Drupal has many teams and initiatives working on different parts of the project, which helps new contributors find and get help from the people who are going to be best able, and most interested in getting them started.
The Drupal community has a Code of Conduct that helps govern expectations of member behavior, and provides a path for solving problems when they arise. This may help provide reassurance to marginalized members of the community and make them feel safer coming into Drupal, as well as give them an avenue for dealing with the various types of interpersonal issues that occur in every group. The code of conduct, along with the other governance structures in the community help ensure that everyone’s voices are heard, not just the loudest.
What would you change?
The biggest thing Angie would change is the community’s historical reluctance to strongly embrace accessibility and usability throughout the project. Drupal was a ‘by developers, for developers’ for a long time. Since Drupal 6, there’s been a huge push for more user friendly interfaces, with many of those tools making their way into Drupal core in the following years: new administration themes, page building tools, WYSIWYG, and so on.
Angie’s goal is to make everyday users love using Drupal as much as the developers who work on it. Making the interface obvious and powerful is one of the best ways to make that happen.
As part of that, there’s an initiative for Drupal 10 - a “Make Drupal easy out of the box”. Getting users past the initial learning threshold, and bringing the power into their hands right away can make continued adoption easier. This includes everything from more accessible themes, to easier workflows, and better help.
What’s going on now in Drupal?
Drupal 9 was released on June 3, 2020. Drupal 10 has a release date targeted for June 2022. Drupal 9 had a number of initiatives, most of which were completed, but Drupal 10 has a shorter release cycle. This means an easier upgrade path, but it also means fewer initiatives can and will be completed as part of that release. Here are five of the initiatives for Drupal 10:
- Drupal 10 readiness - this includes removing deprecated code and updating dependencies that have or will have reached end-of-life before the Drupal 10 release.
- Finish up the ‘Easy out of the box’ initiative. Some of the pieces intended for Drupal 9 did not make it into the default installation in a well-integrated way, so finishing them is a priority.
- Olivero theme initiative - a new front end theme, updating Drupal to a more modern front end technology-wise as well as for greater accessibility for users with diverse needs.
- Automatic updates - enable users to update the software easily, even when they’re not server administrators.
So what’s up with Drupal 9?
As Angie says “The big deal about Drupal 9 is that it’s not a big deal.” Drupal 9 is entirely built on Drupal 8. The codebase is very much the same, with Drupal 9 being a culmination of the iterative development in Drupal 8.
This iterative development and similar codebase means that unlike previous versions of Drupal, upgrading from Drupal 8 to Drupal 9 is much simpler, requiring significantly less work than ever before. There are a number of tools available to help you ensure your website is ready for the update.
The hope is that many of the initiatives aimed at Drupal 10 will be in the product and available long before Drupal 10 is released. Many people are involved in making a big commit to core - Olivero, the new front-end theme, made it into the 9.1 release, but various teams like framework, accessibility, usability, and release managers all need to give their approval. Claro may also be in one of the upcoming releases.
Many of the initiatives will probably be released in a more piecemeal fashion, rather than a large change all at once. The automatic updates initiative is a massively cross-project effort in high demand. The Drupal community is working with Joomla, Typo3, and more. This is enabling all of these groups to work together, with newer versions of Composer. Tag1 is heavily involved with this initiative.
Angie feels several of the other top initiatives will follow in a similar fashion to automatic updates - by adding back end items here, a menu or other feature there, until this is complete.
If you’re not ready for Drupal 9
That’s ok! Drupal 7 end of life is November 2022, while Drupal 8 is November 2021. Drupal 8 will not have extended support due to the Symphony end of life, but this is not expected to be as significant as previous Drupal upgrades because the upgrade to Drupal 9 is much simpler than any previous upgrade. If you’re still on Drupal 7, and you’re not sure if you’ll be ready, or you are happy with your Drupal 7 platform, you can still use it safely for years to come with the Drupal 7 Extended Support program, with support for Drupal 7 until 2025. Tag1, with Tag1 Quo is part of this program, and can help you keep your Drupal 7 website secure. Read more about it at Drupal 7 and Drupal 8 End of Life or read about Tag1 Quo - the enterprise security monitoring service.