Lets get started with a brief introduction of Google Summer Of Code.
What is Google Summer Of Code?
Google Summer of Code (GSoC) is a global program that matches students up with open source, free software and technology-related organizations to write code and get paid to do it! The organizations provide mentors who act as guides through the entire process, from learning about the community to contributing code. The idea is to get students involved in and familiar with the open source community and help them to put their summer break to good use.
Accepted students gain exposure to real-world software development, and employment opportunities in areas related to their academic pursuits. Participating organizations are able to identify and bring in new developers. Best of all, more source code is created and released for the use and benefit of all; all code produced as part of the program is released under an open source license. The fact that you get to write code that people from all over the world can use – how cool is that!
This program has brought together thousands of students and mentors from over 100 countries worldwide. At the time of writing, over 200 open source projects, from areas as diverse as operating systems and community services, have participated as mentoring organizations for the program. Successful students have widely reported that their participation in GSoC made them more attractive to potential employers and that the program has helped greatly when embarking on their technical careers.
How to approach and how to get involved it in this program?
Many of my friends, colleagues asked me this particular question and here is the answer for it.
Firstly, you need to get to know your strength i.e., your skill set.
Secondly and the most important and confusing task is to choose an organization so that you can start contributing the code by writing enhancements or by documenting or by adding patches to the bugs.
You can look out for some of the open source organizations which got selected in the previous years of GSOC.
and so on..
You can just type in your desired language in the text box which says “tags” and can filter the organizations which uses that particular language in their software.
Then go to the organization website.Learn about the software, and if you find it interesting join their mailing lists. Find out the IRC channel of that particular organization, Join the channel and introduce yourself in that channel.
Speak to the main moderators or administrators of that organization or any of the other core developers about your interest in contributing code by working in that organization. Firstly , they would advice you to build and run the software on your local system.(You can download(Link will be available on their main website) their entire code from the code bases[version control systems] like github, svn, source forge etc.. ). When you successfully accomplish this task, they will definitely guide you to solve some bugs in their software which are hosted on their bug tracking sites like bugzilla.org, bugtracker.net, buggenie.com , etc..
From now your hard work begins,
Start with the low hanging bugs i.e., easy bugs and apply patches. Before working on a particular bug, you should not forget to assign that bug to yourself or else you might get into trouble.You can atleast inform the developers in that organization that you are working on a particular bug so that they prevent other developers from working on the bug which you have chosen.
After applying the patch, just inform the developers to check the patch. If they are satisfied with your patch they will commit your patch and change the status of the bug to resolved.
In this way you need to fix some bugs and also write some enhancements to get good appreciation from the developers in that community (organization).
When the Google Summer Of Code is announced and if the organization which you have been working gets selected to participate in GSOC, You can apply to the projects which are present in their project ideas list. Discuss about the project idea with the assigned mentors and win their hearts and show the confidence that you would definitely be able to complete that particular project.
Understand the project goal and try to analyze it properly. You can start preparing for that particular project which you have applied and you can sketch the road map how to accomplish that particular project goal. In this way you can give a kick start!
Remember that you can apply for 20 different projects 🙂
All the very best ! Good Luck
P.S: I am SriHarsha.P(IRC: apple cool, ShellZero) , Google Summer Of Code 2012 Intern, worked for OpenMRS.org(The Uber Cool Awesome Organization)
More information regarding how to choose a right project and how to write a proposal will be updated soon in my next blogpost 🙂