How to start contributing to Open Source
This is one field that most beginners face difficulty with
Today I want to share my experience contributing to an open-source solution and to open source projects. In this blog post and discuss the difficulties that most beginners face:
- What is Open Source?
- Benefits of Open Source
- How to contribute to Open Source?
What is Open Source?
Open Source is a philosophy that promotes the free access and distribution of an end product, usually software or a program. The best part of Open Source Software, it contains source code that anybody can inspect, modify, format or edit. This means that you can see code written by developers of famous open source organisations like Mozilla Corporation, KDE, Redhat Software, Linux Foundation, fossasia, coala, etc.
Benefits Of Open Source
Contributing to Open Source(if done the right way) can be a great way to improve your programming skills, if you’re looking to improve your skills on any technology, then there are plenty of tasks for you in open-source, popularly known as issues on Github. Many of the technologies that I have learned is a fruit of contributing to open source.
Building a profile that could help your career:
Instead of test-tasks for an interview, creating a repository on Github and sending the link of the repository would be enough. All of your open-source work is public, which means that you can demonstrate what you have done anywhere. This will help you to advance your career as a software developer.
Meet like-minded people and get mentors:
When you start contributing with others on a shared project, you’ll be a part of a big and welcoming community, that will help you and explain how to do start contributing to the project. But, I would suggest making proper research on your problem on the internet. You will also meet mentors and become part of organising teams that work on managing a project and the next steps forward.
How to Contribute to Open Source?
Now, this is one question that most beginners face difficulty on, If you’re a new open source contributor, the whole process can be intimidating. How do you find the right project? Does the project match your tech-stack? What if you are not able to solve any given issue? These are some thoughts that strike your mind.
Pre-requisites for contributions:
- Be familiar with any version-control system: Github and Git are the two most used tools while contributing to open-source. You must be able to clone a repository, fork it, pull from a repository, push to a repository, send a pull request and you must also know how to manage conflicts.
- Shift to Linux Operating System: Although Open Source can be done on Windows, all of the communities and organisations use Linux as their first choice of the operating system. With Linux, you will get not get unnecessary errors during installation, also it will be easier for other contributors to address your difficulties.
- Communication is key if you want to be a part of a big community, as you will have to discuss with other members on what you think about the project and the next steps towards the project.
- You should be able to write: Documentation is very important when you work in open-source, the goal is to make your work as much descriptive as you can helping other developers in the future so that they can work on the project without much difficulty.
Once you know the pre-requisites, the next thing is to find what programming language or technology you can work on. Explore the current projects on that particular technology and then try installing the project on your local system using the instructions given in the project’s README file. This file is available for all projects and is very important for any new contributor.
It also has the details about the mailing-list or their IRC channels, where you can get acquainted with the mentors and ask your doubts. Once you are able to run the project on your local machine, try to understand the source code. Find beginner issues in the Issues tab of the project, try to solve an issue and then draft a PR and hope that you will get good reviews from the mentors and then eventually your PR will be merged.
Thus, you have started your open source contributions. You can check my Github profile to look on what projects I have worked on, Github Profile.