google summer of code
101
sri harsha.P - cooking bits
from past 6 years!
agenda
•

why gsoc?

•

before you begin.

•

right project?

•

how to integrate yourself into
the community?

•

how to apply?

•

being a competitive applicant.

•

wrapping up in style.
it’s not child’s play!
why gsoC ?
•

money? …YES!

•

but something
more important:

•

opportunity,
expertise,
recommendations,
fame and glory.
gsoc stats over the
years
•

Over 7,500 successful student
participants since 2005 from 97
countries

•

50 million lines of code produced by
students

•

over 7,000 mentors from over 100
countries worldwide

•

440 open source projects

•

2,010 universities represented

•

success rate is pretty high.. isn't
it?
what do you need?
timeline
•

Oct 8th 2013: program
announced.

•

feb 3rd -14th: org’s
application period.

•

feb 24th: list of accepted
org’s.

•

feb 24th - 10th Mar: students
discussing project ideas.

•

mar 10th - 21st: student
application period.
timeline after
acceptance
•

apr 21st: accepted students
announcement.

•

may 19th: coding begins.

•

jun 23rd- 27th: mid evaluations.

•

aug 11th: suggested pencils down.

•

aug 18th: firm pencils down.

•

aug 22nd: final evaluation
deadline. submitting code samples.

•

aug 25th: final results announced.
pre- planning
•

gsoc is all
about being open
source.

•

get your basics
and motives
right.

•

etiquette’s.

•

sign up to the
lists.

•

joining relevant
channel.
technologies
•

version control
systems - git,
cvs, svn,
mercurial,…

•

build tools ant, maven,…

•

ide’s - intellij
idea, eclipse,
aptana studio,
netbeans,…

•

bug trackers bugzilla, jira,
trac,…
communication is the key
•

mailing lists dev, users.

•

internet relay
chat [irc]

•

issue trackers.

•

forums and wiki.

•

blogs.

•

personal mails,
Skype, conference
calls.
network etiquettes
•

creating a good impression is
everything!

•

be specific and clear.

•

google before asking.

•

be polite.

•

be helpful.

•

be mature.

•

never use caps [unless you are
shouting!]

•

dnt use sms lang. you will be
mocked to embarrassment.
proper addressing over
irc/lists
•

Address the dev’s and users
properly.

•

first name is always preferred.

•

NO sir, madam, bro, pal even if
you know them personally.

•

no mr. dr. prof. either.

•

be gender neutral. EX:“folks over
guys and girls”

•

and dont be too personal - use
hi instead of dear.
more on mailing lists
•

post only to the relevant lists.

•

check the mail archives first
before asking a question.

•

do not use [urgent]/[important]
tags.

•

do not add attachments.

•

do not spam.

•

do not post off topics in dev
mailing lists.
little more on irc
•

be an observer first.

•

refer to others using their irc nick.

•

create an irc nickname for
yourself. ex: hydra

•

be patient. do not expect immediate
replies.

•

do not post bulks of text into irc.
They will kick you out of their
channel.

•

post error logs using paste bin.
how to find an org?
•

there are 190
organizations
this year.

•

first, have a
look at them.

•

go through
their websites.

•

check whether
they are new
or not?
finding the right
project
•

go through org’s project ideas
list.

•

talk to the mentors.

•

select a project to suit your
needs.

•

consider your skill set.

•

go for the best fit.

•

don’t limit yourself to
‘popular’ projects.
writing a good proposal
•

spell checking tools - use
them.

•

do ground work on the
project idea.

•

good proposal is very
crucial.

•

be open, even with your
proposal.

•

cheating in anyway wont
help.
future contributions

•

willingness to contribute
after gsoc?

•

org’s need committers and
long term volunteers.
be an ideal candidate
•

coding skills.

•

past
contributions.

•

attitude.

•

learning ability.

•

communication[co
herent, rapid
and meaningful].
experience
•

adept in any language?

•

prove it to the dev’s!

•

contribute before gsoc to
increase your acceptance
rates.

•

assist other students.
applications?
•

how to apply? - google melange

•

how many can you apply?

•

is it restricted to one organization?

•

register as a student for GSOC.

•

use the projects wiki for draft
proposal.

•

you can edit it later. You can improve
the proposal by taking inputs from
your mentors.

•

