Journey to GSoC

Chamath Ekanayake
SCoRe Lab
Published in
4 min readJun 28, 2022

Hello people of the internet,

This article is for the people who are overwhelmed by open source programming and if not just do not waste the next 4 minutes reading the rest because this is from a person who has been in the same place.

Going through beautiful code bases which have thousands of stars and forks on GitHub and thinking about when will I be good enough to contribute to such a beautiful code base, and be a part of such a community. Let’s be honest, there were times I looked at the code even though I couldn’t understand anything , just looking at the folder structure and how the functions are structured, broken into small chunks. Well, that was about 2 and a half years ago.

I first started open source contributing during my internship working as a researcher. I was working on analyzing the SSL certification issuing stream using pycrtsh, a python module and it was not giving all the details I needed, so I changed the code base as necessary. Since the code was beautifully structured I was also motivated to code the few changes in the same manner. Then it occurred to me that there may be others who are getting or might get the same issue so I started looking into best practices in open source contribution. Forked pycrtsh, made commits, and drafted the PR. It was my first PR into a repo who doesn’t have any idea about me, a complete rando. So after crossing my fingers and clicking on submit pull requests I was eagerly waiting, checking from time to time on the status, has he merged it, or had commented something out. Man, that was a thriller. After about two days I was thinking even though I wrote the code beautifully and wrote a good PR describing the changes and included clear commit messages. Was it not good enough to be merged? And in a few minutes, I got an email saying PR approved and merged. Oh man at that moment feeling you get of becoming an open-source contributor and thought I helped even in a small way to make the module better for everyone. So start small, maybe from software you have or are using now because then you are familiar with its overview and functionality. Become comfortable out there making issues, and taking part in the discussions on Github. Slowly take part in fixing some issues, maybe small ones.

After getting familiar with the Open-source culture/ community the best place to go to the next level is Google Summer of Code aka GSoC. By any means don’t confuse it with a summer internship at Google. Even though it’s organized by google it is not a google summer internship program.

GSoC is a global program that is organized by Google every year and focuses on bringing more student developers into open-source software development. You get to work with fantastic people from great companies. Head over to the official site go over some projects done by the past participants, find a couple of projects/ organizations you love, and start contributing and taking part in discussions. I would recommend sticking only to 1 to 2 organizations Most of the projects have a code of conduct, a PR template, an issue template, and most important a public communication channel. Join those Gitter, slack, etc channels and introduce yourself and say that you are interested in starting contributing to this project. Ask are there small /simple issues that I can take a look at? Remember, start small then expand. Those communities are very supportive. Be patient and be grateful for them. When the GSoC calls for applications, communicate with the mentors from the projects you have been engaging in so far and try to draft a proposal as early as possible so there is time to get feedback from the mentors and do the necessary changes. One-stop guide to Google Summer of Code by Harshit Dwivedi is a good guide on GSoC.

Being a cybersecurity enthusiast and a student researcher for a while, I got interested in Survey6 by Web telescope, a sub-organization of SCoRe Lab. Survey6 is a tool that collects IPv6 packets via probes both actively and passively and sends the collected packet to the server where the packets are processed and stored for further studies. This would aid the cybersecurity researcher in conducting studies on the IPv6 ecosystem. This summer I would be building the active scanner. I am looking forward to a great summer working with the SCoRe Lab team.

Well, that’s it!.

If you by any chance are interested in IPv6 and want to read more IPV66 address of the best by Christoper Grayson and Marc Newlin and paperTarget Generation for internet-wide IPv6 scanning are some good stuff.

Cheers!

A person on the internet.

Thanks for reading! If you enjoyed this story, please click the 👏 button and share to help others find it! Feel free to leave a comment 💬 below.

--

--