This article translated from: http://www.di.ens.fr/~baghdadi/TXT_blog/5_advices_to_get_your_proposal_accepted.lyx.html
This article is mainly about the GCC project, but these techniques apply to other projects as well.
1. Golden rule: start early. The sooner you start researching your suggestions, the more likely you are to be accepted.
2. Focus on quality: You should focus on fewer projects, if you focus on a large number of projects, then the quality of your proposed recommendations will certainly fall. As far as I am concerned, I know exactly what I want to do, so I just need to work for the only advice. It is important to make an excellent suggestion.
3. Participate in the project:
3.1 Subscribe to Mailing lists and ask questions and answers;
3.2 If the project has a weekly conference call or IRC channel, then you'd better get involved (here is Gcc/graphite's weekly teleconference link).
3.3 Read the documentation of the project, familiarize yourself with the code and Code specifications of the project
3.4 Participating in the project's community
3.5 Add simple features to the project, solve simple bugs, write some early code
3.6 Send a few patches and get feedback, for the following two reasons this is important:
3.6.1 If you have not been involved in this project before, then early development work will help you to better understand an internal code to help you determine the time required for each phase.
3.6.2 through early development, you seem to say: "Hey, I can do that, my patch is proof"
3.6.3 your code must conform to the code specification for the project, make sure you have read all the code standards for the project before you submit the first one. Sebastian POP has developed a script that can help you check your code (if you are involved in GCC projects).
4. Discuss your ideas:
4.1 Is your idea relevant to the project? How do you plan to finish the work? What are milestones?
4.2 It is important for your program to seek feedback on your ideas. The developer of the project will help you adjust at least the time required to complete each milestone, and whether you can complete the project during Google Summer of code, and sometimes some students are very optimistic:).
4.3 Discuss some technical details, such as how to test your program? How do I test your program using the project's test framework? Do you need to write your own test cases?
4.4 Determine priorities, what should be postponed in the late GSOC, what is optional? Make sure that you can accomplish your goals. It's best to write a small, reliable, easy-to-understand, documented code, rather than a lot of bugs and hard-to-understand code. Quality is very important.
Discussing your ideas is a very important step before you write a proposal.
5. Preparation of proposals:
5.1 Clearly describe your idea:
5.1.1 Idea itself
5.1.2 The benefits of the project? Why is it important?
5.1.3 Technical Details: The technical details show you clearly what you want to do.
5.1.4 Describe the problems you may encounter and how you plan to solve them?
5.2 includes a specific work plan: When to do what?
5.3 Biographical Chapters:
5.3.1 shows that you have been involved in a similar project that has helped you a lot.
5.3.2 and, a good resume that shows you are very familiar with the project, and you have contributed a number of patches, you are ready to work effectively.
6. GCC GSoc Recommended Examples
Here are some suggestions on how the GCC project has been accepted:
6.1 My proposal (GSOC '): PDF
It took me about 1 months to clear my mind and write a proposal. I discussed a lot of details with Sebastian POP (from AMD) Tobias Grosser (from Passau University in Germany) and Albert Cohen (from Inria).
6.2 Lee Feng's proposal (GSOC '): PDF
6.3 Tobias Grosser's proposal (GSOC '): Web Page (now 404)
Other examples of NMAP projects:
6.4 Djalal Harouni Example (GSOC '): PDF (now 404)
6.5 Djalal Harouni's proposal in GSOC ' 11 has also been accepted, if you want to get his proposal, please contact him.
6.6 David Fifield's proposal (GSOC '): Web Page
7. Frequently Used links
7.1 http://drupal.org/node/59037
7.2 http://shlang.com/writing/soc2005.html
7.3 http://weblogs.mozillazine.org/gerv/archives/2006/05/how_not_to_apply_for_summer_of.html
7.4 Http://summer.cs.pdx.edu/propose
8. Translation
If you would like to translate these tips to help your country's students, please send the translated pages and your homepage to me and I will add them here.
8.1 Arabic Translation: Links
8.2 Japanese translation (Thanks Naohiro aota): Link
8.3 The English image of this article: Opendz network
8.4 Do you want to translate too?
9. Acknowledgements
I want to thank Brendan and Sergej for giving me feedback.
10. Feedback
If you want to participate in Google Summer of Code, tell me your story and I can add it to the successful example. If you have any other suggestions, please let me know.
10.1 Web page:riyadh BAGHDADI
10.2 Email: Riyadh.baghdadi [at] inria.fr
5 tips to make your Google Summer of Code recommendations received