Selection in GSoC 2k18

Hey there! This post is my first blog post and it is about my selection into the program Google Summer of Code 2018.

Intoduction to Open Source

I was introduced to the world of open source development in October 2017 and I was deeply fascinated by this idea. The fact that all the code of VLC, Mozilla, Linux and many other huge organizations has been written by a developer without any benefit is just so cool. Hence, to expand the world of open source and encourage more and more developers towards it, Google does a fine job of motivating young college and university students by incentivizing them with stipend, goodies, certificates etc. This not only fills the resume of the student with a great point,but it is also of huge advantage to the organization as there is a lot of development which happens in just 3 months of summer. Also many people do not just leave the organization or become inactive after the coding period. They keep contributing even after the program is over and even participate in the following year as a student or might become a mentor too.

CCExtractor Community

So, I started filtering out the organizations which I thought I could contibrute based on my skills and my interests. It boiled down to 2 organizations - CCExtractor and VLC. I started out with CCExtractor, reading its documentation, project ideas, compiling the code and using it to extract captions from different types of videos. I found this tool to be very handy and its use was very varied from extracting closed captions, DVB subtitles to burned in subtitles. But,at the same time there was much scope for development and improvement in many areas and hence, I began reading the source code of the organization and joined its mailing list where the developers of the community hang out and discuss issues and it was fun. The idea of the organization, the community etiquette and the mentors and previous years GSoC students - everything was so good in the community that I decided to stick to this community and never tried VLC.

OCR Project

Now that I thought CCExtractor is the best place for me to contribute, I started reading the source code of the organization and tried fixing the existing bugs. Initially I found many projects interesting like Project Nephos, OCR, Most Interesting bits in a video. But out of these, I was most familiar with the OCR one as all of my bug fixes were related to the HardsubX system of CCExtractor and this project was the most logical and appropriate choice to pick. So, I kept in touch with the mentor of this project, and kept asking him for ideas about how to go about solving it, and any other issues I had with the code or anything related to it. He was very helpful and responsive to all of my queries and I started making the proposal for this project. This proposal making phase was a very hectic one as I had to manage my college academics alongside this. But it was fun and I had learnt many things like the traditional methods and the state of the art methods for the current problem. Now, I was ready with the proposal by 22nd March and the deadline for the submission was 27th March. I was getting it reviewed by my brother and there he pointed out that this wasn’t what the organization wanted. Indeed the proposed deliverables would blow up CCExtractor to GPU levels which was not what the organization expected and hence, I had to change the proposal entirely to make the project work on an average computer system. So I just had 5 days left to make a new proposal. I again had to read more and more papers and finally I found out an idea in a day or so which I think best suited my project and I started making the proposal again from scratch. Fortunately, I was able to complete the proposal by 26th morning and got it reviewed by my brother, my mentor and the organzation and was able to submit it just on the day of deadline after final changes suuggested by my mentor and the organization.

Link to my proposal: Improve the OCR subsystem.

Community Bonding Period: 23rd April to 13th May

The list of qualified students for the program was announced on 23rd April 2018. I was selected by my organization alongside another student to work for the same project. The community bonding period is the period where the students make themselves familiar with the community and solve issues and fine tune the deliverables of the project. During this period, I was not very active as I had my end semester exams till 10th of May. Once my exams were over, I started my work on the project right away. This was my road to selection in GSoC and what I plan to do the next 3 months in summer. I’ll keep updating my blog and will keep sharing my experiences, skills and learnings I’ll be gaining throughout the summer.

Written on May 18, 2018