10 Ways to Contribute to Open Source
From small start-ups to tech giants like FaceBook, Google, IBM, LinkedIn etc. companies of all sizes are embracing Open Source Software (OSS). The software industry is marching towards Open Source! It’s highly beneficial for anyone to contribute to Open Source and be part of the bigger community.
Whether you are a novice or an advanced developer or don’t have any coding background, you can contribute to Open Source irrespective of your coding background!
Whether you have only a little time or a plenty of free time, you can contribute to Open Source irrespective of the amount of time you are willing to spare!
If you are stuck finding out the right project to work on, take a look at the below list of ideas:
- Choose an open source project that you actively use in your daily life. Examples: Firefox Browser, Android Operating System, WikiPedia. The main advantage is that you will be already familiar with the software and your learning curve will be small. So, you can start contributing immediately!
- Choose an open source project that you use at work. Examples: Linux, Eclipse, Docker. In addition to a smaller learning curve, it can help you with your work life!
- Choose an open source framework that you are interested in learning. Examples: Apache Open Source Big Data Frameworks, TensorFlow. (Apache open source projects can be classified by category or by programming language or by the number of source code committers.) The main advantage is that you can familiarize yourself with the framework easily by contributing to it!
- Choose an open source project that you love or choose a project that’s trending. Take a look at GitHub ShowCases.
- Choose beginner friendly open source projects. You can browse the following URLs to find one: UpForGrabs, Great for New Contributors, OpenHatch
If you are wondering how to get started, here are some ways to contribute:
- Report a Bug: You can make a contribution by reporting the bug that you spot in an open source software. Make sure it doesn’t exist in the bug tracking system already. This is a very important contribution to the project because if bugs are not reported, chances are they won’t get fixed!
- Diagnose a Bug: Many times bugs are reported poorly resulting in wasted time and efforts for the development team. It’s hard to fix bugs that cannot be reproduced. So it’s very important to clearly report the exact steps involved in reproducing the bug along with the operating environment in which its found, the expected results and what actually happened. You can save time and efforts of the development team by adding details that will help to narrow down the cause of an existing bug.
- Test a Beta: When a beta or release candidate is published for a project, it needs to be tested on many different platforms. You can help the project leaders to make sure that the software works on your platform.
- Write Documentation: You could edit project wiki/write documentation or improve the existing documentation by adding examples on how to use the project. New users of the software will definitely appreciate good documentation!
- Answer a Question in Community Forum: If you like helping other people, you can answer questions about the project in its forum/mailing list or Q&A forums like Stack Overflow or Reddit. By doing this, you’ll be helping to build the community.
- Translate the Software Documentation: You can help grow the community by initiating the translation of the project documentation in the language in which you have very good command or join an existing team.
- Write a Blog Post: If you are into blogging, you can write about some cool/useful features of the software. You’ll be helping with the branding by doing so. Also, you could write about any problem that you have encountered using the software and how you solved it. This would help other users who run into the same problem.
- Enhance the Project’s Web Site: The project community might lack design skills. If you are good at web/graphic design you could lend your hand by enhancing the project’s website.
- Fix a Bug: If you are interested in committing code, fixing a bug is a good start. Look for an open issue and work on it. Comment your code fix if it’s necessary. It’s good to add a test to the test suite to test your fix.
- Suggest/Write a new feature: If you love coding and have a good idea for a new feature you can suggest it. You can also ask the project leaders if you can help them to write the new feature!
Some companies even let their employees to contribute to open source. Check out your company’s open source contribution policy.
You can educate yourself further by reading the GitHub’s Open Source Guide:
“How to Contribute to Open Source”
So, what are you waiting for? Contribute to open source and be part of the community!