Google Summer of Code (GSoC) is a program where students work as paid interns on open source software projects. The document provides an overview of GSoC, including statistics from 2011, the application timeline, tips for finding projects and organizations to work with, how to write a strong proposal, what to expect if accepted, and other open source internship programs. The goal of GSoC is to bring more developers to open source projects while funding students to write code over the summer.
2. Contents
Why GSoC?
Before you begin..
Organization?
Right Project?
Shout!
Apply.
Code.
Conclude/Continue.
What Else? 2
3. Google Summer of Code (GSoC)
Code for a chosen open source
project for 3 months.
Google pays you!
– 3 milestones.
• Getting Accepted.
• Mid-Evaluations.
• Final Evaluations.
– A certificate.
– An awesome tshirt and gifts!
– {500, 2250, 2250} USD. 3
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 Midterm-Evaluations
– Success rate upto mid - 90%+.
Passed Final Evaluations.
Success rate – 88%
Google Open Source Blog on GSoC
GSoC Student Guide
5
8. Time Line (2011)
January 24th : Program Announced.
February 28th – March11th :
Organizations apply.
March 18th : List of Accepted
Organizations.
March 18th - 27th : Students
discussing project ideas.
March 28th – April 8th : Students
application period. 8
9. Time Line
After getting accepted..
April 25th : Accepted Students
announced.
: Community Bonding Period Begins.
May 23rd : Coding Begins.
July 11th – July 15th : Mid Evaluations.
Aug 15th – Suggested Pencils Down.
Tests, Documentation
improvements, etc.
9
10. Time Line
Concluding
Aug 22nd – Firm Pencils Down.
Stop Work!
Aug 26th – Final Evaluation Deadline.
Aug 29th – Final Results.
Aug 30th – Begin Code Submission
to Google.
10
11. Before you begin..
Google Summer of Code is all about
being Open Source.
Get your basics 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, ..
IDE -
IntelliJ IDEA, Eclipse, ..
Microsoft Visual Studio, Anjuta, ..
12
13. 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.
Language/English 13
14. Mailing lists
Post only to the relevant list
– User, Dev, ..
Check the mail archives first.
Avoid HTML mails.
No [URGENT]/[IMPORTANT] tags.
No unnecessary attachments.
No Cross Posting.
Don't hijack threads. 14
15. 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.
15
16. 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!).
16
17. Find THE right project..
Go through the projects list.
Some organizations publish pretty
soon.
Have a look at the 2011's.
Dev mailing lists.
Talk to the mentors.
IRC, mail, ...
New features/enhancements
Bug/Issue tracker – JIRA, Bugzilla,17...
18. 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? 18
19. 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.
• Check the list archives and the project
19
wikis and web sites.
20. Opportunities..
Project that matches your previous
work.
Choose the right project.
Timezone Difference
– Use it effectively
– For Sri Lanka,GMT + 0530.
Multiple Applications (20!)
Preferences!
20
21. Shout!
Communicate early.
Communicate often.
Ask questions.
Most importantly, Answer others'
questions!
Mentor is your friend
(respect) 21
22. Be Known..
NO Sir, Madam, aiya, akki, machan ..
First Name or Preferred calling name.
No Mr. Dr. either.
Be heard!
Be visible!
Be responsive!
Be quick! 22
23. Apply
Register as a student for GSoC.
Use the project's wiki or site for draft
proposal, if applicable.
Get mentor's opinion and improve.
Apply on Google's melange.
melange
– Can edit later, till the last minute!
Check often for the comments
– from the mentors / co-mentors
23
– attend to them.
24. 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 24
submitted.
25. 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 time line.
25
26. Propose ..
Time line
– 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. 26
27. Application Template
Name:
Email:
Project Title:
Synopsis:
A short description of your project.
Benefits to the organization/project
and/or other project(s):
Deliverables:
27
Quantifiable results.
28. 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 28
summer classes, vacations, etc.
29. 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:
29
30. 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.
30
Be motivated.
31. Got Selected? yay/
Don't Panic.
You have one more month
– just to mingle with the developers and the
code base.
Mentor(s) are there to help you!
Keep touch with the developers.
Users.
31
32. Community Bonding Period
Go through the code base and
documentation.
Coding styles and coding guide lines.
Start with simple hacks.
Understand the project idea more.
Come up with a design.
Communicate often
irc/lists/forums/wiki 32
33. Coding..
Easiest task of all.. ;)
Commit often, if given committership.
Send daily patches otherwise.
Meaningful Commit messages.
Keep others updated (Daily ?).
IRC, dev lists, personal mails, wiki,
conference calls, skype, blog posts
Get feedback from the mentor(s).
Plan for the mid and final evaluations
33
early, with the mentor.
34. 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 (if possible). 34
36. 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
https://fedoraproject.org/wiki/Summer_coding_ideas_for_2011
36
37. Project Lists for
2011..
AbiWord
PhpMyAdmin
Kubuntu
DocBook Wiki
[Refer to the projects list of 2011 of
the organizations till the GSoC 2012
is announced.]
37
39. Are you ready?
Have a look at the past projects.
Proposals available online.
– Wikis, blogs, ..
Apache Software Foundation
– Tomcat, Derby, Axis2, and more ..
– More slots and more choices.
Find the projects' mailing lists and IRC.
– AbiWord
• abiword-dev@abisource.com
• abiword-user@abisource.com
• #abiword at irc.gnome.org
39
40. For more Information ..
Join Local GSoC Google Groups
– Group for Sri Lankan students:
http://groups.google.com/group/gsoc-srilanka
Local GSoC IRC channel
– Sri Lanka - #gsoc-lk at irc.freenode.net.
Drop me a line. ;)
kk.pradeeban@gmail.com
kkpradeeban.blogspot.com 40