My open-source journey before getting selected into GSoC (Google Summer of Code)
Disclaimer:- “There is no shortcut in the world of open-source.”
If this line disturbs you, or if you are looking for an article “How to crack GSoC in two months?” then this article might be not for you.
What is Google Summer of Code?
Google Summer of Code is a global program focused on bringing more student developers into open source software development. Google started this program back in 2005 to promote the culture of contributing to open-source among students enrolled in a post-secondary academic program. The goals of this program are:-
- Motivate students to contribute to open-source projects.
- Help open-source projects to onboard new aspiring developers.
- Help open-source projects with their maintenance, fixes, or adding new features.
- Provide students exposure to real-world software development.
How to select an organization?
An organization for which you feel passionate can be a life-long asset for learning new skills. Just go through each organization listed on the website (https://summerofcode.withgoogle.com/organizations). Make a list of organizations that works on your skillset, which passionates you. Sometimes your passion can lead your skillset and can drive you to learn a new skill set. Ask a question with yourself- “What if you weren’t selected in Google Summer of Code in this season? Would you be able to contribute to that project without the program?” If the answer is yes then go for it.
I got to know about Orcasound when organizations got announced for the GSoC season of 2020.
An intro about Orcasound from the GSoC website:-
“Orcasound is an open source project that makes it easy to listen live for animals that make sounds, like the endangered orcas in Washington State (aka Southern Resident Killer Whales, or SRKWs). We use underwater microphones (hydrophones) deployed in key habitats to listen for the calls, whistles, and clicks that SRKWs make almost continuously — intense signals that can be heard 10 km away, often before the orcas are visible.”
I felt enough passionate about a project listed in their project ideas. It was a project that needs to be started from scratch. I have discussed what I have planned about that project on the organization’s Slack workspace. The requirements for my project were React, data visualization, and time-series analysis.
It was March 2020, I spent almost a month researching about the organization, finding the gaps where I can contribute. I started writing a proposal parallelly along with a prototype, drafted it early for a review, got some reviews from mentors, updated my proposal, answered their queries, and submitted my proposal on the portal.
It was April 2020, I made my mind to learn the Elixir language and its web framework, Phoenix to contribute to a project whose codebase was already written. I found an interesting feature to be work on that is implementing web-push notification within the website. I was completely new to the concept of web-push notification but I learned that, discussed my plan with mentors, worked on it, and made a PR on it.
It was May 2020, projects were announced. As a new organization, Orcasound got only two slots. The project I was seeking for not selected to be worked on that year. The two students who were selected have worked on an active learning tool, OrcaAL to help teach machines to detect orca sounds. In the same month, I learned about bimonthly DemocracyLabs virtual hackathons the organization participates in to hack for good on different projects and onboard contributors and volunteers. As a big fan of hackathons, I enjoyed a lot hacking collaboratively whole nights. I kept my ideas and worked collaboratively with other hackers on different goals.
I decided to make some more progress on the prototype I made to support my proposal. The prototype got converted into a dashboard to visualize Woods Hole Oceanographic Institution marine mammal detection data (link to website holding data) in the form of bar graphs, pie charts, diel plots with features of notification alert on Slack channel (my personal workspace) when calls exceeded a threshold limit of 60. I implemented a timer trigger function on Azure to scrape data from their site and load it into a spreadsheet (link to spreadsheet) once a day (at 11:30 UTC) daily. One can visualize weekly summarized data in the form of bar graphs, pie charts, diel plots, and also historical data (from 11/24/19 to 03/28/21 only) as they stopped presenting their data on their site after 28 March 2021 (I don’t know why? hoping they will continue again).
Parallelly, I have tried my best to keep myself updated with the organization's priorities and propose the best possible ideas (in my domain) by participating in discussions on Slack.
It was March 2021, I got to know about Orcasound got accepted as a mentor organization this year too. I have gone through the project ideas list and found the project Orcamap challenging and interesting. The project for which I wrote the proposal for last year was also on the project ideas list but I wouldn’t find that project much challenging after doing a similar thing as a personal project, obviously, any aspirant seeking a project on data visualization can do it in a better way.
I kept my research, sub-goals, and stretch goals into a proposal and drafted it early for reviews, got some reviews from mentors, updated my proposal, answered their queries, and submitted my proposal on the portal.
It was 17 May 2021, I was waiting for the selected projects to be announced and suddenly got a mail 10 mins before the announcement with the subject “GSoC 2021: Congratulations, your proposal with Orcasound has been accepted!”.
I am still accepting feedback on my project and planning to perform it better. If you want to addon something you can comment on the proposal through the above link.
The beauty of open-source is each and every contribution counts. You can showcase your contributions in your resume or can list them up in your proposal no matter which organization you have contributed to and which organization you are writing a proposal for. So, find something that passionates you and start contributing today.
Here’s the link to the help section that will answer many of your queries.
If still stuck at something feel free to connect me on LinkedIn.