Contributing to Open Source: It’s for everyone!

Varun Panicker
GreyAtom
Published in
5 min readFeb 23, 2018

Want to contribute to open source? Intimidated by all the code?

A guide to making open source contributions for first-timers!

What is Open Source Software?

Open Source Software is a program or software whose source code is available to everyone for making modifications and improvements. It is released under various licenses like Apache, BSD, and MIT etc. To learn more about what Open Source Software is and what it stands for, “What is open source?” is a good read.

Why contribute to Open Source?

Make yourself more marketable

Jobs may come and go, but the professional skills you acquire while working on an OSS project will build your portfolio and your ability to work with completely unknown people!

Grow your network

Open Source communities are huge. Pick any famous project from Mozilla or MIT and you might get to work with legends in Software Programming. No doubt, there will be criticism and not all your suggestions may be accepted, but that will teach you how to do things the right way when your audience is so huge.

Build a practical Resume

Well, you do already work on a huge product used by thousands at your job, why work on something unrelated? But that’s your job! It is something you do to make a living and really just have to do it. Contributing to Open Source displays your desire to give back to the community and your work ethic. It shows that you are dedicated to a project even when there is no direct selfish benefit in it for you!

Promote Open Source culture

When you work on an OSS project, be it big or small, you are promoting the very basic ideology of Open Source. Imagine what a more Open world would be like. You could work on any project, be it Google’s PageRank or Apple’s Siri. New programmers could get a feel of production level code, and who knows, a newbie scrolling through your code today might go on to become tomorrow’s Margaret Hamilton!

Contributing isn’t just about Code

You don’t have to be a great programmer to contribute to an interesting Open Source project. Many people shy away from contributing to OSS because they feel intimidated by all the code. Will I be able to solve the problem correctly? Will my code be good enough? Will I understand the code?

Good news! You don’t have to code to contribute to Open Source! There are plenty of other things that go into creating and maintaining a software other than just code. Maybe this is all you would want to do, or maybe you can treat this as a stepping stone to finally getting involved into the nitty-gritty details of the code.

  1. Test the Software

If you are successfully able to download and use an Open Source Software, you can sure as hell test it! You can use the program like you normally do, but make sure you report any issues you come across. Or you could be a hero and test all functions in the documentation one by one, trying them out on different systems and configurations.

2. Be the Documentation Ninja!

Documentation is as essential as code, but it’s one of the most overlooked areas! OS software usually have their documentation written by their code creators, which may introduce a certain level of abstraction to the understanding of the concepts. As an outsider, you may be able to do a better job at documenting the package so that it is easy to understand for completely new users.

3. Build a community

All projects need a community, Open Source projects more so. If a project is backed by several people who regularly submit recommendations, and users who help test features, the project is more likely to flourish. A larger community will also help spread awareness about the challenges the project solves, which is almost always helpful for others. You can help build a wider community and user-base by writing blogs and tutorials, or even talking about them on social media. A lot of people from your LinkedIn connections may end up finding what you share useful, and might even engage in contributing to Open Source!

4. Help with bug triaging and maintenance

Bug triaging is the process of organising issues in the order of priority. You only need an understanding of the software and issues and you will be able to make a huge difference by helping others save time. If you are good at handling data, you can go ahead and help maintain the database of issues, be it removing duplicates or marking already solved issues.

5. Translate!

Open Source Software is used across the globe, for academic, personal, or even professional purposes. Not all of the people from these regions are fluent in English and you can be a lot of help by simply translating the documentation or project website. You can choose whatever language is comfortable for you, it can be your native language or even something that you recently started learning.

6. Design and Prettify

Do not know anything about the software or code? Volunteer to design and create graphics! Every project needs visuals and illustrations, and at times even Logos. If you are good with designing, there is a good chance your logo would end up in the limelight like Jon Hicks with your own revolutionary (here: Firefox) design! Moreover, if you are a UI/UX engineer, you could help enhance the software or website interface to make it more appealing.

7. Suggest new features

If you think that you can help improve the user experience or other functions with the software, you are more than welcome to suggest features. Make sure that what you suggest is backed by a solid reason, is feasible, and will provide value in line with the effort estimates. You must include details and supplement them with visuals or wireframes to get your suggestions across.

8. Donate

Open source projects are usually free to use. This means they do not generate any revenue from sales. By donating you can help cover at least a percentage of the hardware and software costs incurred by its’ creators who spend countless hours and resources developing them.

This article has covered a number of ways that you can start contributing to open source, but there are numerous other ways of getting involved. To find out more about how you can contribute, you should extensively read about the project you are interested in and see where your skills might be useful. If you aren’t able to find something on your own, you can always email the project owner or support group, and they will surely have something for you!

Happy contributing!

--

--