From Contributor to Maintainer: My Journey in Open Source

Ayu Adiati - May 21 - - Dev Community

Do you know that May is Maintainer Month? I never thought I would become a maintainer, but here I am, six months into my volunteer role as an open source projects maintainer.

If this is the first time you read my article, I'm Ayu. I'm Indonesian and based in the Netherlands. I'm a technical blogger and a Documentation Team Lead at the Virtual Coffee community. My passion lies in collaboration and documentation (docs). I love to find ways to make documentation accessible to all users, regardless of their skill levels and cultural backgrounds. 

To celebrate Maintainer Month, I want to share my journey in open source, from contributing to maintaining open source projects.

Starting with Contributing

As I self-learned to code, I had some experience with GitHub for my personal projects. However, I knew nothing about open source.

My journey in open source started with Hacktoberfest 2019. I heard about this event from X (previously Twitter) and decided to participate. Back then, resources to learn how to contribute to open source were less plentiful than today. So, I had no other option than to learn by reading the projects' README and contributing guidelines on GitHub.

Looking back, I'm grateful for this limitation because it shaped my habit of reading a project's documentation before I started contributing.

I still remember my first-ever PR being closed. The maintainer asked me to pull the latest changes, update my code, resolve merge conflicts, and create a new PR. I didn't know what "pull" the latest changes meant, why I should "update my code," or what "merge conflicts" were. I asked for clarification but never got a response (even until today).

Getting my feet wet in open source was already daunting, and not getting an answer to my question discouraged me completely from contributing.

Pushing Through and Being Consistent

consistency gif

In 2020, I participated again in Hacktoberfest. This time, the experience was different. I participated in the event together with the Virtual Coffee community. I had the whole village to support and mentor me. I learned so much and gained more confidence in contributing to various projects.

After Hacktoberfest, I continued contributing regularly to Virtual Coffee's repositories and began to enjoy collaborating on and contributing to open source.

You might've heard that contributing to open source is more than contributing code or creating PRs. Most of my contributions involve writing blog posts about open source, creating and updating documentation, and creating issues. And I love doing all of these!

I learned that the more I'm involved in particular projects regularly, the more I understand them in deeper level. This helps me spot bugs faster, generate ideas for project enhancement, answer questions, and support new contributors. It also allows me to work closer with maintainers and understand the project's goals and visions, which led me to become a maintainer.

Becoming a Maintainer

After contributing to OpenSauced projects for some time, I was thrilled when Bekah gave me the opportunity to help maintain some of their repositories.

Coming from the contributor side, I didn't know how to maintain a project. One of the repositories that my team maintains is an open source repository for beginners.

In the beginning, I felt overwhelmed catching up with incoming PRs. Not only do I need to review and merge PRs, but as we're receiving contributions from folks new to open source, I also need to explain why I give the feedback and suggest how to address it.

Based on my bitter experience, now that I'm a maintainer, I make sure to give feedback and explanations when reviewing PRs to help out new contributors and beginners.

But along the way, I learned about tools that can help maintainers save time and increase productivity, began to get used to the flow, and learned much more from this role.

The Ups and Downs

ups and downs gif

Being a maintainer is challenging. I need to wear many hats—a reviewer, a mentor, a communicator, a community nurturer, and many more. Sometimes, I felt frustrated when contributors rushed me to review their PRs or didn't take the time to read and follow the documentation and guidelines.

But at the same time, being a maintainer is very rewarding. Seeing people grow continuously gives me joy. It boosts my energy whenever I encounter contributors who ask questions and are eager to learn. I'm happy whenever someone tells me they appreciate my effort to support them. Communicating and collaborating with contributors also taught me many things that made me a better maintainer.

Achievements

clebration gif

Although I haven't been a maintainer for so long, I'm proud of some of my achievements.

Maintainers Guidelines

At the beginning of my maintainer journey, I often needed clarification about how things worked, such as handling issues and PRs, the time window for getting an issue triage, PR review and merge, and so on. Each of us on the team had our own way of doing things, and I regularly asked my team questions about our procedures, which affected my productivity. Every time I gained new information, I wrote it down in my notes.

Long story short, I proposed creating maintainers' guidelines for our team based on these notes. After some discussions and reaching a consensus, we finally came up with official maintainers' guidelines.

You can read this blog post I wrote a while ago about why onboarding maintainers is as important as onboarding contributors and how to create maintainers guidelines for your open source project.

Becoming a Maintainer Course with OpenSauced

There are many resources on how to contribute to open source, but there aren't many resources on maintaining an open source project.

OpenSauced has an Intro to Open Source course for people who want to learn to contribute to open source projects. When Bekah invited me to join her and @codergirl1991 in creating a course for people who wish to take the next step in becoming maintainers, I didn't think twice and said yes. I'm very grateful to collaborate closely with two people I look up to in open source and to learn a lot from them during the process.

The Becoming a Maintainer course officially launched today, as I wrote this on May 20th, and we had a live stream to launch it.

this gif

I believe this course can help more people, not only future maintainers but also contributors who'd like to know what it takes to be a maintainer.

Final Words

With this Maintainer Month, I invite you to show appreciation to open source maintainers by giving them shoutouts on social media or the comment below, sending them a note of recognition, or simply thanking them in your PRs or GitHub Discussions.

With this opportunity, I want to thank these awesome maintainers and my incredible open source mentors: @bekahhw, @danieltott, and @nickytonline. I'd also like to thank my Virtual Coffee family for their endless support throughout my open source and tech journey.

thank you keanu reeves gif


🖼️ Credit cover photo: Dino Reichmuth on Unsplash

Thank you for reading! Last, you can find me on Twitter. Let's connect! 😊

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .