The GSoC selection experience

Kush Kothari
5 min readJun 8, 2021

--

Open-Source sounds scary for any newcomer. One can’t imagine the number of times of I’ve reread the text while creating my first GitHub issue for a typo in the docs. For a student who barely has confidence about his abilities, contributing to open-source seems like a huge task. That’s where the Google Summer of Code comes in, a perfect opportunity for any student looking to dive into the world of open-source.

Before I start talking about my experience applying for and getting selected for it, I would like to clear some things out…

What is open-source according to me?

In general open-source is a word to denote software for which the original source-code is made freely available to use, redistribute and modify. In a sense you can see the very code that makes a system up. But to me, it is much more than that. Open Source is a community of some of the most creative coders, creating software that will make the lives of themselves and thousands of others much easier. Software, for the people, by the people.

Open-source can be thought of as a big machine that takes in budding ideas and coding talent and churns out some of the best solutions to real-world problems. Wanna help improve scientific research through code? You have awesome organizations like CERN , or Open Chemistry. Wanna work on deep learning? mlpack and Tensorflow at your service. And to add to that, the organizations selected by Google for GSoC are just a small subset of the large ecosystem of open-source! There’s something for everyone.

The GSoC selection experience and everything leading upto it

I started with my open source contributions in the domain of VJTI (my college) itself, my first PR being to the Community of Coders (CoC, VJTI) website itself. I feel that gave me a firm footing on how to communicate with the maintainers of the open source projects and how to effectively ask questions regarding the code changes that you are going to make. These few initial steps were crucial in making me habituated to larger code bases I may not have been familiar with.

The Initial Trouble

Once the GSoC organizations were announced in March, I started hunting for organizations with projects that required the tech stack I was good with. But this seemed to be a Herculean task. Since I was initially under confident about the skills I had, I found it difficult to find the most appropriate organizations. The ones that I did find that matched well with my skills had a huge number of people competing for that project.

I tried out multiple orgs in this time period, like EOS icons (under PSF), FURY (also under PSF), AutSPACEs (under INCF) but everything either seemed to not be my cup of tea, or had too many people involved.

The GSoC mindset

On further consulting other people, I finally realized what was was wrong with my approach so far. It was the mindset. So far, I was only looking for projects with all technologies being things I had worked on before. Every new opportunity to learn something was being ignored because I was scared of exploring domains that were slightly out of the my comfort zone.

The Google Summer of Code program has always been a way for students to improve their skills and get familiarized with Open Source. Yes, making a proposal for something you’re technology you are slightly new to is not an easy task. You will obviously have multiple doubts along the way. That’s when the next part of the mindset comes along… communication.

Communication

Communication is super important in any open source project. If there is proper communication among the contributors only then a viable product can be delivered. In the proposal and the selection period I realized, that all the doubts I had regarding a particular topic can be very easily answered, through asking the correct questions in the IRC/Chat of the project itself or of the library/tool that was giving the error.

I tried ensuring regular communication with the mentor and promptly asking doubts when required.

My Experience Writing a proposal for Data Retriever

Like my seniors suggested, a good GSoC project will also help you grow your skills by making you learn a few new things as well.

While I had experience with Python, Django and PostgreSQL before, I also learnt a lot about the tools required for spatial data analysis with Vector or Raster data, while writing the proposal. I made sure that I promptly googled or asked the apt questions that I had while writing it.

I am glad I selected this project as this provides an excellent opportunity to learn and grow a lot through the summer.

What is Data Retriever? And what is my proposal about?

Data Retriever is a sub-org under the numFOCUS group. It is a python library that automates the first steps in the data analysis pipeline by downloading, cleaning, and standardizing datasets, and importing them into relational databases, flat files, or programming languages. The automation of this process reduces the time for a user to get most large datasets up and running by hours, and in some cases days.

There is a project under Retriever, that is the Retrieverdashboard. The Retriverdashboard helps the team make sure all datasets are downloading. In case of tabular datasets, they are additionally tested to check if they are installing into SQLite.

My proposal aims to extend the capability of this dashboard to also provide support for the download and install of spatial datasets into a PostgreSQL database that has the PostGIS extension enabled.

What after the proposal?

The selection for GSoC is not only based on the proposal but also on how well you’re able to provide a proof-of-concept of the proposal you provided. In my case it involved writing scripts that were similar to the data set testing pipeline that I am going implement.

What now?

Now that the coding period has begun, I am hoping to complete the proposal aims one by one and also provide appropriate documentation for the code I will be adding. I will be blogging the things I code/test regularly and hope I will get a chance to learn new and exciting things!

--

--

No responses yet