Google Summer of Code FAQ

What is it?

Google Summer of Code (GSoC) is an internal program which aims on promoting Open Source Software and teaching students contributing to it. For their efforts, students are rewarded with stipends provided by Google. During summer break students work on ideas for OSS projects while selected mentors from the projects help them, provide support and review.

I want to apply to Google Summer of Code

Awesome! This is the right place to seek for more info. Keep on reading.

What are the requirements to be accepted for GSoC?

Apart from official requirements you will have to meet the following:

  • Successfully clone and compile libvirt

  • Subscribe to the list

  • Pass interview

  • Have a small upstream contribution

Wait, what interview?

No worries. Interview is a great opportunity for both sides to ask questions. It is usually done via IRC. It consists of a coding exercise where you can prove your coding skills, and some generic chat about programming, the project and idea you applied for. Some examples of previous coding exercises can be found here:

How can I have an upstream contribution?

As strange as it might look like, this is a proof that you've managed to clone and build your own libvirt and subscribed to the list. Don't worry, there are no requirements on the initial contribution when it comes to complexity or a size of the change. We keep a list of fairly easy tasks for newcomers. Before working on a patch, please read contributor guidelines and project governance.

How to apply to Google Summer of Code?

Ideally, before applying for GSoC idea in the system you should contact the respective mentor for the idea to discuss the idea, its requirements and so on. A good application will require the following items:

  • Present yourself

  • Prove that you want to get involved into libvirt

  • Explain what you want to achieve

  • How do you plan to achieve it?

  • Why should we choose you?

What are my responsibilities as a student?

  • Communicate with your mentor weekly or more often

  • Post some patches during community bonding period

  • Write blog posts about your work

Here is a nicely summarized list of student responsibilities.

What can I expect from my mentor?

  • They will be there for you

  • They will help you set up your development environment, answer technical questions

  • They will help you send your patches to the list

  • They will provide you with feedback on your progress

Here is a nicely summarized list of mentor responsibilities.

I have my own not listed idea!

Wonderful! Send an e-mail to the mailing list in which you describe it and we will get back to you.