Information for Students
Thanks for your interest in GNOME Summer of Code!
Summer of Code (SoC) is a program promoting open source software development by sponsoring students to work on open source projects from the comfort of their home. If you are a student interested in developing open source software, this program is for you! Don't worry if you have not developed open source software before. You can get started now by fixing a small bug, which is a requirement for a successful application, but should not take you a lot of time and will show us your willingness to dive into the code. We are generally looking for students who are willing to learn, have good coding skills and, most importantly, have a keen interest in open source software development.
Students who successfully complete SoC will receive USD$5000 for their work.
How to Apply
To participate in SoC as a student, you must be an individual enrolled in an accredited post-secondary institution. No group applications are allowed. Please check Google SoC 's eligibility section for more details.
Only coding projects are allowed for Google SoC.
Please be sure you are familiar with answers to Google's SoC frequently asked questions.
Decide on a SoC Project
You can start by reviewing the SoC project ideas on ideas page or by selecting a GNOME project that has a mentor listed for it and talking to the mentor about what would be a suitable SoC project. Neither list is exclusive, you can find the main developers of any project on IRC, introduce yourself, and ask about what would be a suitable SoC project or present your idea.
The following things can help you select a project and prepare your idea:
Read the project's wiki page on the GNOME wiki
Lurk on the project's IRC channel
- Build the code for the project and run it to check out its latest capabilities (the wiki usually has the instructions for doing this, but don't hesitate twice to ask the project's mentor or people on IRC for help if you encounter any problems)
Look at the open bugs for the project in the GNOME Bugzilla
Look at the recent changes in the project's Git repository
Read the recent discussion on the project's mailing list
- Read the blogs of the project's mentor and other project contributors (you can learn who they are when looking at the Git repository)
Read Planet GNOME
Review the information available on GNOME Love wiki pages and mailing list
To prepare a strong proposal, you need to learn as many things as you can about what would be involved in implementing it and display that knowledge in your proposal.
Some general GNOME IRC channels you can hang out on are #gnome-hackers, #gnome-love, and #soc. If you have any questions related to applying for Google Summer of Code in GNOME, you can ask them in the #soc channel or contact AlexandreFranke, ChristopheFergeau, DanielSiegel or MarinaZhurakhinskaya. However, please avoid questions like "do you think my proposal will be accepted?".
Make a Small Contribution
Once you decide on the project you are proposing, you need to fix a small bug for the module you will work on for implementing your project proposal. You can ask the module's mentor for a suggestion for what a suitable bug can be or find one in the project's Bugzilla and double check about it with the mentor. You will need to download and run the code for the project and create a patch that fixes the bug. Your patch may end up being just a few lines of code, but this demonstrates a willingness to learn and get involved.
While working on your contribution, you should feel free to ask for help from the mentor or from other people in the project's IRC channel. You will need to upload your patch to the corresponding bug in the project's Bugzilla. It is typical that once you submit your patch, the mentor or another person who reviews it will have some feedback about what you can improve in it. Please be sure to follow up on the reviewer's feedback by attaching an updated patch until your contribution is ready to be included in the project. This kind of review process is standard for many of the changes that go in, so please don't be deterred by it. It's best to allocate time over at least a week for this process and to start as early as possible.
Fill out the Application
Once the students applications period has opened on March 26, you have to submit your application on Google's Summer of Code website. Your application must be written in English. It should contain a detailed description of your project proposal. The application form will contain the following questions:
* What is your e-mail address and IRC nick? * Do you have a web page, blog, or microblog? * What is your academic background? * What is the ultimate goal of your proposal? * What components/modules will the proposed work modify or create? * What benefits does your proposed work have for GNOME and its community? * Why are you the right person to work on this project? * How do you plan to achieve completion of your project? * It really helps to see a schedule with dates and important milestones/deliveries (preferably in two weeks increments). * What will showable at mid-term ? * What are your past experiences with the open source world as a user and as a contributor? * Please include a link to the bug you fixed for the GNOME module your proposal is related to. * If available, please include links to any other code you wrote for GNOME or other open source projects. * What other relevant projects have you worked on previously and what knowledge you gained from working on them?  All students are invited to attend GUADEC and present their project there, which is right after the midterm evaluation deadline.
Please be factual and clear in answering these questions. Feel free to add anything else that is relevant for your application. Try to use correct English if possible. The selection committee understands that not all applicants speak English as their first language. In fact, many GNOME community members speak English as their second or third language!
It is never too early to start working on your SoC application! Note that SoC's positions are very competitive (with about 4 applicants for one position in the past) The key to creating a strong proposal is to propose a manageable and agreed-upon project, make a contribution to the module your proposal is related to, and write an application that clearly demonstrates your knowledge, skills, and enthusiasm.
Every GNOME Foundation member will be able to look at the student applications and comment on them. When the student application period is closed, a small selection committee (around 10 people) will analyze the comments and select the projects that are, in their opinion, the best. Here are some criteria of selection: usefulness for GNOME, student's knowledge about the project, manageable timeline, demonstrated skills in prior GNOME contributions and other work.
How you will work
If your application is accepted, here are some information about how you'll integrate with our community, and what we'd like you to do:
- You will be assigned a mentor, (s)he will provide guidance throughout the project and will judge your achievements
- You will either have access to a git repository or create your own git repository (There are also services such as gitorious and github) where you'll put your code
You will be subscribed to the gnome-soc-list mailing list
If you have a blog, we'll aggregate it on a Planet about GNOME and Summer of Code: we're all interested not only in your projects, but also in knowing you! You can have a look at Planet GNOME at http://planet.gnome.org.
- You can come in the #soc channel on irc.gnome.org, to talk with other students and mentors (and feel free to join other channels!)
- We'd like you to send a weekly summary about your progress. If there hasn't been a lot of code written, it's not a big issue, since writing about your thoughts is still valuable
- It'd be great if you could try as much as possible to integrate with the community in all possible ways! That's the most important part of Summer of Code. Don't be surprised if you are invited to some local GNOME events!
Although it's unlikely, you may run into problems with your assigned mentor. In this case feel free to talk to GNOME SoC administrators. Your friendly GNOME SoC admins are RubenVermeersch, DanielSiegel, ChristopheFergeau and SandyArmstrong.
Licensing and Attribution
SoC requires any code and other contributions you provide to be given under an OSI approved license, to ensure your work is available for use by anyone in the world.
The GNOME modules are released under various free software licenses, generally the GPLv2 (and later) and the LGPLv2 (and later). Therefore you must agree that the code, ideas and all other aspects of your contributions in your entry are released under the same license as the the module you're contributing to, so that they may be included in the GNOME project.
We are very pleased to have your help and as a courtesy are happy to attribute your work in various places, for example in blog posts. We will assume you want your name mentioned unless you suggest an alias, or the desire to remain anonymous.