If there is one thing, which is a dream goal for any college student who loves to code, that would be GSoC (pronounced ‘jee-sock’). Well, what is this GSoC? Directly from the horse’s mouth,
“Google Summer of Code is a global program that offers post-secondary student developers ages 18 and older stipends to write code for various open source software projects.”
Long story short – Students willing to participate should first go through the list of selected organizations in GSoC -> Choose an organisation -> Choose a project -> Start discussing your proposal with the mentors and improve it -> Make a proposal and submit it through Google Melange. If you are selected, you make history (along with 5000 USDs in your bank account :P).
I chose Umit as my organisation. Why? Take a look at their list of projects and you would understand the reason. Among all these projects, the relatively new “OpenMonitor” project was my favourite. I loved their idea. As it sounds, its a Monitor for the Open Internet. It keeps track of all the connections on the Internet and has the ability to trace back the reason of a network blockage or blackout. Simply put, it frames a nervous system of the Internet by implementing a peer-peer topology of nodes scattered around the globe. Thats totally awesome. I really wanted to be part of this wonderful project. When? It was last year (2011) May. I worked with Luis, who is a mentor at Umit. He was really really helpful. He guided me right from scratch and helped me out at every stage. I hacked around a bit on Umit Network Scanner, Packet Manipulator and OpenMonitor then. I even made a talk on Umit Network Scanner at Pycon India 2011.
Then came the news of GSoC 2012. And Umit made its way to the selected organisations list this time too! My joy knew no bounds to know that I had the chance to work on my favourite project as part of the legendary Google Summer of Code 😀
I studied the code of Desktop Agent and Mobile Agent of OpenMonitor and I found that the Interpeer Routing was in a prototype-like stage and it really needed to be tweaked up for further enhancements to happen. Thus I started discussing the problem with Zubair, Luis and Adriano and finally settled with implementing a Kademlia based P2P implementation for the inter-peer communication among the desktop agents, mobile agents and the aggregator. We initially planned to make our own implementation from scratch in Python, but later planned to use C++ Kademlia libraries and writing wrappers in Python and Java.
And after all the discussions, I was able to fine tune my project proposal and submit my proposal.
The list of accepted proposals were out by GMT 1900 hours yesterday on the Google melange site and I was glad to see my name on the list. Now, I have a chance to work in one of the coolest projects in the open source world as part of the Google Summer of Code. I am really proud and happy to be at this place.
Special thanks to Dorai Thodla, Karthik Subramaniam, Madhumitha Vishwanathan, Yuvaraj Pandian and all the members of ChennaiGeeks and ILUGC communities in Chennai for exposing me to such excellent opportunities which until last year I hadn’t heard of.