Breaking Down Barriers to Open Source Contributions
Raise your hand if you’ve ever felt a touch of nervousness when it comes to contributing to an open-source project. Many of us have been there. Even though the community is incredibly friendly and encouraging, taking those first steps with your initial pull requests can be quite intimidating. Today, Rails Girls Summer of Code (RGSoC) Alumni and ACM-W Newsletter Editor Taneea shares the benefit of first-hand experience. Here, she provides encouraging nuggets of inspiration for anyone needing to put the doubts aside and explains her experience with open source!
If coding wasn’t your first choice, it’s okay to change
I first heard of RGSoC when a few of my college seniors participated in the program. I was a second-year Electronics and Communications engineering undergrad at the time, who was not very keen on designing circuit boards or wireless channels. However, some experimental dabbling in code for college assignments had sparked my interest in programming. So, when I heard about this program for open-source software, it piqued my interest.
I, along with my friend, applied for the program the next year (2016) and got selected! Needless to say, it has been one of the most enriching experiences of my life.
However, even today, when I interact with people, I realise that there is a lot of inertia when people are asked to contribute to open source. The following are some tips to help you get started!
Where to start?
Possibly, the hardest problem to overcome is finding a project to contribute to. A lot of people I’ve spoken to have told me that they’ve never really been able to find projects that interest them, and when they do it’s hard to pick an issue to work on.
Usually, GitHub and other Open Source programs (GSoC, GSSoC, Outreachy) have a plethora of projects in a variety of programming languages and frameworks; the project pool has something for everyone – from front-end heavy projects to data analytic projects to full stack projects.
This diverse mix of open source projects is a deliberate attempt by the organizers of open source programs so that the program can have maximum participation.
Identify what’s holding you back…
Just finding a project you like might not be enough. Many people reach this stage but still never contribute. But why?
Possible reasons include but are not limited to code complexity in the project; a lot of my friends gave up because they couldn’t understand the code and couldn’t figure out which issues to start with. Other reasons might be lack of support and mentorship – who to reach out to in case you had doubts.
… and start coding anyway!
The easiest way to pick an issue is to familiarize yourself with the software you’re interested in contributing to, if you aren’t already familiar with it. Use the app, play around with it, know your software. This will give you functional knowledge about the application, and provide you with a region of interest – a starting point to dive into.
You can even start looking for low-hanging fruit in terms of open issues in the repository. Even if you think a button should be repositioned, or a particular UI aspect isn’t intuitive, or if certain functionality can be made better – raise an issue, talk to the maintainers of the repository through the appropriate channels.
Your first contribution might not be big but it’s a start, which is all you need. This will prove a catalyst for all your further interactions with the open source community and will help you push through the I-can’t-do-it barrier.
My very first PR was adding a button to the web interface of my project and that made all the difference. It was like breaking through an invisible wall and I was a more confident programmer after that experience.
More ways to get coding (and never want to stop)
Summer open source internship programs like RGSoC provide an excellent opportunity for you to:
- code for three months
- contribute to open source
- be a part of a worldwide community
- meet a new diverse group of people who share the same liking for code in different parts of the world
- and get recognition for it
Some of them even allow you to blog about your experience.
No matter your background, tech or non-tech, everyone has something to offer to the OSS community. I’d like to conclude this article with a simple thought – Don’t hold back, and take the leap!