Post

Journey To GSoC

Finally I got Selected in GSoC, 2024

My Journey to Getting Selected for GSoC

I have been very motivated for GSoC 2024 since my first year, which I discovered from YouTube. From that moment, I always aspired to be a successful applicant. However, being new to all the computer science jargon made it difficult to understand much about FOSS (Free and Open Source Software), which aims to create software useful to anyone.

Learning the Basics

I started my journey by learning Git, as version control systems play a crucial role in maintaining repositories of open source software. I then learned how to use GitHub, which I personally believe has the best UI and is the most intuitive tool in the software industry. I created my own profile page: User-DK on GitHub. Despite my enthusiasm, I had not made any pull requests because I was new to the high level of complexity in these code bases. However, exploring codebases daily and understanding what they do was an amazing way to learn about coding styles and tools used in real life. Through this exploration, I came across many amazing people and their contributions, which further inspired me to work on my own projects.

The Competitive Spirit

As GSoC 2024 approached, I felt the heat of competition, especially in India where many aspirants apply. Even though I had not made any pull requests, I did raise some issues. I always believed that flooding organisations with low-quality pull requests is the worst thing and should be avoided. I explored organisations like PSF and Webpack, and in the process, I met many brilliant CS students who had achieved a lot during their college years. Reading their proposals gave me good insights into project ideas and how to write effective proposals.

Discovering Seldon-Code

Finally, I came across Seldon-Code, which is a C++ engine for opinion dynamics simulation. The term Opinion Dynamics fascinated me. I had heard about machine learning and artificial intelligence but opinion dynamics is essentially the study of how opinions evolve in a network where agents interact and update their opinions, possibly reaching a consensus or becoming fragmented. The task for this project was writing Python bindings using Pybind11. When I first read about Pybind11, I was amazed. As a budding developer, I always thought about ways to make Python faster but never explored any projects that achieved this. Pybind11 bridges the gap between C++ and Python, allowing us to use Python’s simplicity with the speed of C++ in the backend.

Guidance and Community Support

I was fortunate to have mentors- Amrita Goswami, Moritz Sallerman, Rohit Goswami who are Academics and developers of this project, especially Mr. Rohit Goswami, who is a dedicated open-source contributor. They guided me throughout the process, helping me understand the scope of the project. Initially, I encountered some errors, but thanks to the great Linux community (I personally use the Parrot distro), I managed to overcome them. The smoothness of setting up a project on Linux is indescribable. After getting involved in this project, I didn’t have time to contribute to Webpack, so I only submitted one proposal to Seldon-Code. To my delight, I was selected! I am very excited to work on this project and contribute to the open-source community. Thank you for taking the time to read my blog. I hope you found it interesting and inspiring!

See my project here: gsoc website, and here PySeldon

This post is licensed under CC BY 4.0 by the author.

Trending Tags