How I started my Open Source journey.
Tags: opensource, beginners, github, hacktoberfest
Published: 2020-10-08 11:49:31

Let me begin with a little introduction of myself, I'm a backend developer at a startup company in Bangalore with an experience of 2 years in software development. 

So, one day I was scrolling through Gmail and then saw an email which said DigitalOcean and DEV are hosting an event called Hacktoberfest. The main motive of the event was to bring in more people to the open-source side of the coding, which happens to be the exact thing which I had planned for so long but never actually worked on it because to me, the word open-source itself was a little intimidating. 

All I knew about open-source was that you either got into this field through GSoC or you have to sit and go through the entire codebase of an application and then think of something creative or new interesting features to add value to that application because the application with a good reputation on Github already had some of the brightest minds working on it.

Then I checked out the Hacktoberfest website which basically had the rules for the event and some other options to either organize a new event (virtual meetup) or join an event hosted in different regions of the world. So obviously I subscribed to all the events that were happening in India and some from other countries as well just to check how they work and what open-source means to them. All of these events had some organizer which had some decent experience with open-source. The way that they explained what open-source is and what they do to help the open-source projects changed the meaning of open-sourcing for me. 

Creating a new feature on your own in a well known open-source project is never the case. Many things are involved in an open-source project. The first and the most basic step is to understand what is that application doing cause if you can't understand the application then for sure you cant help or participate in the project. So to understand the application read the documentation of the project and most of the open-source project have pretty good documentation because they also want to simplify the process of explaining the project so that more and more people contribute. Once that is done try to use the application using the commands or steps given in the README of the project and then you start the process of understanding their codebase and try all the features of the application. 

If all is well and good till here then you can go to their issues pages of the repository in Github. There you will find the existing issues of the project that needs to be worked on. The issues will have the related tags and the requirement of what the user wants. Issues can be created by anybody, so if you found some issue in the project then you can also create a new issue with the explanation of the issues. Issues are not only bugs that need fixing you can also request a new feature or enhancements. If the enhancement or the feature is a good suggestion then the maintainers of the project will assign the issue to someone and then the assignee starts working on it. You can also request them that you want to work on this if they agree then all you need is to create a PR with the said changes. 

Also if you tried the application and found no issues or enhancement to log into the issues and still liked the project then just show some love. Star the repository, Share the links with your colleagues or better yet write articles and blogs that highlight the features and the problem that the project solves. A good example of an article that highlights an open-source project is [F*ck](https://dev.to/nialljoemaher/the-f-ck-a-really-helpful-command-line-tool-3k64)