My first open-source contribution
It's time to reflect! Given this Hacktoberfest spirit, which I celebrate a lot, I'd like to tell you about my first contribution to open-source. Hopefully, it can give you inspiration if you haven't made one yet.
I started studying programming in 2008, and immediately fell in love with GNU/Linux and the open-source philosophy in general. I installed an Ubuntu 8.04 (which was delivered physically in CD format to my house in Argentina) and played with it a lot. I attended some FLISOL (Latin American free-software installation events) and I had a lot of fun.
Since that moment I wanted to contribute to a project. I started sharing my code on XP-dev, Google Code (oh god, I feel old!), and then Github circa 2010. All of those were small projects from my Computer Science subjects at the university.
But 2011 was the year when I made that happen. The university opened a new course and I enrolled in the first cohort. The subject was about participation and management of open-source projects. The perfect time for my contribution!
What was the contribution about
During this course, we saw several aspects of the open-source ecosystem, such as different types of licenses, types of contributions, tools used by the community and how are structured big projects and the organizations behind them (Mozilla, Wikipedia just to mention some examples). We had some guest speakers and learned a lot from their experiences.
The most important assignment was to make a contribution to any project with an open-source license. It did not necessarily have to be coding, any type of contribution such as documentation or translations were also allowed.
In case you are curious, here's the syllabus: http://wiki.joseluisdibiase.com.ar/wiki/Participaci%C3%B3n_y_Gesti%C3%B3n_de_Proyectos_de_Software_Libre. It's in Spanish though :)
José Luis, our teacher, made me a suggestion and contribute to one small project he knew: jugglemaster, a command-line juggling simulator app. The project was not internationalized, so we used gettext to convert all the texts to translation keys, and I added Spanish translations in addition to the existing texts in English.
So I went ahead and submit a PR to the author (the first one in the repo!). Months later, I got a kind message from the author that my PR was merged 🎉.
What came next
I was able to understand the contribution process and the possible barriers we could experience (technical, organizational, personal). I got some courage to make more small contributions to projects with more users, like Gherkin. The key was to start small. Non-coding contributions are usually good starting points.
And today, I'm on "both sides" and playing a maintainer role, since I started receiving contributions from people around the world in some of my repos. I'm quite happy doing that job and I'm focusing on making things as easy as possible for first-time contributors.
Doing your first contribution can be hard if you try to do it on your own. Luckily, a lot of things changed in the last 10 years and we now have big communities like Hashnode and we can read experiences from everyone around the world. Also, events like Hacktoberfest that connect people with different expertise levels are also great.
And at last, you just need some courage, get to know the projects you'd like to contribute, talk to the authors and start small.