How to Contribute to Drupal: Module Maintenance
In the open-source community, we would be nowhere without the dedication of the numerous volunteers that maintain contributed modules and themes.
When a module is first released to the Drupal community, it’s akin to a child getting a new toy -- everyone’s excited and can’t wait to play with it. Over time, if the module isn’t maintained it starts to show its age and loses its usefulness. Think of it like the cellphone you had 10 years ago -- it’s gotten glitchy and outdated.
As Drupal core evolves, so must its modules. While the most popular modules are consistently updated, less frequently used modules often fall through the cracks or are abandoned by their creators. If you are a developer and ever used a contributed module, for example, you’ve probably had to hunt through the issue queues to find and apply patches to get all of the functionality you need from it.
Enter the role of the module maintainer. This is a volunteer that keeps a module updated and working as it was intended to work. My colleague, Digital Echidna developer Jordan Thompson, is a volunteer module maintainer for the following Drupal modules:
I recently asked him a few questions about his experience.
Q: What is the time commitment?
A: The time you spend on caring for a module depends on its popularity and if its base functionality is affected by other Drupal code releases. It can be anywhere from an hour a month to three hours a week.
It helps if you understand a bit about modules. Throughout its lifespan, a module requires patches for various reasons (functionality alterations, security updates, bug fixes, etc.). Each patch should be applied as it’s released. Eventually, the module has gone through so many changes that it needs a full reboot to put all those pieces together -- we call this rebooted version a “stable release”.
A stable release is the latest version of a module; it has undergone enough updates / fixes, that have been tested and committed by a maintainer to become the new official version of the module. All current and new projects using the module can use the latest version after downloading it or updating their project with Composer -- including all the patches since the previous version was released.
Q: How did you become a maintainer?
A: Throughout my work projects, I noticed that I was always using a few contributed modules that had a handful of patches that came along with them. These contributed modules hadn’t received a stable release in a few years but some had received updates to the development version of the module.
Since these modules were being used consistently on my projects, I offered to become a maintainer of them to ensure they were up-to-date with Drupal standards, security updates, bug fixes and feature requests.
Q: How do you split your time between client and volunteer contributed Drupal work?
A: As you can see, it is with a bit of self-interest that I volunteered; maintaining these modules helps me complete my paid client work, even if I spend time at work (or personal time) to maintain them. Basically, I contribute time at work through dedicated hours that Digital Echidna knows about, and credit these as such in our time tracking system. I also do some stuff on my own personal time, when and if I feel like it. By contributing these maintained modules, the return for me is that I am building my credibility within the Drupal global community. If I contribute while on work time, I am also issued ‘credits’ that work towards Echidna's ranking within the Drupal services listing on Drupal.org.
Q: What do you want to tell people interested in becoming a maintainer?
A: I highly recommend that you are active in the Drupal.org issue queues before considering applying to become a maintainer, as experience is key.
When you’re ready, you can apply to be a maintainer by creating an issue on Drupal.org. When creating the issue, indicate that you are interested in becoming a maintainer. Include why you are interested in contributing and what makes you qualified to be a maintainer. Once the issue is created, the current maintainer(s) will view and reply to the issue.
Depending on the availability of the current maintainer(s), they may not have seen or replied to your issue. After a week or so, if you don’t get a response, try contacting the current maintainer(s) through their contact forms. These can be found on Drupal.org user profile pages. If there is still no response, wait a few more weeks then you can contact a Drupal.org admin and they can add you as a maintainer.
Q: The annual global contribution event is coming up again Saturday, January 25th. This year, the LonDUG Meetup is joining forces with Waterloo Region Drupal Users Meetup, and together hosting an all-day event in London. Will you be attending Southwestern Ontario Drupal Contribution Event?
A: Yes, I am.
This ends my interview with Jordan. As for the local contribution weekend event, Digital Echidna is a proud sponsor and host. I am posting the event details here, as there is still time for you to RSVP.
Contribution Weekend Details
Register on Meetup to ensure your spot at the table. Don’t forget to bring your laptop.
Come for the whole day or drop by for an hour or two. For students, this weekend is a great opportunity for you to come in and meet some people in the community. It will give you the chance to:
- Grow your skills;
- Learn more about Drupal;
- Network with local developers;
- Extend your contacts and reach to a global network; and
- Contribute to a project bigger than any one of us.
There will also be snacks and beverages on hand.
Hope to see you soon!
Read other blogs in this series, How To Contribute To Drupal.
Did you enjoy this blog? Get more just like it by signing up to receive Digital Echidna’s free e-newsletter, delivered to your inbox every month. Industry tips, information, and expertise to aid the health of your digital project. Subscribe Today.