openSUSE:GSoC proposal template
tagline: From openSUSE
We encourage both students and mentors to make sure that the GSOC proposal includes at least the following basics:
Every software project should solve a problem. Before offering the solution (your Google Summer of Code project), you should first define the problem. What’s the current state of things? What’s the issue you wish to solve and why? Then you should conclude with a sentence or two about your solution. This is somewhat like an elevator pitch. If you can, please include links to discussions, features, bugs that describe the problem further.
This section should again be short and to the point, and it might be a good idea to format it like a list. You should propose a clear list of deliverables, explaining exactly what you promise to do and what you do not plan to do. “Future developments” can be mentioned, but your promise for the three months of Google Summer of Code term is what counts.
This section can be longer and more detailed. You should describe what you plan to do as a solution for the problem you defined earlier. You don’t need to provide a lot of technical details, but you do need to show that you understand the technology and illustrate key technical elements of your proposed solution in reasonable detail.
This section is easily overlooked, yet it’s arguably more important than the previous section. With the timeline you show that you understand the problem, have a solution, and that you have also broken it down into manageable bits and are have an actual plan on how to approach it. With this section you set expectations, so don’t make promises you can’t keep. A modest, realistic and detailed timeline is much better than a timeline that promises to move mountains. Also please include information about other commitments you might have during GSoC (job, internship, seminars, papers to write).
If you’re done with the other sections this will be a piece of cake. Just put down your contact information (IRC nick, e-mail, IM) and write a few sentences about you and why you think you’re the best for this job. We also encourage you to list any prior contributions to openSUSE and to name people (other developers, students, professors) who can act as a reference for you.
Most of this was shamelessly copied from Teo Mrnjavac's awesome blog post