Michael Anello: Why we contribute to open source
Michael Anello is a long-time contributor to Drupal, organizer of the Florida Drupal Users Group and an active member of the Drupal Community Working Group, as well as the founder of the training company DrupalEasy, who are starting their next semester of Drupal Career Online on August 29.
We already interviewed Michael a few years ago, but, following an interaction on a recent article of ours about non-code open-source contribution, we decided to do another interview more focused on contribution in Drupal and why it’s so important to the growth of the community.
1. Please describe your two most memorable contribution experiences; both as a contributor and as a mentor.
I don't think I have a single moment for myself that I can point to, but rather the time I spent in the run-up to Drupal 8 helping out with the Migration in Core initiative. I learned **so** much from the other folks on the team – I was fortunate to have the time to devote to that project.
Probably the most memorable moment is one that is a bit fuzzy on the details, but very clear emotionally – it was at a DrupalCon awhile ago (San Francisco 2010, maybe) during the contribution day – it was the first time I witnessed live core commits by one of the core committers (Angie Byron, I think) and the folks in the room made a really big deal out of it. It was quite inspiring for something that is normally done quietly by someone all by themselves. I specifically recall the energy in the room and folks talking about the excitement of seeing it happen in person.
As a mentor, I am lucky enough to have so many great memories. Most of them are related to students that I taught/mentored who eventually find full-time jobs in Drupal, achieving one of the professional goals. It's not easy to beat the feeling of being part of their journey.
2. Why is it so valuable that we contribute to open source and to Drupal in particular?
There's the altruistic answer to this question – because it's the right thing to do, it elevates all of us, it's a way of showing support for the software that supports us, blah blah blah :)
I tell my students that one of the primary reasons they should contribute is because it makes them more valuable. It builds their skills; it allows them to interact (often) with folks who can teach them.
I'm the result of this – I can draw a direct line from my contributions in event organization, code, and other areas to my success today. Contributing back can be difficult, but as long as you look at it as a learning process and that you're going to be smarter on the other side, it's easy to see why it is so valuable. I find it confounding that some organizations don't provide paid time for their Drupal developers to contribute back in some way – it just seems so short-sighted.
As someone who advises developers on what to look for in potential employers, I always stress the importance of personal contribution time.
3. How have you seen contributions in the Drupal community evolve over the years?
Outside of the ongoing technical changes to code contributions (CVS to Git, bespoke to GitLab, etc…), the single most important evolution continues to be the surfacing of non-code contributions. I think it would be impossible to sustain a healthy open source community over a long period of time without folks who contribute in non-code ways. Event organizers, documentation writers, issue queue cat-herders (is there a better term?), project managers – it's crazy to think that Drupal would be anywhere near as successful as it is today without folks in those roles. We need to celebrate that.
4. Are there any potential challenges with contributing, especially now in the Covid era?
I think on-boarding new contributors will always be easier in-person. Personal connections, away from work/life distractions, localized energy – all things that make on-boarding much easier.
I don't think anyone will argue that one continuing challenge is to keep new contributors engaged – I think one potential solution to this is some type of organized mentor program. I'm not sure what it would look like, but having a personal connection is a powerful motivator.
5. What are your thoughts on the current contribution credit system in Drupal? Would you say it’s fairly streamlined or are there still improvements to be made?
Heh – as a Drupal developer, I would say that there are always improvements to make. Nothing is ever done. Staying with my theme, I think there's still plenty of room to improve in capturing non-code contributions. For code contributions, I'd love for there to be a way to capture different levels of effort. Someone working for 14 hours on a nasty PHP bug should get more credit than someone fixing a typo in a code comment.
6. What are the best non-code ways to contribute to Drupal and other open-source projects?
Depends where your passion lies. If you're a people person, then help with event organizing. If you're more comfortable behind a keyboard, then find an issue queue where you are comfortable reproducing issues, asking questions, and gathering information. I think for folks new to the community, learning about all the potential contribution areas is challenging.
Again, this is where an on-going community mentoring program would help out immensely. Imagine someone helping a new contributor finding a comfortable place for them to contribute to and guiding them for a few months as they get comfortable.
7. What are some of the projects and initiatives in Drupal which currently need the most contribution help and you would advise our readers to check out and get involved with?
Core initiatives are the easy answer, so I'll move past those and mention (again) local event organization, issue queue triage for modules and themes that you're comfortable with, and mentoring.
8. To you, what’s the most exciting thing about contributing to Drupal in 2022?
I feel like there's a theme here – it's that there are so many ways to contribute, many of them not involving code. If we, as a community, can figure out a way to promote the fact that you don't need to write code to contribute, then harness those potential contributors (using mentors), then we'll be able to accelerate the growth of our community. The potential is really high, we just need to figure out how to access it!