Monday, September 3, 2012

GSoC 2012 with Apache Photark, A great experience.

Google summer of code is one of the worlds leading opensource development programs. It is held anually by Google inc. Many enthusiastic students participate each year for this.
In every year many number of students try to take part of this program. But nearly 1000 students only get selected for this event.  I was lucky to take part in 2012 program for the first time.
I took part on GSoC 2012 under Apache Software Foundation for their incubator project Photark.

The interesting thing was my initial plan was to participate on another organization which develops a CMS. I also worked with them nearly one month. But then I realized what they are expecting and what I am interested is not matching. So I looked for another organization and found this interesting project.
But then there was little time for application closing period.  So I quickly checcout the code base play with it for little time, drafted a proposal and submitted it.
Then Mr. Suhothayan Sriskandarajah who was happened to my mentor contacted me and explained further about what they are expecting and pointed out week points in my proposal. Then I updated my proposal according to the feedbacks. Then I started familiarizing with other technologies were new to me but need for this project.
Time went results came. Boom, I was taking part in GSoC 2012. Then the community bonding period started. But there was a slight problem I had exams in first two weeks of the community bonding period. But the community was very friendly. They understood my situation and they give me freedom until exams are over.
Then I started cording. Since it was a somewhat green field project (project details will be explained in another blog post) I had to take important design descisions how the UI must be organized, what are the libraries to be used, etc. But I managed to done it in to a significant level when the mid evaluation came.
In the mid evaluation my mentor evaluated my problem and we discussed what have to be done in the next half. Also my mentor suggested some UI improvements which were essential to make the app usable.
Mean time the community decided to give me the commitership for the project. They asked whether I like to be a committer and I agreed instantly. After the normal procedures (signing the ILCA etc.) I officially became a committer at Apache Photark. This helped me to contribute to the project more efficiently. Not I could do the changes immediately without submitting patches waiting until they applied. Also I could quickly do bug fixes.
After the mid term evaluation as the first task I did the UI improvements and gave id a modern and user friendly look and feel. Then I implemented rest of the  functionality gradually. When It comes to the final evaluations I have completed most of the planned functionality as they were planned. The app has came to a release level with my contributions and other GSoC participant's contributions. 
Then I did a code review with my mentor and he suggested some changes to code structure and naming    conventions to make it more understandable and clean. It is very important for a open source project since many people are going to contribute it in the future. After the soft pencil down date we did an another code review and officially ended out mentoring sessions for GSoC 2012.
After the evaluation period I was officially notified that I have completed GSoC 2012 successfully. Finally I like to say GSoC 2012 was one of the best experiences in my life. It gave me the opportunity to involve with open source projects, communities and contribute to them. Those contributions will not be limited to the GSoC period and I am going to do those contributions further.  
Finally I like to thank the people who helped me to make this project a success. First of all I like to thank my mentor who gave me this amazing opportunity and helped me throughout this project. Also I like to thank the project lead Luciano Resende, project member Avdesh Yadav and other GSoC participant Bhargav for their help throughout this project. I will discuss about my project in the next blog post in detail.