How hard is it to get involved in open source? This article explains how I got involved, YMMV.
The struggle
I’ve been a computer hobbyist for a long time, until life put me on track to become a software engineer. Then, I attended a specialized school and learned many languages, frameworks and various other computer related technologies.
At this turning point in the life of my younger self, open source and free software already had an important role, most of my time was spent learning FOSS softwares and tools. Since then, I’ve helped internationalizing softwares, contributed small typos, really small bugs, and mostly for small projects.
When I co-created the first version of Gatling, I had the chance to participate from the beginning to a new open source project, and it was a really great feeling, more so because it was my paid job! Eventually, I stopped working on Gatling, and since then, I’ve wanted to contribute to softwares that matter to me, be it because I use them, or because I share the objectives and values proposed by the product.
It was hard to find such a project for me. I’ve got mainly a Java background, and most of the projects I wanted to contribute to were written in C++, python, you-name-it; and they seemed really huge, it was really hard to find my way in.
Letting go
So I became a bit frustrated, leaving this aside as I didn’t have any motivation left at the moment.
Then, two years ago, I learned the existence of the Rust language, just before its first major release. It was created by Mozilla, a non-profit I really care about, and its design looked really promising to me. So I tried to get involved, I went to meetups, I read the book, I wrote some code snippets, but even if I had spent a lot of time on it, I started to feel like I wouldn’t be able to do much. Rust is cool, but contributing to its compiler was too far a goal for me.
Around the same time, I was looking for solutions to deploy the software I was working on. And I still read much about Rust, so I stumbled upong a presentation made by Adam Jacob, Chef’s CTO, about a new open source project they were announcing, namely: Habitat.sh.
This combination, a new open source software that would fill a need I had, had a vision I shared and was written in a language I wanted to learn was the starting point of my investment in Habitat.
A welcoming community
So that was it for my part, but there was something important that I discovered when I actually tried to get involved and contribute: the project’s community manager and core team.
Habitat is not just an open source project that has some code on github with some documentation about how to use it. There actually is a will to create a community, they do everything in the open: bug triage sessions, weekly demos, PRs, … They also have a slack room where there is always someone to help.
This creates a very welcoming place, and you feel safe, as a newbie, when you want to ask questions that seem stupid. As far as I remember, I never saw any mean comment from anyone in the community, always helpful and kind answers.
So I started to ask questions, I tried to help clean up old issues (they often get treated last in triages), I started to contribute some small bugfixes, even small features, started to help people understand habitat in the chat room, … This kept on a while, until I felt confident enough to become maintainer of the core plans (one of three parts of the project).
Conclusion
The aim of this article is to say “If you want to contribute to open source, you always can”, it’s just a matter of finding the right place for you to do it. I think it’s not useful to try to force yourself in contributing to any project, it can be hard. Rather, let the circumstances happen, and take the opportunity when you see it!