check often for your mentor
comments on your proposal.
key points in proposal
•

project goals.

•

deliverables - code, test cases,
documentation…

•

rough timeline for the project.

•

research which you have done on the
project.

•

add mockups if you have. - added
grade.

•

why do you fit? - your skill set.

•

list of previous open source
contributions and internships if any.
how to write a rough
timeline
•

finer details.

•

break it into periods of 5-6
days.

•

testing takes time - assign
considerable time for it.

•

don’t be over optimistic.

•

some projects require
considerable work hrs/week.
maybe 40?
after submission
•

don’t disappear.

•

you may be asked to
provide additional
information.- may be a
small interview!!

•

start working on the
project if you have applied
only to a single project.

•

be motivated always.
got selected?
•

YAY! your battle has begun!

•

don’t panic. be prompt, be truthful.

•

you have one more month - community
bonding period.

•

mentors are your friends. they are
there to help you out.

•

keep in touch with the fellow dev’s.

•

remember! mentors wont write code or
write abstracts or do documentation
for you.

•

they are here to guide you and tell
you what to be done.
•

start with small tasks to make your
life easy.

•

never make your own decisions. consult your mentor.

•

send status updates every day. - do
not procrastinate.

•

communicate like an engineer! - don’t
give stupid reasons.

•

keep track of your progress and
backup!

•

don’t limit your scope to your project.

•

work as hard as you can, because gsoc
is one job that really pays off.
statutory warning!
•

don’t make incoherent excuses.

•

don’t vanish without any
explanation.

•

don’t be slow in responding to
emails.

•

don’t be unprofessional.

•

don’t be lazy.
but most importantly,
a word of advice from
my previous mentor…..
“I can accept failure, but I can’t accept not
trying.”

–Michael Jordan
Life after gsoc
•

the end of gsoc program is the
inception for great opportunities… if
you play your cards right!

•

jobs.

•

recommendations.

•

experience working with foreign
clients.

•

a positive online presence.

•

conferences. speaking opportunities.

•

scholarships. chance to get into
google :D
resources
•

https://www.google-melange.com/
gsoc/org/list/public/google/
gsoc2014

•

http://nrnb.org/gsoc/
index.html#ideas-tab

•

https://wiki.openmrs.org/display/
RES/Summer+Of+Code+2014

•

http://www.booki.cc/
gsocstudentguide/

•

https://developers.google.com/
open-source/soc/?csw=1
fork me @github.com/applecool;
tweet @shellzero
drop a mail: kmitharsha@gmail.com

