Public Lab Research note


My Journey in Open Source (GSoC’19)

by IshaGupta18 | June 24, 2019 16:01 24 Jun 16:01 | #19839 | #19839

I first started my journey with Open-Source in December'18.
I had just finished a very stressful first semester of engineering and I was so excited about the upcoming holidays that I broke my right ankle and was bedridden for the entire holidays.

Going back a few months, I took up a course in full-stack development in Ruby on Rails, and it was one of the best summers of my life. I had an amazing time learning a lot of new things like the MVC architecture, making simple games in JavaScript to making complex chatbots, by and by creating a complete blogging engine, and everything new that came along and was being applied to build something excited me.

However, by the time the course was over, my 1st year in college started and I couldn't get much time to actually apply or use what I had learned during the summers.

Coming back to December, I thought that it was time to put my very small skillset to some use. I wanted to create something but I didn't have an idea, so I thought of taking up Open-Source because I knew I would get to learn more there, as I would be understanding an existing codebase, suggest my ideas and study it to add features or fix bugs.

After discussing with some people on where and how to start, people said: "Why don't you try for GSoC?". I immediately ridiculed that thought, as it sounded too impossible and far-fetched for me, and my objective of getting into open source was not for GSoC or Outreachy entirely, I wanted to expand my skillset. But still, I used GSoC's archive to find an organization where I could begin to contribute, and I stumbled upon Public Lab.

This was an amazing break-through for me. Firstly, the project structure was similar to the tech I had worked on before and the familiarity with the project elements gave me some assurance that I could begin from here.
There were a couple of first-timer-only issues, and to begin contributing, I claimed one of them. The issue was just to welcome new contributors, to help them set up the project and make their first pull requests.
I was a little anxious about my first PR, but the kind of support I got at my very first step, it was overwhelming. All of my queries were answered really quickly and I wasn't treated like an outsider.
When the PR got merged, I was immensely happy. My code was being reflected on the main site, even if it was a small change in an icon, but I felt so good about it because it marked the beginning of my journey.
I was immediately made a member and was asked to help out more. This was really very motivating and I felt like I could prove myself to be useful here.
In the next couple of days, I hunted for more issues where I could help out and created my first few PRs, some of them were quick and some took a little longer as I had to read up a lot of code and what exactly was happening that was causing so and so stuff to happen. But at no point in time, I felt burdened or I felt that I was on my own, as there were constant follow-ups and I could get answers easily. However, I learned that this shouldn't be exploited. If people are answering my queries, that doesn't mean that I have to clarify every little thing with them. Instead, I am supposed to make informed decisions and come to them with something on which they can give a productive input.
I enjoyed contributing a lot, and in the first month, I forgot all about GSoC or Outreachy because I was having a really great time in writing code and working with the community.
By the mid of January'19, I was in a fairly comfortable position in the community, where I could now open up issues, review PRs and take up more complicated tasks. My biggest pull request was on a new feature, which would have allowed a user to subscribe to multiple tags at once through check-box selection. This was a really huge PR, I had to redo a lot of work, do a lot of debugging and design the UI of this feature. I had a great time working on this and felt very proud and happy when it finally got merged.
From then onwards, I started considering about GSoC and started brainstorming ideas for my proposal. Initially, when the idealist hadn't come up as yet, I jotted down some ideas of my own. But soon enough, it came out, so I started going through the idealist to pick out the ones I felt passionate about. Side by side, I was working on more issues and pull requests, but with February's first week kicking in, the org saw a stream of new contributors coming in, to begin their contributions for Summer of Code. Obviously, the load on the org increased, as we wanted to welcome newcomers in the best way. So many of the current members, who were a little comfortable with the codebase, helped in opening first-timers-only issues and helping the newbies set up the project and create their very first pull requests. This was an amazing feeling, as I was now a part of the team, which welcomed me when I was new to the community.
I kept working on my proposal on Sensor Data Upload and Display Library, which was supposed to be a standalone HTML, CSS and, JavaScript-based library for CSV data upload and graph plotting, apart from other peripheral features like different import and export options, and integration with the main site. I had to do a lot of research to understand and figure out the implementations of different parts of the project, which was a really fun task as I learned a lot of new things and discussed potential ideas and ideas with the mentors. Bit by bit, I completed the proposal, complete with design mockups and code snippets, after including suggestions from mentors. Finally, on a fateful day, 9th March, I submitted my final proposal and hoped for the best.
I continued working with the org for the next few weeks, although I couldn't be as active as before, with the end-semester finals kicking in.
I tried to complete my leftover work after my exams ended. Bu the constant fear of not getting selected kept haunting me. I couldn't think of anything else and I was very worried. I talked to a lot of people, they said that I had pretty good chances, but it was difficult to believe them as I considered GSoC to be the ultimate thing that I wanted for my summer.
On the result day, I was too tensed up, so I went for a sleepover at my friend's house and kept refreshing the Gitter feed, my mailbox, and the GSoC page, even though I knew that the result would arrive at 11:30 pm. When the clock struck 11:30, I opened the results page and scrolled through, praying to see my name and there it was! The sigh of relief that I breathed, the immeasurable joy that I felt and the biggest smile on my face spoke all that I was feeling at that moment. I hugged my best friend tightly and messaged my mother.
We had an open call in the next 20 minutes and all I was worried about was how will I keep the smile off my face and not look like a monkey. But I didn't care. We were warmly welcomed to the Summer of Code and were very motivated to begin working on our projects, with the help of our brilliant mentors and the rest of the community.
It was one of the best nights of my life and thanked God and everyone who got me here, especially to my teacher, Arpan Sir, who took the course it all started with and was there with me throughout the journey, apart from all the helpful community members who got me through my issues and parents too, for their support.
I couldn't wait for the summer to start, and make it one of the best times of my life.


1 Comments

Thanks so much for sharing your story, @IshaGupta18 !!!

Reply to this comment...


Login to comment.