How to know when you are ready to dive deep into the Open Source Community.

In this blog, I talk about how & when you can start your Open Source journey, as well as my experience as a contributor for GirlScript Summer of Code.

Just about a few months ago I was scrolling through LinkedIn when I saw a post about registrations for GirlScript Summer of Code. At that time, I was a bit apprehensive to register, not because I did not know how to code but because I did not even know what Open Source exactly was in the first place.

I did hear a lot about big Open Source communities but I was mostly scared and confused since there was no one to guide me properly and most importantly - I didn't know if I was ready to contribute.

The challenge was even tougher for an introvert like me since it seemed like everyone around me knew everything. I turned to YouTube videos for help and while a lot of these videos did seem to clear my doubts as to what Open Source is, I had some doubts looming over my head.

Am I ready to contribute my code to a big project?

I hardly know HTML, CSS and JavaScript, is that enough for me to start contributing?

How do I start? Where do I start? What is a Pull Request?

How do I know which project do I contribute to as a beginner?

Even if I do try to contribute, what if my code is rejected?

Questions, questions and questions! And I had no satisfactory answers to any of these. Yet I decided to finally take a chance and register for the program and tried to give my best shot at it. The program ended just about a week ago (from when I'm writing this blog) and my perspective towards Open Source as well as taking risks and taking new opportunities in general has changed a lot.

Not taking too much of your time with the introductions, here is my advice to all those who want to give Open Source a shot, but are confused about the journey.

What is Open Source?

1_4lJoDwMmJmE1TuLqvgk0_Q.jpeg

In simple words, an open-source project is one whose source code is available for everyone to view, contribute to and learn from. Some of the most popular Open Source projects/software are Apache Cassandra, TensorFlow, Django, OpenCV and so many more. Besides these popular ones, there are many other open-source projects available on Github, GitLab, etc.

What Is Open Source Software - Article by Synopsys

How to contribute to Open Source?

undraw_version_control_re_mg66-e1621781281433.png

Did you know, that you can start contributing to Open Source projects even with zero knowledge of coding!

You heard that right. You can make any kind of contribution to a project - improving a project's documentation, README.md files to say a few no-code contributions. In case you know some basic coding or website building, you can look for smaller, beginner-friendly projects to contribute to.

Before making any contributions, contact the admin of the project and discuss the contributions you wish to make. You will then be assigned the issue and thereafter you can make the contributions.

Here's a Step-by-Step complete guide to how you can contribute to Open Source by freecodecamp.

Still unsure whether you should contribute to Open Source?

w1600.png

My personal advice - just dive right into it. As humans, most of us are always very fixated on the results of our actions. In my /almost/ two years of coding journey, I have realized that half of the opportunities that I let go of my hand were just because I rejected myself before anyone else could.

From my own experience, the Open Source community is very friendly and helpful! There's something for everyone, from beginners to experienced contributors and a plethora of projects you can contribute to.

If you are a complete beginner to Open Source, here are a few points you can follow:

  1. Do your own research. You can look at some YouTube videos or blogs or even connect with a senior who actively contributes to Open Source. This way you can find a companion who might be able to help you with your first ever contribution and even guide you through it. It will also help you be prepared for what you can expect from this journey.

  2. Start contributing and don't care about making big contributions early on. Focus on getting comfortable with the process of contributing and just learn to enjoy it.

  3. Read the README.md file of all the projects you are contributing to. This is a mistake most contributors make. The file is called "README" for a reason, give it a read. It gives you an insight into the project you will be working on, what the project admin is expecting from your contributions, how to contribute and what you should keep in mind while contributing. Sometimes you might end up making a change that does not align with the project requirements, therefore read the documentation beforehand.

  4. Do not fear rejections before you even start contributing. If you raise an issue and the project admin rejects your request, the reason could probably be that your suggested contribution does not meet the requirement of the project, or simply the project admin might not want to include it in their project. Remember, that you will be working on someone else's project - may be an individual's or a company's software. But do not be disheartened and start contributing to another issue.

  5. There are plenty of Open Source programs held all around the year. Enroll yourselves into one of the programs - this way you feel more encouraged to contribute with thousands of other contributors who are there to support you! A few popular Open Source programs are GirlScript Summer of Code, Google Summer of Code, Hacktoberfest, Winter of Code.

  6. Take up projects that require you to use a language or tech tool you are not familiar with. It is okay to not know every single programming language or tech tool there is out there, none of us do. You might come across several projects that mention the exact tech stack you know, but also a few you do not which might discourage you from contributing to it. Go ahead on contribute, learn about the technology while you are working on it and you can even take the help of your project admin for it!

  7. Last but not least, enjoy the journey. Open Source gives you the opportunity to make changes to projects accessed by the whole world. YOU are making a change. Give yourself a pat on the back for every contribution you make and enjoy every single step.

My journey with GirlScript Summer of Code 2022

What-is-GirlScript-Summer-of-Code-and-How-to-Participate.png

About a few months ago I registered to be a contributor in the GirlScript Summer of Code program held by the GirlScript Foundation. Before this, I had no experience in making Open Source contributions, so I pretty much went into it clueless. About a few days later I got an email stating I had been selected as a contributor for the program, and thus begin my Open Source journey.

I made some very small contributions initially from whatever knowledge of coding I had. I was nervous about my level of contributions not being as good as the other contributors, but the project mentors and project admins of every single project were really helpful. We had a Discord group where we could join servers of various projects we are contributing to and ask for help, even connect with other contributors, mentors and project admins.

I will never forget when my first ever Pull Request was accepted - it gave me the biggest confidence boost I required! After that, there was no looking back. In the past three months, I have made three Level 1 (easy) contributions, four Level 2 (moderate) and three Level 3 (hard) contributions. It also encouraged me to contribute to some projects that were not a part of GSSoC. I learnt about React framework, Material UI, and so many other things.

We finally reached the end of the three-month long program and I made it to the Top 100 contributors leaderboard as well!

my rank.png

In conclusion, I feel that Open Source is a way of giving back to the tech community. It is a great way to be a part of projects that make a change in the tech world by contributing to it. Once you get into it, there's no looking back.