There are many good reasons for Drupal-focused organizations to contribute to Drupal, but for Lullabot, it comes down to these:
- Contributions to Drupal make Drupal more useful, benefiting our existing clients and encouraging organizations to switch to Drupal.
- Public recognition of our contributions leads to public recognition of our expertise, which leads to more sustainable business for Lullabot.
- Our team likes to contribute to Drupal! Recently, they’ve enjoyed the focus on “Making Drupal Beautiful.” It’s also the right thing to do.
As one of the first Drupal agencies, Lullabot has a strong history of Drupal contribution. We have led or significantly contributed to new modern Drupal features, such as:
- The Olivero front-end theme.
- The Claro administrative theme.
- The JSON:API module for Decoupled Drupal.
- Drupal.org integration with Tugboat for Live Previews of Issues
- We have also contributed to Drupal security advisories, issues, projects, and events.
Where our contribution time has come from
Traditionally, we book client-facing team members for 30 hours per week on client projects. A typical 40-hour work week leaves around 10 hours for internal meetings, contributions to working groups like our internal security team and ESOP committee, and more. Our team members have a great deal of autonomy in how they spend this time. Drupal contribution is just one outlet they could choose.
A few years ago, we expanded our definition of Education Time Off (currently three days a year) to include contributing to open-source projects. This works great for projects that need larger blocks of time to get things done. It can be hard to make progress when bouncing in and out for an hour or two.
As Lullabot grew, getting close to 70 employee-owners, we started to sense that our approach to Drupal contributions needed more thought. We saw that:
- There were many competing demands for unbooked client time and ETO time. This differed from 10 or 15 years ago when Lullabot’s internal time was mostly used for writing articles or contributing to Drupal.
- Time we could get in between projects to focus on Drupal contribution was mostly reactive. It was hard to plan for this time because client renewals often go all the way to the last minute.
- Team members were finding it difficult to plan and execute on larger Drupal initiatives without also dedicating significant amounts of their personal time to the work.
With these challenges in mind, we asked ourselves: How could we leverage our larger team to optimize and improve our contributions for our clients, our employees, and the Drupal community at large?
Our sponsored contributions program
Lullabot plans to dedicate one of our team members to a Drupal contribution project for three to six months each year, starting in 2023. This program aims to do the following:
- To sponsor projects, not positions. For us, success means some finished work that we can take and use on most of our client projects, even if it does not get committed to Drupal core.
- To focus on Drupal contributions. While our team has contributed to non-Drupal projects, Drupal is the core of our business and where we know we can have the biggest impact.
- To support team members who have prior contribution history in Drupal core or contributed projects. Contribution is defined widely, including design, project management, and code contributions.
Our leadership and management teams will evaluate proposals from our team on various criteria. A proposal should answer the following questions:
- Are its goals aligned with Lullabot’s needs and those of our clients?
- Does it align with existing Drupal community priorities?
- Does the proposing team member have a prior contribution history?
- How feasible is a successful delivery of working software in the proposed timeline?
- What are the plans for managing risks and exceptions as they come up during the project, especially as they relate to non-Lullabot Drupal contributors who may be on the critical path to success?
Our sponsorship for 2023: Drupal administration layout redesign
For 2023, Cristina Chumillas will be working on Drupal administration usability improvements. She’ll be dedicated to this effort from May to the end of October.
It’s going to be great to have dedicated time for this work, as I can work on designs that will be the base of other much-needed improvements in Drupal’s user interface, such as how we navigate across different sections of Drupal’s administration UI, or the way we create and manage fields.
If you or your organization is interested in contributing to work improving Drupal’s administration interface, please join us at the contribution day in Pittsburgh, or join the #admin-ui Slack channel at drupal.slack.com.
See you in Pittsburgh!
Our goal with this post is to encourage and inspire other agencies and organizations using Drupal to consider how best to organize and focus Drupal contribution efforts. This article shares several approaches on how organizations can sponsor work on Drupal, and it’s unlikely that simply adopting one as-is will meet your needs. Find us at our booth at Drupalcon Pittsburgh - we’d love to chat more about others’ thoughts on this topic.
Appendix: proposal outline
Here is the proposal outline we use as a starting point for contribution proposals. We hope you find this helpful.
- Explain your proposal in a paragraph or two.
- Use links to upstream issues or references if they exist.
- List some current or past clients or projects that would have benefited from this work if it had already existed.
Background and prior work
- Are there existing community projects that compete with or complement this proposal?
- Were there previous projects or initiatives in this space that weren’t successful? Why not, and how will this be different?
- Is there inspiration for the project from custom work we’ve done for clients or from outside the Drupal community?
Deliverables and scope
- How will we know when this project is done?
- What is in scope and out of scope?
- A list of high-level features, improvements, or changes that this project will deliver.
- Each feature should be broken down by “must-have” (the work is unusable without it) and “nice to have” (if it doesn’t get done, we’ll still have completed something valuable).
Resources and risks
- What do you need to complete this project? Do you need help from skills you don’t have, others in the Drupal community, or core committer and manager approval?
- Are there other individuals or agencies that we should collaborate and synchronize with?
- Are there signals you’ll watch for to know you need to course correct or “fail fast”?
- How much time do you need to complete the project?
- If the scope isn’t completed by the end of the sponsored time, how will whatever is complete be usable by Lullabot and our clients?
- Are there current projects or clients who would be good targets for testing early work that’s completed?
Benefits to Lullabot and our clients
- What types of clients are most likely to benefit from this work?
- Are there types of clients who we know will never benefit?
- What audiences do you expect to be most interested in and affected by the project?
Open questions and next steps
- Is there work to be done before starting the project? Do you need help researching and discussing with others? Describe those topics here.