If you're thinking about writing a proposal for Google Summer of Code projects, you might be uncertain about a few things. How big of a task should you propose? What should you include in your proposal? How to communicate your projects end goal? How can you make it more acceptable? Of course, you will have to decide the answers to these questions with your own judgement, but this page lists out some of the common questions you should include in your proposal. A sample outline of the proposal is also provided (Although, you are encouraged to be as creative as possible). In the end, there are some suggestions that may give you some inspiration.
Application QuestionsYou are encouraged to be as creative as you want to be. Your proposal should be as technically specific as possible to be understood by some expert in the domain and as well written as possible to be read by some programmer in some other domain. Basically, include all relevant details for the project idea you are proposing. To help us identify you as a good candidate, below are some questions you should answer at the end of your proposal. If you have already included some of these answers in your proposal, include them here too.
- When did you first hear about SPDX?
- Describe your participation in our community (bug fixes, communication via mailing lists, IRC and Gitter).
- In less than 3 sentences sentences, why should we pick YOU?
- Describe any plans you have for the summer in addition to GSoC (classes, thesis, job, vacation, etc.)
- What programming projects have you completed? What are some of the similarities of your previous projects to your proposal?
- What are your favorite programming tools (editor, etc.)?
- Describe any work on other open-source projects.
- List other GSoC projects you are applying to.
Sample Application Template
Contact detailsFull name:
Location (Country and city):
Hangouts ID/Skype Id:
Project AbstractProject synopsis / summary
What is the project about? Why is it important?
Project DescriptionHow will you handle the project? Detailed description of your planned approach.
Workplan1) Minimal set of deliverables
2) Additional ‘if time allows’ deliverables (optional)
3) Detailed timeline; when will you do what? (suggest division per week or two-week period)
Plan for communication with mentorsHow will you and the mentors keep in contact? (Via weekly Hangouts/Skype calls, via email, via chat…?)
Get Feedback Before Submitting
- Without question, the best proposals have come from students who took time to share their proposal on the mailing lists and solicit feedback. This ensured their proposals matched up better to what the community wished, and it also gave the community a chance to get to know the student.
Don't over exaggerate
- Remember this project is time-scoped. Don't include those work in the proposal which you are unsure of completing within the time interval.
- Commit to delivering. Try to pick items that you already know how to do well and won't need to do a lot of research. Of course, you can probably list some "optional" delivery items for things you're less certain about.
- Also, try to weight your schedule to get most of the things done as early as possible. Your proposal should also include time for bug fixing, unit testing and improvements.
- Try to include some sketches if your project requires them so. Not only is this helpful during the review, but it will help you out greatly later when you're deep in the coding.
- For eg, if you are building a website, mockups are the initial design of the way the site should look. It's meant to take the least effort to give you the most useful look at what you're going to be building.