KWOC is the 5-week long online program for the students who are new to open source software development. The program acts to be the platform for helping students take the steps to get involved in open source and making contributions to the projects. This also prepares students for other open source programs like Google Summer of Code.

Getting started

I created my first pull request in the second week of november and was just looking for any open source program like GSOC for the winter period. I stumbled upon the KWOC website and was excited to join this program as it seemed to be the preparation for Google Summer of Code.

Choosing the Projects

I wanted to work mainly on the projects that were using Python, C, C++, PHP and firstly I adhered to it. Later, I also worked upon a JavaScript project. I tried my hand on projects like git, coala, sensenet, smvdu-algos, social-media- review-platform, hoxnox.

Work/Challenges

1. Git

I came across the ‘git’ project which immediately took my attention as I was trying to understand the version control systems. After being unable to explore much on myself, my mentor the project - Pranit Bauva, asked me via mail about my proceedings. He gave me some pointers to work upon – the microtasks in Git project for 2017. I worked upon 2 of the microtasks : 1] Investigate if it is possible to use pylint to analyze git-p4 python code. I learned about the linting process – highly useful in maintaining coding practices and also about the pylint tool. 2] Avoid pipes in git related commands for test suite. To make testing more transparent, piping in git commands should be avoided and rather write output of each command to a file and use it for testing. I learned about the general expression grep and its git specifics.

2. SMVDU-ALGOS

This project is about the various basic to advanced algorithms used in Computer Science field. I added selection sort algorithm for C++. I worked on topological sort algorithm but the implementation failed to pass certain test cases as when reviewed. I created a new implementation for it but was unable to create PR before the pens down date.

3. Coala

Coala has very friendly community support for the newcomers and I worked upon adding travis CI task.

4. Sensenet

Python task.! ‘Make pip install’ was the task to be completed. I learned how to make the project package pip installble rather than building it from source. I also learned to build packages from source.

5. Social-Media-Review-Platform

The task was to integrate php code sniffer for code quality. I created the phpcs.xml file for using code sniffer, but the pull request was not reviewed and merged.

6. Hoxnox

The project had one JS issue – ‘make the project field in portfolio optional’ and I tried working on it. This required some validation JS file changes and corresponding html file changes. I made the changes in JS file correctly but html changes were not done initially, PR failed at review. I couldn’t work on the issue again before the end of coding period.

Verdict

I learned a lot of new things while woking on these projects and was able to work on new technologies. I learned the github workflow and its various tools. The experience with Kharagpur Winter of Code has been truly amazing and fruitful. Huge thanks to mentors for helping me at various steps throughout the working period. I would like to thank IIT Kharagpur and Kharagpur Open Source Society for hosting this program and allowing participants from outside the IIT-KGP.

Ashwin Samudre

https://github.com/kiryteo