From Open Source Contributor to Google SoC at GitLab
I am a Computer Science Engineering student based in India and have been doing open source development since past 2 years and contributed to projects under Mozilla, Internet Archive, Facebook, Rome. I have also worked with Mozilla Firefox team under Google Summer of Code 2020.
It all started when I was in second semester and decided to put my University projects on GitHub that incorporates git’s version control features.
When I was completely new to the magical world of Git, I just crammed the commands without understanding it!
How it started?
One day I decided to learn Ruby on Rails as many popular software application was built using it. I thought the best way to practice would be to contribute to open source projects while learning the language. So while i was randomly searching the project I stumbled upon GitLab. I was surprised to know that the code base of GitLab was based on Ruby on Rails and the slogan “Everyone can contribute” caught my attention. I was so excited and overwhelmed at the same time.
I have a habit of giving myself a challenge and so I decided to fix at least 3 issues each month starting from 7th February!
I started setting up my local development environment starting with Visual Studio Code (my favorite) and also setting up GitLab Development Environment.
Here are some basic steps which I follow when picking up any open source project for contributions:
- Pick up the project and go to it’s repository.
- By reading the README file you will understand the goal of the project and it will help you in getting better understanding of the project.
- If it doesn’t interests you then go to step 1.
- Fork and Clone the repository.
- Check issue section and try to filter the list by using labels for example: “beginners”, “good-first-issue” might help.
- Be sure to comment and verify no one else is working on the issue.
- You may also want to comment and ask for help if you’re new or if you get stuck.
- Make changes.
- commit and push.
- Open a Pull or Merge Request.
I started contributing heavily and got addicted so much that not a day went by when I wasn’t thinking of GitLab.
I tried everything other than jumping out of a plane, but nothing gives you an adrenaline rush like fixing bugs and getting Pull Requests merged!
While contributing I also took part in GitLab Hackathon and created more than 20 Merge Requests.
Soon after that I became a GitLab Hero — members of the wider GitLab community who make outstanding contributions to GitLab.
I started learning the art of creating small MR. It’s always good to create a merge requests with less number of changes as it’s helps in faster reviews. If you have MR or PR with more than 150 file changes then break it down into smaller PR or MR.
How’s it going?
I love participating in Open Source Programs and as I already participated in Google Summer of Code in 2020, I was excited to participate in Google Summer of Code 2021 and wanted to be part of GitLab.
As soon as application started I decided to work with Geo Team at GitLab and I went ahead and drafted a proposal for the project Improvements to backup and restore process and submitted the application.
You can find the project details here: https://summerofcode.withgoogle.com/projects/#5066860057329664
Fast forward to May 17 (result day). The clock was ticking and I was desperately checking my mail every 5 minutes. At 11:20 PM IST, I got an email from Google!
After being part of many open source organizations, I can say that GitLab is one of the most welcoming and friendly organization. I feel blessed to be part of GitLab!
Why Contribute to Open Source?
- Improve the software you rely on: Lots of open source contributors start by being users of software they contribute to. When you find a bug in an open-source software you use, you may want to look at the source to see if you can patch it yourself.
- Improve existing skills: Whether it’s coding, user interface design, graphic design, writing, or organizing, if you’re looking for practice, there’s a task for you on an open-source project.
- Build public artifacts that help you grow a reputation (and a career):
By definition, all of your open source work is public, which means you get free examples to take anywhere as a demonstration of what you can do.
- It’s empowering to be able to make changes, even small ones:
You don’t have to become a lifelong contributor to enjoy participating in open source. Have you ever seen a typo on a website, and wished someone would fix it? On an open-source project, you can do just that. Open source helps people feel agency over their lives and how they experience the world, and that in itself is gratifying.