February 2nd, 2016
One of the most important lessons of 2015 for the Engineering Team here at the Drupal Association is that we need better ways to engage with you, the community. We realized we need better tools and ways to communicate with you about our current priorities, how you can influence those priorities, and how you can help make Drupal.org and the Drupal project better than ever.
All of the work we do stems from the mission of the Drupal Association. It's our duty and responsibility to unite a global open source community to build and promote Drupal. As the home of that community, and the codebase, Drupal.org is perhaps the most critical piece of that mission, and at the most basic level all of the initiatives we prioritize must support that goal.
As part of reviewing our work in 2015, and in the interests of being transparent with the Drupal Community, we revamped the Drupal.org Roadmap. As you can see, we chose to focus on the few, most important initiatives that we have the capacity to execute on in the near term. We're also including upcoming initiatives that we will move into as the active work is completed, but not as many as we had previously displayed. An important lesson of the past year is that we have to be Agile on the macro scale as well as on the micro. The needs of the community can change rapidly and we need to be able to respond.
These are the initiatives the Drupal Association technology staff is focused on now.
- # Issues
- 1. #2551607: [meta] Path forward for Composer support
- 2. #2533684: Create 'Documentation' Section
- 3. #2661388: Update Drupal.org content style guide
- 4. #2661424: Create Bluecheese pattern library
- 5. #2559711: [meta] Drupal.org (websites/infra) blockers to Drupal 8.0.0, 8.1.0, etc.
- 6. #2661430: Make ads served through DfP contextual
These are the initiatives the Drupal Association staff will work on or support once the Current initiatives are completed. The order of these initiatives may change.
- # Issues
- 1. #1487662: Create 'Develop with Drupal' Section
- 2. #2533804: Create 'Support' Section
- 3. #1288470: Create 'Community' Section
- 4. #1414988: Create 'Contribute' Section
We've also added some new iconography to indicate where some of these initiatives come from.
Initiatives with the tools icon represent essential support and maintenance work. This can mean paying down technical debt in the Drupal.org codebase, performing server maintenance, or implementing cost saving measures to help fund the rest of our mission driven work.
Initiatives with the community icon represent initiatives that were directly proposed by members of the community and/or are being supported by volunteer work from the community.
Don't all the initiatives come from the community?
Yes, all of our priorities come from the needs of the community - but the community is a loose collective of many different groups of people with many different needs and priorities.
The needs of Drupal newcomers are vastly different from those of the Drupal Core Maintainers. The needs of our documentation editors are different from the needs of those providing support on the forums. And all of these needs must cohere with a larger product and design vision for Drupal.org to make this home of the community a cohesive, efficient, and beautiful place to be.
The Drupal Association Engineering Team can be thought of as the maintainers for Drupal.org and the sub-sites. It's our duty to synthesize these diverse needs and to prioritize the major initiatives that will have the highest impact for the community. It's also our job to make the architectural decisions for Drupal.org to ensure that every aspect of the site is functional/useable, consistent, and maintainable.
Most of our priorities, therefore, we set ourselves by bringing all of these factors together and doing the best we can to have the biggest impact, not just on the most vocal parts of the community, but also on those parts that are sometimes siloed or overlooked.
All that said, the community is absolutely a vital part of creating our initiatives. The maintainers for any other project on Drupal.org do not act alone - they accept feedback and contributions from other contributors, while at the same time making key architectural decisions, reviewing patches, and ultimately deploying that work in the form of new releases. We do the same with our initiatives.
Community Volunteers and Community Initiatives
There are two ways that members of the community can have a direct influence on the Roadmap for Drupal.org. These methods have existed informally in the past, but in 2016 we'd like to beta test some new ideas to make these processes more formal, consistent, and transparent.
The first way is simply to volunteer your expertise to help with one of the existing initiatives we already have prioritized, or even to offer your expertise without a particular contribution in mind. There is a strong record of community volunteers helping to improve Drupal.org, just a few examples from the last year include: u/mlhess and u/nnewton helping with infrastructure; to u/michelle helping to clean up spam; to u/dddave and others in the webmasters queue; or u/mshmsh5000 who helped with Drupal Jobs feature development.
If you have expertise (and not just in code!) and are ready for guidance from the Drupal Association engineering team as to how you can help, you can offer your assistance as a volunteer.
I should also note - we strongly encourage most volunteers to first consider giving back to the Drupal project itself, but we are certainly happy for help with Drupal.org
The second way to influence the Drupal.org roadmap is to develop a community initiative. If you (and perhaps a small team of others in the community) have some expertise in a particular area, and have a particular initiative in mind that you would like to work on, you can propose a community initiative.
Community initiatives come in all shapes in sizes: from documentation audits with the help of u/dead_arm; to adding two factor authentication to Drupal.org with u/coltrane; to a much larger task like building and deploying DrupalCI with the help of u/jthorson, u/nickscuch, u/ricardoamaro, u/bastianwidmer and several others. Some initiatives affect a subset of the community, project maintainers, for example, whereas others may affect almost every user.
Why this new process?
The hard lesson we've learned over the course of the past year is that we need to be involved early. Even in cases where the community volunteers driving an initiative forward are experts in their area - if Association staff are not involved early in the architectural and planning decisions then what should be a positive, collaborative effort is often slowed down by architectural refactoring and design decision backtracks. That is not fun for anybody, and our immense respect for our community collaborators requires that we set them up for success by getting involved early.
As such, our new community initiatives process has several steps:
- Community members plan their contribution in an issue, and identify who (if anyone) is able to volunteer some time to make the contribution.
- The community members propose their initiative to the Association - so that we can evaluate it for inclusion on our roadmap. This may include a call with the community members proposing the initiative to talk it through in greater detail.
- Association staff evaluate the initiative: prioritize it into the roadmap, postpone it, or--if necessary-- reject initiatives that are not a good fit.
- Prioritized community initiatives are rolled into the larger Drupal.org roadmap, and monthly or bi-monthly community initiative meetings are scheduled to ensure the work moves forward.
- A liaison from the Association engineering team is assigned, to help coordinate architectural decisions, to provide support and access as needed, and to coordinate with the larger team when it is time for the work to be reviewed.
This process is time intensive - and so in general we expect to be able to run only one or maybe two community initiatives at a time, in parallel with our other work. We realize this may be frustrating, but the last year has shown that our most successful initiatives required this close coordination.
This process is new, and will evolve
Finding a good process for working closely with such a diverse and passionate community is not easy—and we aren't assuming that this new process will be perfect. We're going to trial this new community initiative process in 2016 with the goal of increasing the transparency of how we prioritize our work, and how the community can help us build a better Drupal.org. We are committed to making this process better.