Hackernote on gsoc

  • 1.
    google summer ofcode 101 sri harsha.P - cooking bits from past 6 years!
  • 2.
    agenda • why gsoc? • before youbegin. • right project? • how to integrate yourself into the community? • how to apply? • being a competitive applicant. • wrapping up in style.
  • 3.
  • 4.
    why gsoC ? • money?…YES! • but something more important: • opportunity, expertise, recommendations, fame and glory.
  • 5.
    gsoc stats overthe years • Over 7,500 successful student participants since 2005 from 97 countries • 50 million lines of code produced by students • over 7,000 mentors from over 100 countries worldwide • 440 open source projects • 2,010 universities represented • success rate is pretty high.. isn't it?
  • 6.
  • 7.
    timeline • Oct 8th 2013:program announced. • feb 3rd -14th: org’s application period. • feb 24th: list of accepted org’s. • feb 24th - 10th Mar: students discussing project ideas. • mar 10th - 21st: student application period.
  • 8.
    timeline after acceptance • apr 21st:accepted students announcement. • may 19th: coding begins. • jun 23rd- 27th: mid evaluations. • aug 11th: suggested pencils down. • aug 18th: firm pencils down. • aug 22nd: final evaluation deadline. submitting code samples. • aug 25th: final results announced.
  • 9.
    pre- planning • gsoc isall about being open source. • get your basics and motives right. • etiquette’s. • sign up to the lists. • joining relevant channel.
  • 11.
    technologies • version control systems -git, cvs, svn, mercurial,… • build tools ant, maven,… • ide’s - intellij idea, eclipse, aptana studio, netbeans,… • bug trackers bugzilla, jira, trac,…
  • 12.
    communication is thekey • mailing lists dev, users. • internet relay chat [irc] • issue trackers. • forums and wiki. • blogs. • personal mails, Skype, conference calls.
  • 13.
    network etiquettes • creating agood impression is everything! • be specific and clear. • google before asking. • be polite. • be helpful. • be mature. • never use caps [unless you are shouting!] • dnt use sms lang. you will be mocked to embarrassment.
  • 14.
    proper addressing over irc/lists • Addressthe dev’s and users properly. • first name is always preferred. • NO sir, madam, bro, pal even if you know them personally. • no mr. dr. prof. either. • be gender neutral. EX:“folks over guys and girls” • and dont be too personal - use hi instead of dear.
  • 15.
    more on mailinglists • post only to the relevant lists. • check the mail archives first before asking a question. • do not use [urgent]/[important] tags. • do not add attachments. • do not spam. • do not post off topics in dev mailing lists.
  • 16.
    little more onirc • be an observer first. • refer to others using their irc nick. • create an irc nickname for yourself. ex: hydra • be patient. do not expect immediate replies. • do not post bulks of text into irc. They will kick you out of their channel. • post error logs using paste bin.
  • 17.
    how to findan org? • there are 190 organizations this year. • first, have a look at them. • go through their websites. • check whether they are new or not?
  • 18.
    finding the right project • gothrough org’s project ideas list. • talk to the mentors. • select a project to suit your needs. • consider your skill set. • go for the best fit. • don’t limit yourself to ‘popular’ projects.
  • 19.
    writing a goodproposal • spell checking tools - use them. • do ground work on the project idea. • good proposal is very crucial. • be open, even with your proposal. • cheating in anyway wont help.
  • 20.
    future contributions • willingness tocontribute after gsoc? • org’s need committers and long term volunteers.
  • 21.
    be an idealcandidate • coding skills. • past contributions. • attitude. • learning ability. • communication[co herent, rapid and meaningful].
  • 22.
    experience • adept in anylanguage? • prove it to the dev’s! • contribute before gsoc to increase your acceptance rates. • assist other students.
  • 23.
    applications? • how to apply?- google melange • how many can you apply? • is it restricted to one organization? • register as a student for GSOC. • use the projects wiki for draft proposal. • you can edit it later. You can improve the proposal by taking inputs from your mentors. • check often for your mentor comments on your proposal.
  • 24.
    key points inproposal • project goals. • deliverables - code, test cases, documentation… • rough timeline for the project. • research which you have done on the project. • add mockups if you have. - added grade. • why do you fit? - your skill set. • list of previous open source contributions and internships if any.
  • 25.
    how to writea rough timeline • finer details. • break it into periods of 5-6 days. • testing takes time - assign considerable time for it. • don’t be over optimistic. • some projects require considerable work hrs/week. maybe 40?
  • 26.
    after submission • don’t disappear. • youmay be asked to provide additional information.- may be a small interview!! • start working on the project if you have applied only to a single project. • be motivated always.
  • 27.
    got selected? • YAY! yourbattle has begun! • don’t panic. be prompt, be truthful. • you have one more month - community bonding period. • mentors are your friends. they are there to help you out. • keep in touch with the fellow dev’s. • remember! mentors wont write code or write abstracts or do documentation for you. • they are here to guide you and tell you what to be done.
  • 28.
    • start with smalltasks to make your life easy. • never make your own decisions. consult your mentor. • send status updates every day. - do not procrastinate. • communicate like an engineer! - don’t give stupid reasons. • keep track of your progress and backup! • don’t limit your scope to your project. • work as hard as you can, because gsoc is one job that really pays off.
  • 29.
    statutory warning! • don’t makeincoherent excuses. • don’t vanish without any explanation. • don’t be slow in responding to emails. • don’t be unprofessional. • don’t be lazy.
  • 30.
    but most importantly, aword of advice from my previous mentor…..
  • 31.
    “I can acceptfailure, but I can’t accept not trying.” –Michael Jordan
  • 32.
    Life after gsoc • theend of gsoc program is the inception for great opportunities… if you play your cards right! • jobs. • recommendations. • experience working with foreign clients. • a positive online presence. • conferences. speaking opportunities. • scholarships. chance to get into google :D
  • 33.
  • 34.
    fork me @github.com/applecool; tweet@shellzero drop a mail: kmitharsha@gmail.com