This is the general template that we expect student proposals to conform to. Following this template exactly may not be necessary in all cases, but diverging from it too sharply is not a good idea.
A summary of what your project is and why it is important
A more in-depth discussion of the project including as many technical specifics as may be available.
Tell how your project relates to the larger Parrot ecosystem, and how it benefits the Parrot community at large. Parrot is going to devote significant time and energy to mentoring your project. Try to explain what we get in return.
Also, explain what bits of Parrot and it's library you are going to rely on. This helps make sure we don't make all sorts of breaking changes or other bad decisions with respect to these prerequisites in the months leading up to GSOC.
A short listing of tools you plan to use: Build tools, documentation tools, unit testing libraries and tools, source control tools, etc.
A list of things you plan to deliver as part of a successful project. This should include your working code and several of the following: documentation, sufficient unit tests, code examples and tutorials, and build infrastructure.
A timeline of basic milestones, broken up by week. Each weekly milestone should include goals for code written, documentation and unit tests developed, and other deliverables. The student should be prepared to demonstrate weekly deliverables at a weekly status meeting with the mentor.
If you're going to be taking a vacation or be otherwise absent for time over the summer please mention it here. Going on vacation for a week or two is fine. Disappearing with no explanation for a week or more is not acceptable. Describe your personal schedule too. Are you working? Are you taking summer courses? Do you have other obligations that require your time and attention? These are important to mention so that we can assess your timeline and your proposal. Be honest. Having prior commitments does not disqualify you, but being dishonest about the amount of time you have to devote to the program will.
The student should provide a short description of what will happen in the event that time is lost and milestones are missed. This should include a prioritized list of features that may be omitted in order to still deliver a working product by the final deadline. Give us a backup plan in case you start running behind.
The student should provide a short list of ideas for additional features and deliverables that may be worked on if the student is ahead of schedule. The student is expected to continue working until the final deadline. If all primary deliverables are completed early, additional work should be ready to work on to fill remaining time.
The student should provide a short biographical description mentioning prior coding experience and education, and a short discussion about why the student is both qualified and capable to complete the proposed project in the time alotted.