Google Summer of Code: Information for students
Ubuntu is applying as a mentoring organization in Google Summer of Code 2016.
We don't know if we will be able to accept students, yet, but you are welcome to have a look around. Once organizations are accepted, we hope to see you here. Thank you for your interest!
Applying as a student
Are you an eligible student for GSoC 2016? If we are accepted as an organization, you can apply as a student, with a proposal for your own project, or perhaps one of our suggestions.
Applications should be detailed and give us enough information to be able to make an intelligent selection. We like to choose students who are enthusiastic about their projects and are able to commit the time and energy required to make them successful. Please remember that being selected is a privilege and a great opportunity. If your project goes really well, your code might be included in Ubuntu!
Drupal's How To Write A Summer of Code Application - Very useful. Read it!
Things to consider
- You should know how to program already. We use a mix of languages including Qt/QML, Python, C and C++.
- If your project involves a UI, you should know the toolkit.
- It really helps to have a working knowledge of Ubuntu, but we're thrilled to mentor open-minded students who are new to Ubuntu. Of course, Ubuntu is a big thing, so we recommend you take some time to familiarize yourself with the operating system if you haven't already, as well as our community and its working structure. That will be an asset for your application and your project.
- Relative to the whole job market, not many people have the sorts of skills Ubuntu hacking will give you. Doing any serious work on Ubuntu will not only make you a more confident developer, it will look great on your CV/resume.
Don't feel you have to use one of the listed ideas, or even that they're necessarily good projects to work on! People just add them as they think of good beginner projects. In fact, a custom project proposal is likely to be more impressive, as it shows you've put time into researching the project and getting familiar with its needs.
How to succeed
- Don't overbook yourself. Working on your Summer of Code project should be your main activity for the entire summer. You'll have a lot to learn before you will get to the point where you can begin coding your project, and the projects are all non-trivial. We will provide you with amazing support from the mentors and community, but it is up to you to make sure that you can focus on your project.
- Your mentor is here to help you. Don't be afraid to ask the difficult questions, or even the easy ones!
All Ubuntu participants in the Summer of Code program are subscribed to the ubuntu-soc mailing list. This list is an excellent place to ask for help, discuss ideas or shout to the world about how your project is going.
- Submit progress reports early and often. Use these to honestly reflect on how well you are doing towards your goals, and make adjustments to your project plan to match.
- Get your code public as soon as you can, ideally starting with the empty directory you start in. Make your changes public, often.
You need to submit a completed spec at the end of the project. It is best if you use the wiki as you go along to make sure you capture as much relevant information as possible. See SpecLifeCycle for details on how to write a good spec. If you project does not yet have a spec use the SpecTemplate to create one. Don't forget to make sure your spec is registered as a blueprint.
Writing your application and proposal
- Write simply and concisely, and describe the project in your own words.
- Include some evidence that you are a good programmer. We love to see past projects you have worked on, but just some background information is good enough.
- If you have already submitted patches to Ubuntu implementing part of your project, please link to them from the proposal.
The Ideas and Mentors page is full of suggestions. Pick one of those and research it, or do something completely different. Whatever you propose, we're excited to have you.