Search This Blog

Friday 27 February 2015

What is GSoC? (Google Summer Of Code)

Hello everyone. Firstly, let me quickly introduce myself. My name is Shourya Singh Gupta and last year I did my GSoC with digiKam on this project. In this blog I will be giving some tips to get selected for GSoC. This will be helpful to those guys who are going to try to participate in GSoC this year and in the upcoming years.
If you are reading this blog, then probably you are already aware of what GSoC is. But if not, I will give a very short info about what GSoC is. The Google Summer of Code is an annual program in which Google awards stipends (of US$5,500, as of 2014) to all students who successfully complete a requested free and open source software coding project during the summer. The program invites students who meet their eligibility criteria to post applications that detail the software-coding project they wish to perform. These applications are then evaluated by the corresponding mentoring organization. Every participating organization must provide mentors for each of the project ideas received, if the organization is of the opinion that the project would benefit from them. The mentors then rank the applications and decide among themselves which proposals to accept.
Now having given a summary of GSoC, lets get back to the main problem and that is,“how to do it ?”. So the first step towards participating in GSoC and a very crucial one I suppose is selecting an organization to work with. For this you can open last year’s website of GSoC and look for organizations that require the same skill set that you possess. Here when comparing your skill set with that required by the org, its best if you have all the skills that is required by the org, but in case you have most of the skills and not all of them then do not just rule out that org. If you think you can quickly acquire those remaining skills before starting to contribute in the org, then do take that org into consideration. This is actually one of those phases in GSoC where you get to learn those tools and technologies that you do not know yet. Now after you have shortlisted the organizations that require the same skill set that you possess, its time to select that one org in which you are going to contribute and hopefully do your GSoC with. Here different people have different views, some say its better to keep contributing in different organizations because that increases your chance to getting selected in GSoC, but I personally believe that its better to channelize your entire energy into working with one org rather than trying your hands on too many things. So do not try be jack of many rather be a master of one. One more thing that you could keep in mind while finalizing your org is to check whether that org is a regular participant in GSoC or not. Some organizations are not regular participants in GSoC. So if you want to play it safe, try to choose an org that has been regularly participating in GSoC since past few years.
After having selected the org, its time to move to the second step. Now you need to download the code base of the software that you need to work on and build and install it. I am explicitly mentioning this because if the procedure to build and install your software is complex you might get various unresolved dependency errors which takes a little while to solve. I have seen people quit preparing for GSoC because they were stuck for a long time in this step and got frustated. So if you are stuck somewhere do not get disheartened. Keep trying. If you are really not able to solve it, you can also ask the lead developers of the software about how to solve the problem. They will surely help you out.
Having done this, its time to move to the third step, which is solving bugs in software and establishing a good rapport with the lead developers(your potential GSoC mentors) of the software. This is actually the step that will determine to a great extent whether you will be selected or not. So firstly, join IRC/mailing list of the software on which you are working. This will be the medium of communication between you and the lead developers of the software. You need to prove to those guys that you have the potential to successfully complete the GSoC project if its assigned to you and the best way to prove this is by fixing bugs in software. The more bugs you solve, the more confident they get about you. Also, if you get stuck somewhere while solving a bug then do not hesitate to ask them. They are not going to think that you are a fool or anything. They understand that it takes time for a beginner to get accustomed to a large code base. But ask intelligent doubts. Do your own research before asking any doubt.
By Feb end or 1st week of March, you should choose a project on which you would like to work on, from the list of ideas proposed by the organization. This is the fourth step.You need to discuss in great depth the technical details of the project with your mentor and then you need to write a proposal stating how you are going to work on this project and the timeline that you are going to follow. You should really know the details of the project in and out. This not only improves the standard of proposal you write but in fact helps you a lot when you are are actually coding in the summer for your project.
Now the fifth step is to simply sit back and relax till the results are announced  . Whether you get selected or not is another story. I think you should be proud of yourself if you have even come this far. I am pretty sure you might have gained a lot of experience by this time, which will be of great use to you. And if you are selected, then Congratulations !!! I can guarantee you one thing, seeing your name, after working so hard for it, in the list of selected students will be one of the best moments of your life. And if that’s not enough for you, you are going to get $5,500 in the next few months (I guess that’s good enough reason for any person to be overwhelmed with happiness plus a t-shirt and some cool goodies.
And lastly just a word of caution. Please do not make the mistake of not working on your project after getting selected for GSoC. There will 2 evaluations during the coding period and you need to pass both the evaluations to get the certificate of completion and the total $5,500.
So best of luck to all the aspirants !!
May the force be with you !! 

No comments:

Post a Comment

Blog Archive