Almost six months ago, I was introduced to the world of Open Source. It is intriguing yet intimidating at first if you jump into the large code bases of open source projects. As a newbie,it gets utterly confusing when you try to answer the question, “How shall I begin?” .My article is for all the newbies who want to contribute to open source in general .
Firstly, if you want to contribute to an organization’s product, it is very important that you are a user of that product because as a user you can figure out on what aspects the product can be improved and then as a contributor, you can make the improvements.
Secondly, before you begin contributing, you need to go through the documentation of the project you want to contribute to. It will give you an overview of what the project maintainers expect from you and how you can contribute to the project. Moreover , you should have a good knowledge of the code stack the project is based upon and git.
Now, you should start with your first contribution. To begin , look for an issue or a bug (preferably easy bug for beginners) in the project’s bug/issue tracker which you find easy to solve.Many organizations either have a bug tracker such as Mozilla uses Bugzilla or they have their Issues section in the github repository.
One of the most important things in Open Source is to always interact with the project maintainers and the project’s community in general. It’s a vital part of Open Source, to communicate with people living in different parts of the world and gaining knowledge from awesome developers and talented people excelling in their fields who devote their time for the benefit of society. Once you get interested to work on project, it is quite important that you interact with the community. Generally, Internet Relay Chat (IRC) or Slack is preferred mode of communication . When you interact, your doubts are solved and new ideas emerge. Moreover, the mentors guide you how to approach a particular problem if you are stuck. You learn here and you help others too which is definitely the best part !
Once you successfully solve the bug , you need to create a Pull Request. Once you make a Pull Request, assuming you have a good knowledge of Git and Github, it will be reviewed by the project maintainers. A key rule : Don’t get disappointed or feel dejected if your pull request is not merged at once, it opens up the gate to learning when you work through the suggestions provided by the mentors as they know how the pull request can be improved. Once your pull request is updated and merged,the momentary sense of achievement you get is a bliss !
The world of open source is intimidating at first as I said earlier,but it is quite exciting and opens up a number of possibilities . You should not get scared but learn as many things by contributing and interacting with community