Greetings to all!
I think many have heard of the Google student program called
Google Summer of Code (GSoC) . In short, the essence of the program is as follows: open source projects submit applications, Google reviews them and selects a certain number to participate, and then students are selected for participation by the projects themselves. Naturally, people need to somehow be motivated to participate, so during those 3 summer months, during which the student will work, he is paid a stipend of $ 5000 (in case of successful completion of the work), his supervisor is $ 500. The summer is already nearing, which means that students will soon be able to apply for GSoC 2012. Since I don’t remember that Habré shared their experience in this event, I decided to fix it and tell you in detail about what is needed to apply how to submit it and about further participation. I will tell on the example of my participation in 2010. Who cares - I ask under the cat.
The terms of participation
The first thing that needs to be done is to familiarize yourself with the main conditions for participation in the project. The main issues and the order of the project are covered by the link that I gave above. The main conditions for participants:
- the participant must be a student (or graduate student) at the time of the announcement of those accepted to participate, i.e. it is possible that by the end of the project you will no longer be a student (this year students will apply for participation from March 26 to April 6);
- besides this, you must be at least 18 years old.
As you can see, the conditions are quite simple. Therefore, we proceed to the next stage.
')
Choice of organization (project)
The next thing you need to do is choose a project (or organization) on whose behalf you want to participate (and for which you will work). I once chose
GNOME . Usually many (especially large) projects on the site already have some lists of ideas that they would like to implement within the framework of this program. For example, this is
how the GNOME list looked like in 2010; now the new list is available
here . I did not think long and took up the idea that the developers would like to implement in the first place (the plug-in for Totem provides support for parts in video files regardless of the format, it is also the Totem chapters plugin in the list). But it is not at all necessary to choose ideas from the existing list - you can offer them yourself to the project, and, often, this is more welcome.
Preparing to apply
Once you have selected a project to participate in, you need to prepare for the application. It so happened that the number of willing students from around the world is quite large (according to my estimates in 2010 there were 4-5 people per place), and it is necessary to select about 1000 people. And since the number of students from each project is limited, each project has its own conditions for applying. In most cases, this is a common test for what you really know how to program and communicate with people (for example, fix a bug), and also know at least some of the tools that are used in the project during development. GNOME at one time had a rather simple condition: fix any bug in their bugzilla. This is fairly easy to accomplish in a day or two, so do not be afraid to start somewhere. I wrote a
patch for fileroller (GNOME archiver), and later another
patch to support the lrzip archives. And the first was never accepted, but the second was accepted. Try to learn in advance how the project is being developed, what tools are used - their knowledge will be an absolute (but not decisive) advantage in your favor when choosing from several participants.
Do not be afraid to contact the project participants before submitting an application: firstly, find out how relevant your idea is, and secondly, they will already know about you in the project (at least about your desire).
Also read the application form, it may differ from each project, ask the managers about this. For example, GNOME was
like that .
Application submission
Actually, the application procedure is quite simple. Write the application itself according to the required template (
an example of my application ) and send it to Google for consideration until the end of the admission (see the very first link in the text, where you can register for participation). A big plus would be if you describe in the application a rough plan of your work for the summer - it helps to estimate the amount of work and the intentions of the participant. The main thing when sending an application is to correctly select your organization from the list (if the organization you have chosen, of course, was allowed to participate). In the application, try to show that you deserve to participate, because several participants can claim your place - the choice is up to the organization itself. After that, you just have to wait for the results.
You have been chosen to participate
If your statement has passed - congratulations! Your email should receive a confirmation from Google. By the way, it was funny that some people GMail considered this letter to be spam, and some had a slight panic. But it's still too early to rejoice - there is a lot of work ahead.
Here is what you need to do first:
- you will be subscribed to the Google internal mailing list for GSoC participants - read carefully the rules of conduct, they will also inform you about all the news and what needs to be done, where to fill out what forms, the main rule is that you don’t write any nonsense and spam to the list, First, read the FAQ carefully, because there are many students and only a few people at Google;
- it's time to provide Google with confirmation of your students - for this, take a certificate at the university stating that you are a student (certificate in Russian, or in another official in your country);
- On your personal GSoC page, download a special form stating that you agree with the rules of participation, print and sign it with a pen, then scan it (scan it);
- when deadlines for submission of confirmations of students are announced in the mailing list - send a copy of your certificate to the address indicated (it is better to provide it with a translation into English - this will speed up the verification process) along with a scan of the signed agreement, and then do not ask the newsletter whether they checked if they do not write anything to you, then either they are satisfied with everything, or they check it (I personally received a letter saying that the documents were accepted and everything is in order).
Once your documents are accepted, you become a full member of GSoC, and as a gift, Google will send you an introductory participant package (in 2010 it included a congratulatory letter, notebook, pen, car sticker, Citibank debit card for crediting money). Instructions on how to activate the card attached. Money can be withdrawn at any Citi ATM. If my memory serves me, then there were starting $ 500 on the card. Tip: withdraw money as soon as possible after they are credited, since last year there were cases of hacking Citi, and students were left without money.
Getting started on the project
Now it is time to talk with your mentor from the organization (the organization allocates a mentor for each student), as well as with the participants of the organization itself. Subscribe to their newsletter, greet everyone and tell about yourself and your plans. The better you make contact at the initial stage, the easier it will be for you to continue. You have about a month for this (actually, a month is given for this). Read about the rules for participants (they are different for each organization). For example, GNOME had the following rules:
- Every participant once a week writes about what he did to the internal mailing list so that the administrators from the organization could see the progress of the work;
- Each participant gets a wiki page for his project and fills it with information about the project, the current course of affairs, the work at the end and other useful information ( example of my page)
- A blog describing the progress of the work is started at will, but the plus is that it is added to the aggregator of all the GNOME developer blogs, and many people, like yourself, are recognized by the organization’s members (the example of my weekly blog reports);
- students were sponsored for a trip to GUADEC (GNOME European Conference), where you can get acquainted with the main developers, and you are entitled to your report on your work;
- Upon completion of the work, you should make a summary of what has been done and what you will do in the future.
At the first point I will stop attention in more detail. The fact is that in the middle of summer you pass the so-called midterm evaluation, that is, whether you are doing your job or not. This is decided by the organization for which you work, and it makes this decision based on what the manager says about you, but the organization itself can make a different decision. Therefore, your work should be visible, you should be aware of it. If you have a session - warn in the ezine about it.
Also in this introductory month you can start exploring the tools that you will use in your work, watch the code base, think about possible solutions. Nobody forbids you to start writing code now (I did). In general, do not lose this month in vain.
Three months of work
Actually, somewhere from the end of May, the three main working months begin. Try to learn as much as possible during this time. Do not be afraid to ask your manager, even if the question seems silly to you. Ask the community. You will be prompted how to make this or that action better. Plan at least 4 hours a day on GSoC, and more is better. Therefore, if you have a main job, participation in GSoC will not be the best idea (in the very same GNOME several projects were failed). The main thing for you is to pass a checkpoint in the middle (half of the total amount will then be credited to the card), and a similar checkpoint at the end (will list the remaining money). Also, in case of your successful completion, you will be required to submit all your work as an archive to Google (all your patches, source codes, etc.) - apparently, for reporting.
Now a little about why you should not be afraid of participation. For example, I did not work with GLib, GObject, GTK +, GStreamer, and other GNOME technologies before submitting an application. I began to actively read the literature and examples in the first month, tried to write and debug something. Every minute I tried to spend with benefit, to get the most information. I read even in the train while driving home. Therefore, I think this month is very important. You need to feel the project, so that the work goes to pleasure. As a result, part of the knowledge came before the start of work, part came during work. Do not be afraid to go into the code and try - the manager also understands that the project is new for you, and you need time.
Shutdown
If you have successfully passed two control points, then, as I said above, send the results of your work to Google and choose the size of the T-shirt in your profile. Because you will receive a congratulatory package (yes, one more) from Google, in which in 2010 there was a branded T-shirt (the circulation of which is only about a thousand) and a personal certificate confirming your progress at GSoC. I think it’s not necessary to explain that this certificate can play one of the key roles in accepting a future job (after all, a student with a certificate from Google has a higher chance of accepting). Well, just nice to hang it in the frame :) Of the other obvious advantages:
- get a good work experience;
- meet competent people;
- a good chance to join the developer community;
- instead of drinking beer in summer, get $ 5000.
As you can see, the motivators are not bad. If you like it - you can continue to participate in the project. For example, what I learned in three months:
- GLib / GObject;
- GTK +;
- libxml2;
- CMML and Annodex formats;
- OGG / liboggz;
- GStreamer;
- Matroska / EBML format;
- FLAC format;
- git;
- some autotools.
Agree, quite a good summer practice for a student. Plus I met many people. In general, you still have time - think, participate, benefit open source.