A good application must show the following points:
Even though we are looking for excellent students, this must not be confused with the need to be expert on what you propose. GSoC is a way for students to learn and develop – technically and as part of a developer community. Hence you do not need to know everything ahead of time. You just need to convince us that you are a person we are excited to support in her or his development.
Get to know the project!
At the very least checkout our source code, compile it, and run a simple example.
Look into the source code of our project, read one or two papers related to our project, follow our mailing lists. Just make yourself comfortable and get a general idea of what is going on.
A great way to get to know a project is to write code – as early as possible.
Getting in touch early with the community of the organization you plan to apply for is very important!
What is early? The earlier the better! The best students contact us often up to three months before the application deadline, four weeks are good, less than a week is already very tight.
The communities are the ones who decide if your application will be accepted and they know best what they expect from a good application. It is in their best interest to receive outstanding applications that address problems they care about. Hence, they are generally very motivated to give feedback and comments on your project as well as the actual application. In fact, they are glad to guide you through the entire application process.
Independently if you choose your own project or take one of the projects suggested by us. Develop the actual project with the community!
It is important that the project you suggest is valueable to the community and that the community is supportive of how you plan to implement your project. It is your job to learn what the community needs and to design a development agenda that matches the expectations of the community. To fulfill this job, it is essential for you to closely interact with the community.
While developing in your project proposal it often already becomes clear which community members are best suited to mentor your proposal. Having identified a mentor early on who has a very good idea of your proposal, makes your proposal especially strong.
By interacting with the community you can also convince us that it is a pleasure to work with you.
Your proposal should convince us that what you suggest is technically achievable. To be able to convince us, you first need to convince yourself.
Ask yourself if you can
and share the results with us.
Can you maybe even create proof-of-concept codes for some important pieces?
We prepared a Project Proposal Template that you should start with. Delete all italic text and fill in your own. When you think your proposal is ready, and before submitting the final version to Google, send it to us for review.
Using the template helps us to compare proposals from different people. It also shows us that gave your project a though before submitting it.
You should schedule a regular weekly conference call (by Hangouts, Skype, SIP, or whatever) with your mentor(s). Some things are better to discuss personally than by email, and there is no delay until you get a response.
Create a live editing document (e.g. Google Docs) and give at least view and commenting permissions to you mentor(s). Then, copy the timeline and deliverable tables from your proposal over. Whenever you finish a task, change the color of the item to green. This is so you and your mentor can observe your progress.
Also use that document as a diary. Finish every day with what you accomplished that day, what the problems are and what you need to work on the next day.