02 Sep 2019

Journey of GSoC'19

My experience as a student developer in GSoC'19 for Sugar Labs

After an everlasting and thrilling day of 6’th May 2019, at 11:30 pm I quickly went to the site of Google Summer of Code and searched for the selected projects of the Sugar Labs organisation. Keeping my elation at the top my project was the last in the list and wohooo! I was selected in GSoC’19.

My proposal can be found here.

Let’s begin from the start. I started contributing in Sugar Labs from December 2018, along with another intern as a backend developer. At that time I was a noob to open source although I was familiar with github but never contributed to an open source organisation. I still remember the trouble that I made with my first pull request. I made a pr with a small commit message using the -m flag, “Fixing Issue #5”. Then the message that I got from the org-admin was :-

Commit message should explain the problem and the solution. A link to the issue is not enough, because issues can get archived, and are exclusive to GitHub. We need reliable history in git.

Rewriting the commit message I made another pr(I was not that habitual of using forced push and rebase at that time). In that pr also the changes were not that refined, and were done just to make things work. Finally the org-admin did some changes to my pr himself, and my first pr was merged. From then I kept contributing to Sugarlabs fixing and working on a number of issues. On Feb’ 14 2019 I was added as a new member of the organisation and I felt pretty confident and motivated. I wrote proposals for two projects Port to Python 3 and Improve and Maintain 25 Sugar Activities. I also had a small interview (or we can say a friendly talk :p) with my mentors after submitting my proposal.

My propoasl for Port to Python 3 project was selected. The project involved the following tasks-

  • To port all static telepathy bindings to TelepathyGLib.
  • Make activity-chooser window modal.
  • Make sugar-toolkit compatible with both Python 2 and Python 3.
  • Make sugar-desktop compatible with Python 3.
  • Port sugar-activities to Python 3 and make a release.
  • Write the necessary documentation.

In the community bonding period, I tried to get more familiarize with my project. I also has small talks with my mentor. Before the coding period began, we were instructed to write weekly blogs and a short summary of my weekly work through which all the community members can be updated about my work in weekly meetings on Mondays.

The first phase of the coding period was the most involving. I remember working 8 to 10 hours a day including weekends. I was also doing competitive programming side by side as a preparation for thr oncampus internship drive starting in August. I specifically remeber a pull request that I opened on 27’ May and was Merged almost a month after with 99 comments on the pr thread. And one of the comment from my mentor even had a meme xD -

I recieved the first installment in July 1st week and that made me really happy as those were alomst the first bucks that I made myself :P. In between the second coding phase I went back to my college with everyting planned in mind of what to do with the money. I purchased a 27 inch LG monitor, a JBL speaker, a mechanical keyboard, a bean bag and a lot of more things. After that my setup looked something like this -

Trust me it feels really cool to work on a monitor :p. In phase two I got involved with some work related to the first alumni fest of our college as a part of Institute Alumni Relations Cell. My preparations for the internships are going along as well.

For the first 10 days of the third evaluation I was all messed up with internship tests and interviews and hardly did any work in those days. After finally getting an intern at Jp Morgan Chase and Co. on 11th August, I stated working on the remaining tasks with full force. I submitted my final report in the last week of August, which can be found here. In second week of September I got a mail in my inbox that I passed GSoC’19 successfully!

It was overall an amazing learnig experience :-)