Google Summer of Code is a program where university students can work with open source organizations over the summer. Students are paired with a mentor from an organization and work on a proposed project over 3 months. Students are evaluated at milestones and can earn up to $5,500 if their project is successful. The document provides details on finding a project, writing a proposal, the timeline, communication best practices, and concludes by wishing students the best of luck.
3. Google Summer of Code (GSoC)
Code for your preferred open source
organization for 3 months.
University students of age 18 and more.
Google coordinates and rewards you!
3 milestones.
Getting Accepted.
Mid-Evaluations.
Final Evaluations.
A certificate, an awesome t-shirt, and gifts! 3
{500, 2250, 2250} USD.
4. Some statistics of 2011
175 Organizations
2096 mentors and co-mentors.
Submitted
3,731 students, from 97 countries.
5,651 proposals.
Accepted
1115 students/projects
68 countries.
4
595 universities.
5. Success Rate..
is pretty high!
Passed the mid evaluations
Success rate up to mid – 90%+
Passed the final evaluations
Success rate – 88%
5
8. Timeline (2012)
Feb 4th : Program Announced.
th th
Feb 27 – March 9 : Organizations apply.
th
March 16 : List of Accepted Organizations.
March 17th – 25th : Students discussing project
ideas.
March 26th – April 6th : Students application
period.
8
9. Timeline..
After getting accepted
April 23rd : Accepted Students announced.
Community Bonding Period Begins.
May 21st : Coding Begins.
July 9th – July 13rd : Mid Evaluations.
Aug 13rd : Suggested Pencils Down.
Tests, Documentation improvements, etc.
9
10. Timeline..
Concluding
Aug 20th : Firm Pencils Down.
Stop Work!
Aug 24th : Final Evaluation Deadline.
Aug 29th : Final Results.
Aug 31st : Begin Code Submission to Google.
10
11. Before you begin..
Google Summer of Code is all about being
Open Source.
Get your basics and motives right.
Netiquettes.
Sign up to the lists.
Join the relevant channel.
11
12. Technologies..
Version Control Systems
SVN, CVS, GIT, Mercurial, ..
Build Tools
Ant, Maven, ..
IDEs (Integrated Development Environments)
IntelliJ IDEA, Eclipse, ..
Microsoft Visual Studio, Anjuta, ..
Issue Tracker
12
Bugzilla, Jira, Trac, ..
13. Communicating with the team..
and the mentor, over the Internet
Mailing Lists
Dev, User, Commit lists, sub-groups, ..
Internet Relay Chat (IRC)
Issue Tracker
Forums and wiki
Blogs
Skype, Personal Mails, gtalk, conference
calls, .. [with the mentors, if that is preferred.] 13
14. Network Etiquettes
Be Specific and clear.
Research (google.. ;)) before asking.
Be helpful to others.
Be ethical; respect.
NO CAPS! (UNLESS YOU ARE SHOUTING!)
Don't take messages personally.
Dn't snd ur sms msgs to thrds or lsts.
14
15. Proper Addressing..
over the lists/irc/..
Address the devs and users properly.
First Name or Preferred calling name.
NO Sir, Madam, bro, sis, pal..
Even if you know them, personally.
No Mr., Dr., or Prof. either.
Be gender neutral.
“Folks” over “Guys and Girls”.
Not too personal.
Use “Hi”, instead of “Dear”. 15
16. Mailing lists
Post only to the relevant list.
Check the mail archives first.
Avoid HTML mails.
No [URGENT]/[IMPORTANT] tags.
No unnecessary attachments.
No Cross Posting.
Don't hijack threads.
16
Don't post off-topic.
17. IRC Etiquettes
Be an observer first.
Refer to others using their irc nick.
Don't expect immediate replies; wait.
Don't post bulk of text into irc.
Post error logs to http://pastebin.com/ or
http://paste.ubuntu.com/ and share the url instead.
17
18. Find a mentoring organization..
Have a look at the list of GSoC2011.
175 Last year!
New Organizations.
Google as the mentoring organization.
Introduce GSoC to an organization (Sounds
Smart!).
18
19. Find THE right project..
Go through the organizations' projects list.
Some organizations publish pretty soon.
Refer to the projects list of 2011 of the organizations
till the GSoC 2012 is announced.
AbiWord
PhpMyAdmin
Kubuntu
DocBook Wiki
19
20. Get to know more..
about the projects
Talk to the mentor(s)
Assigned by the organization
for each project idea.
Mailing lists and archives.
Issue Tracker
Open issues or tickets
New features/enhancements (RFE)
Bugs (easy/difficult and normal/critical)
20
21. What makes you
special?
Experience
Being a great user doesn't mean that you can be a
good developer.
Your interests and motivation
Pick something you really enjoy doing.
Being a great developer doesn't mean that you can
be a good contributor.
Opportunities
What makes you the right person? 21
22. Are you willing
to contribute further?
Willingness
To contribute to the community
Beyond the time frame of GsoC.
We want committers and long time volunteers!
Not just students!
22
23. Experience
Language
Java, C++, C, ..
Not much time to learn a new language (?)
Prove It!
Patches.
Assist other students!!!
Project expertise
Bug reports and fixes.
23
Go through the archives, wikis, and web sites.
24. Opportunities..
Project that matches your previous work
experience.
Choose the right project.
Timezone Difference
Use it effectively
e.g., For Sri Lanka,GMT + 0530.
Multiple Applications (20!)
Preferences! 24
27. Apply
Register as a student for GSoC.
Use the project's wiki for draft proposal
if applicable.
Apply on Google's melange.
Can edit later, till the last minute!
Get the mentors' opinions and improve.
Check often for the mentors' comments
attend to them. 27
28. Propose.. ♡
How to impress..
the mentor/developers?
Stick to the organization's template.
Abstract.
Introduce yourself properly.
Focus on the relevant facts.
Why do you fit? Your skill sets.
List of the patches (if any) you have submitted. 28
29. Propose..
Project Goals
Proves you got them correct.
Deliverables
Code, Documentation, test cases, ..
Description
Benefits to the organization and other projects.
Can also be given along with the timeline.
29
30. Propose..
Timeline
Finer details.
Break upto periods of 3 - 4 days.
Testing takes time.
Don't be over-optimistic.
Some organizations require considerable work
hrs/week (40 ?).
Links
References and additional details. 30
32. e.g.: “At the end of my project, AbiWord’s piece table will
be 50 times faster.”
Project Details:
A more detailed description of your project:
Project Schedule:
How long will the project take?
When can you begin work?
Do you know of any planned absences or other
major conflicts 32
summer classes, vacations, etc.
33. Bio:
Who are you?
What makes you the best person to work on this
project?
Additional Requirements:
Patches / Specific requirements for the project.
Further Related Information:
33
34. After the submission..
Don't go invisible!
Evaluation is still going on.. ;)
You may be asked to provide
additional information.
Patches.
Screenshots.
Start coding on your project.
only if you didn't apply for multiple projects.
34
Be motivated.
35. Got Selected? yay/
Don't Panic.
You have one more month
just to mingle with the developers and the code
base.
Mentors are there to help you!
Keep touch with the developers.
Users.
35
36. Community Bonding Period
Learn the project
Go through the code base
Documentation.
Coding styles and coding guide lines.
Communicate often
Understand the project idea more.
Come up with a design.
Start with simple hacks.
36
37. Coding..
Easiest task of all.. ;)
Commit often, if given committership.
Send daily patches otherwise.
Meaningful Commit messages.
Get feedback from the mentor(s).
Keep the community updated
Daily (?).
Plan for the mid and final evaluations early, with
the mentor. 37
38. Conclude/Continue..
Pencils Down Date
Firm Pencils Down Date
GSoC Coding ends here.
Get a tarball of all the diff files to submit to
Google.
Focus on becoming a committer
if not already given committership.
Keep contributing. 38
40. More Open Source
programs/contests..
OpenOffice.org Internship
Ubiquiti RouterStation UI/Firmware
Wesnoth Summer Art Scholarship
Umit Summer of Code (USoC)
Season of KDE (SoK)
The OpenMRS Internship Program (OIP)
Joomla! Student Outreach Program
Ruby Summer of Code
Fedora Summer Coding
http://fedoraproject.org/wiki/Summer_Coding_2010
40
https://fedoraproject.org/wiki/Summer_coding_ideas_for_2011
41. Some links.. ;)
GSoC-2011 FAQ
GSoC-2011 Accepted Organizations
GSoC Student Guide
Google Open Source Blog on GSoC
Proposal [Pradeeban] - GSoC 2009 AbiWord
Proposal [Pradeeban] -
GSoC 2010 OMII-UK/OGSA-DAI
41
42. Are you ready?
Have a look at the successful projects.
Proposals available online - Wikis, blogs, ..
Apache Software Foundation
More slots and more choices.
Tomcat, Derby, Axis2, and more ..
Join the projects' mailing lists and IRC.
AbiWord
abiword-dev@abisource.com
abiword-user@abisource.com 42
#abiword at irc.gnome.org
43. For more Information ..
Join your local GSoC Google Group
For e.g., Group for Sri Lankan students:
http://groups.google.com/group/gsoc-srilanka
Local GSoC IRC channel
For e.g., Sri Lanka - #gsoc-lk at irc.freenode.net.
Drop me a line. ;)
kk.pradeeban@gmail.com | kkpradeeban.blogspot.com
43
Logos used in the presentation are owned by the respective open source organizations or the individuals, and used for the
particular non - commercial informative purpose only.