The benefits of contributing to open source are endless. It helps us improve our coding skills, teaches us about collaboration and gives us a chance to solve the real world problems. You get to be part of a diverse community who are willing to help you and you get to choose what you want to work on!
It’s been a few months since I started learning Android. This summer, I was looking for an opportunity to contribute to open source and that’s when I came across the GirlScript Summer of Code 2018.
Organised for the first time this year, GirlScript Summer of Code is an initiative by the GirlScript Foundation — a non-profit, registered by the Govt. of India. The foundation sought proposals for projects from developers and entrepreneurs from all over the country. A total of 20 projects were selected for the program. Additionally, there were projects aimed at building websites for NGOs like UPAY, MakkalaJagriti, Kranti and ZeroGravity (Yep! Coding for a cause! ❤️)
Registrations opened in mid-May to sign up as a mentor or a participant. I registered as a participant. The event started on June 1st. The total duration of the program was 3 months — Jun 1 to Aug 30. The first few weeks were all about coming together with the community on Slack, learning about the different projects and understanding how everything works. The contribution period started on June 23rd.
Out of the 20-odd projects, there were 2 Android apps— Image-to-PDF converter and TravelMate . I decided to contribute to TravelMate — a travel guide app.
The admins and mentors for the project had created a number of issues each marked with labels indicating the different levels of difficulty — cakewalk, intermediate, pro and top-coder. Each level had a certain number of points assigned to it that you would earn if your pull request was merged.
Um, points, did you say? What for? Yes, prizes of course! 😛
Any participant who wished to work on an issue had to first comment on the issue on GitHub showing their interest. Once approved by an admin or a mentor, he/she could make the code changes and raise a PR. In addition to difficulty levels, all the issues were well labelled with tags to indicate if they were available to be picked up — in-progress, up-for-grabs and the type of change required — enhancement, bug, ui and so on.
For TravelMate, I started with a cakewalk issue — which was to simply display the email id of the logged in user in the navigation menu. I submitted my changes within a few hours and I was so happy when my first PR was merged 😄 I then took up two issues of intermediate level — one to implement a design pattern for the list views to improve the apps’ performance and another to integrate Butterknife — a view binding library to help reduce boilerplate code. Next, I took up a pro level issue — to implement an option to search for different cities. Finally worked on a top-coder issue which was to display the weather forecast for different cities.
Here are some screenshots of the TravelMate App.
My mentors — Swati Garg and Rajat Kumar Gupta were very friendly and extremely helpful. Whenever I was stuck on any issue, I used to post my queries on Slack and get help instantly. In addition, they always provided constructive feedback on how we can improve. Merge requests were reviewed line by line and any changes expected were explained in detail to help us understand why they were needed.
All in all, it was a great learning experience for me — from learning how to use Git & GitHub to implementing API calls in Android apps. I think by now, you will have understood why registering for GSSoC would be beneficial for you.
- It’s open to all — beginners to experienced — students to working professionals — you will find issues that will be challenging enough for you to work on.
- There will be a wide variety of projects to choose from. No matter what your technical skills are, you will find your place in the program.
- It’s a great place to start your journey into open source and a good opportunity to share your knowledge with those who are in need of it.
My journey with GSSoC has motivated me to explore more of the open source world! Thank you GirlScript for the wonderful opportunity.