Open Source World — the entrance

Hi,

I’m Shivang Nagaria, 3rd year student at IIIT Hyderabad . I just wanted to share my journey to the amazing Open Source World. Readers can take it as just another blog or a kind of guide which help you to start conribution in open source projects. So let’s start.

Its been almost two years since I’m contributing in different open source organizations. It was late 2014 when I was first introduced to Open Source Softwares. My IT Workshop professor inspired the whole class about the Open Source and since then I wanted to contribute in open source projects.

In April 2015, I seriously started looking for open source project where I can contribute. I read somewhere that newbies (the newcomers in the Open Source World) should start contributing in the project they are using, so that’s how I started exploring Mozilla Firefox source code. (Although it isn’t necessary, I know many people who started contributed in the project they haven’t used before)

First mistake I did was to understand the whole flow of the firefox, I literally spent days to understand how browser works and you can imagine my situation. I had just passed 1st year of my college and didn’t know much about computers (sockets, routing, protocols or the whole networking stuff) .

After some days, I gave up and go to the bugzilla and picked up this bug: https://bugzilla.mozilla.org/show_bug.cgi?id=1077339 . You just need to pick up a bug you find interesting and simple enough. Go through the all the comment if you really want to look at the effort I put in.

It took me almost a couple of months to solve it, but the feeling you got when you see in the production can’t be expressed. Later I contributed a little bit in the Mozilla and then I moved to OpenMRS.

Final Result

In a nutshell, you need to do this:

  • Find any open source project you find interesting
  • Go to its issue pages, pick any issue that interest you
  • Go to the issue page, ask for help
  • In meanwhile setup the project and try exploring the source code around the bug on your own
  • Hang out on IRC if you need help

And you’ll learn this:

  • Version control system
  • Some nice linux commands (like grep -HRi)
  • Importance of communication
  • IRC
  • Internet etiquette

Things you should avoid:

  • Understanding the whole source code
  • Losing patience
  • Giving up
  • Not reading carefully — this is very important, text is all you get from the other contributors
  • Not trying before asking for help

Note: This is my first blog post, I would appreciate any kind of feedback/suggestions. Thanks !