It is a sponsored project to inspire students to take part in open source software (OSS) development. 2
A US$ 5000 stipend. An awesome t-shirt. Certificate from Google. Valuable exposure to real world software development scenarios. Flexible work hours. What you have to do: Spend your summer coding for an OSS project 3
1.Google selects about 150 OSS projects as mentoring organizations (let’s call them MOs). 2.Students submit applications. You can submit up to 20 applications. 3.MOs rank applications. 4.Google selects around 1000 students based MO rankings. 5.MO assigns 1-2 mentors to each student to provide guidance. 4
6.Student gets familiarize with the MO. 7.Student start coding; gets paid $500 right away. 8.Student submit mid-term progress evaluations; gets paid $ Student finish coding and submit final evaluations; gets paid another $2250, receive the T-shirt and the certificate from Google. 5
Mar 18 Google publishes the list of MOs March 29 – April 09 Application period April 20 Google announces accepted applicants 6 Not much time left!
May 26 Coding begins after a month of community bonding [you receive $500] Mid July Interim evaluations, [you receive $2250] Mid Aug Suggested finish date [you receive $2250] 7 Full timeline is available at GSoC’10 FAQGSoC’10 FAQ
Close to a full time job (so is the pay!). But, flexible hours. Can work from anywhere in the world. Can still enjoy the summer vacation. 8
You must be 18 years of age or older by April 26, Enrolled in a college as at April 26, o Undergrad, postgrad, part-time, full-time all OK Not from Iran, Syria, Cuba, Sudan, North Korea and Myanmar (Burma). {Google, being a US company, is not allowed to trade with above countries} 9
Yes, if you have … ◦ Reasonable programming skills (any language). ◦ Willingness to learn as you go. No need to be expert coders yourself! GSoC is meant for students like you. You will get guidance from expert programmers (and even famous ones) during the project. 10
Not really. GSoC 09 acceptance rate for NUS students was around 50% NUS students have a higher chance than an average applicant: Better English than applicant from some countries Better infrastructure (broadband connections etc.) and we can help you when you apply! 11
No catch; but it is not as simple as sending a resume to Google. They want to see evidence of your commitment before they commit to give you $
By submitting a detailed application that describes: you: ◦ Why do you think you are suitable for this project? your proposal: ◦ How do you propose to contribute to the project? ◦ What do you plan to deliver at what points? 13 This part is very important! This part is very important!
That’s the spirit. But note that preparing a good application can take at least 1-2 weeks of work. {GSoC is not a Lotto or a 4D hit-and-miss. If you are serious and willing to invest time, you have a high chance of success} 14
Join the NUSGSoC Google group. We use it to share resources among GSoC applicants from NUS. It includes past NUS GSoC’ers willing to help you. 15
Visit GSoC official website at Read all important information about the program. Especially, the FAQ 16
Join ‘official’ GSoC discussion group (in addition to NUSGSoC group). summer-of-code-discusshttp://groups.google.com/group/google- summer-of-code-discuss 17
Do not post “I’m new and totally clueless, please help me!” type messages. Here’s an example (it’s an actual posted in GSoC discussion group, names changed) : My Name is Stupid Student. I live in Lazy Land. This is the First time I heard of GSoC. I want help about joining GSoC. So, please anybody help me giving me guidance in joining a mentor which requires a java coder for their project and you can contact me through my mail and my mail id is would be so thankful if u help me... 18
In particular, search archive and read available docs before asking a question 19 Huh? Who the heck do you think you are? Huh? Who the heck do you think you are?
Posts like those two examples can totally blow your chances of getting selected! Why? If you are good enough to do GSoC, you should care enough to read all the information available before asking questions. {and most information you need are already available if you care enough to look for them} There are no ‘stupid questions’, but there certainly are ‘lazy questions’. 20
Select from the list published by Google 21 These are project ideas proposed by the MO. You can propose to follow one of those ideas or propose you own idea These are project ideas proposed by the MO. You can propose to follow one of those ideas or propose you own idea
Do not post messages such as the below: I know Java/C++, and has experience in XYZ. Any project interested in taking me? YOU study the projects and choose the ones YOU like; don’t ask projects to choose you. 22
Do not plan to send your CVs to 20 MOs with a generic note “I like to work for you. Please take me”. Each application needs to be tailored to the MO you apply for. Each application needs quite a bit of homework and investment of your time. 23
2010 MO list is not out yet. But 2009 list is. Most of those will make it to this year’s list as well. Have a look at the 2009 list and start studying potential projects ASAP. {Why study them? You need to know some things about the project before you can apply to it} 24
Initial filtering: You can filter some out by their programming language preference. E.g., If you are a Java guy, look for Java projects. Avoid MOs that produce something you cannot relate to at all. E.g., If you have no clue about operating systems, don’t apply for OS projects. Some of you might want to avoid popular MOs (to avoid too much competition) while others may not mind a challenge. 25
Check out their mailing lists and IRC channels (most projects use IRC to communicate). ◦ Introduce yourself as a potential GSoC applicant. ◦ Ask whether they are likely to be in this year’s list. If possible, check time zone compatibility with potential mentors. 26
Spend some time idling in MO IRC channel and read their mailing list to get a feel of the community. ◦ Observe what’s going on. ◦ See how questions get answered (or not get answered). ◦ See how the bug list is being handled. See if they are the kind of people you want to work with. 27
You need to gain at least some understanding about the project before you apply. ◦ Read introductory docs about the code. ◦ Take a prelim look at the code. ◦ Take a look at the tools they use. See if the project has enough documentation to help a beginner like you. See if you can get at least some sense of the ideas being proposed (in the idea list). 28
Unit testing frameworks such as JUnit Versioning tools such as CVS and SVN Refactoring Design patterns Issue tracking tools such as Bugzilla At least know what these are, even if you do not know them in depth. {Post in NUSGSoC if you need help with these…} 29
Promote yourself in your application. ◦ Show enthusiasm. ◦ Show commitment. ◦ Show your knowledge and interest in the project. ◦ Give external links (cv, blog, home page, …). Promote your project idea. Describe it clearly. Promise deliverables at various points. ◦ In particular, promise to deliver working code in increments. 30
Do not oversell yourself. Do not promise things you cannot deliver. Do not pretend to know things you don’t. … Remember, your application will be evaluated by expert techies, not HR managers. If you bluff, you will be found out. 31
Do not copy-paste from their own idea description into your application. ◦ At least say it in your own words. The same person who wrote that stuff will be reading your proposal. 32
Any freelancing work? Any past work on OSS projects? Don’t forget the projects you did in school (CS2103, CS3214, CS3215, CS3216, FYP, …) 33
First, you can get your application reviewed by someone here. ◦ From Dr. Damith ◦ From your friends or other lecturers. Then, you can get it reviewed by a potential mentor. ◦ Don’t push. Just ask politely if they can give some feedback. Don’t ask for feedback one day before the deadline. 34
Important! Join … … to receive more info/help from us. 35 Checkout the “Useful links” page too
36 My contact details: Dr. Damith C. Rajapakse