Summer of CodeSummer of Code 20202020
PradeebanPradeeban Kathiravelu, Ph.D.Kathiravelu, Ph.D.
Biomedical Informatics,Biomedical Informatics,
Emory UniversityEmory University
2
Contents
➢
Why GSoC?
➢
Before you begin..
➢
Right Project?
➢
Shout!
➢
Apply.
➢
Code.
➢
Conclude/Continue.
➢
What Else?
3
I CAN HAZ CHEEZBURGER?
18+18+
Students only!
4
Why should I bother?

Code for your preferredpreferredopen
source projectprojectfor 3 months.

And get paid!
5
StipendsStipends
➢
StipendsStipends based on the location of yourbased on the location of your
university.university.
➢
3000 – 6600 $ in total.3000 – 6600 $ in total.
Background Image: http://blog.echoenduring.com/2010/11/23/learning-about-design-from-angry-birds/
6
Google Summer of Code (GSoC)

Code for an open source organization for 3 months.

Not accepted twice or more in previous GSoCs as
a student.

Google coordinates and rewards you!
– Getting Accepted.
– 3 milestones (a.k.a., evaluations).
• Phase 1 Evaluations. (30% of the stipend)
• Phase 2 Evaluations. (Another 30% of the stipend)
• Final Evaluations. (Final 40% of the stipend)
– A certificate, an awesome t-shirt, and gifts!
7
Some statistics of 2019

201 Organizations
– 2,815 mentors and co-mentors.
– 2,066 from 72 countries, with an assigned student.

Registered
– 30,922 students, from 148 countries.

Accepted
– 1, 276 students/projects
• 148 countries. 6,586 universities.
 Completed successfully
– 1,134 students from 61 countries.
8
Success Rate..
is pretty high!

Passed the final evaluations
– Success rate – 88.87%
9
Why Google Summer of Code?
10
What do you need?
♥
11
Timeline (2020)

Jan 14th
– Feb 5th
: Organizations apply.

Feb 20th
: Accepted organizations announced.

March 16th
– 31st
: Student application period.

March 31st
– April 27th
: Organizations review
student applications.
12
Timeline..
After getting accepted

April 27th
: Accepted Students announced.
– Community Bonding Period Begins.

May 18th
– Aug 10th: Coding Period.

June 15th
– June 19th
: Phase 1 Evaluations.

July 13th
– July 17th
: Phase 2 Evaluations.

Aug 10th
– Aug 17th: GSoC Final Submission.
– Students submit the final code and documentation.
13
Timeline..
Concluding

Aug 17th
– 24th
: Final Evaluation.

Aug 25th
: Final Results.
14
Got some idea..
15
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 communication channel.
16
Technologies..

Version Control Systems
– git, mercurial, ..

Build Tools
– Maven, Ivy, Ant, ..

IDEs (Integrated Development Environments)
– IntelliJ IDEA, Eclipse, ..
– Microsoft Visual Studio ..

Issue Tracker
– Jira, Bugzilla, Trac, ..
17

Mailing Lists
– Dev, User, Commit lists, sub-groups, ..

Internet Relay Chat (IRC) and Slack channels

Issue Tracker

Forums and wiki

Blogs

Skype, Personal Mails, gtalk, conference
calls, .. [with the mentors, if that is preferred.]
Communicating with the team..
and the mentor, over the Internet
18
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
19
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”.
20
Mailing lists

Post only to the relevant list/channel.

Check the mail archives or channel logs first.

No [URGENT]/[IMPORTANT] tags.

No unnecessary attachments.

No Cross Posting.

Don't hijack threads.

Don't post off-topic.
21
IRC/Slack Etiquettes

Join the relevant channels.

Be an observer first.

Refer to others using their irc/slack nick to get
attention.

But avoid misusing.

Especially no unnecessary @channel or @here.

Don't expect immediate replies; wait.
22
Find a mentoring organization..

Have a look at the list of past GSoC.

201 Last year!

New Organizations.

40 – 50 expected for 2020.

Google as the mentoring organization.

Introduce GSoC to an organization (Sounds
Smart!).
23
Find THE right project..

Go through the organizations' projects list.
– Some organizations publish pretty soon.
– Refer to the projects list of 2019 of the
organizations until the GSoC 2020 is announced.
24
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)
25
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?
26
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!
27
Experience

Language
– Java, Python, Javascript, Go, C++, C, ..
– Not much time to learn a new language (?)

Prove It!
– Patches.
– Assist other students!!!
– Project expertise
• Bug reports and fixes.
• Go through the archives, wikis, and web sites.
28
Opportunities..

Project that matches your previous work
experience.

Choose the right project.

Timezone Difference
– Use it effectively

Multiple Applications

Up to 3. But only one accepted per student.

Preferences!
29
Shout!

Communicate early – but meaningfully.

Not necessary to send an email just to say ‘hi’.

Communicate often.

Ask questions.

Most importantly,
Answer others' questions!

Mentor is your friend!
(respect)
30
Be Known..

Be heard!

Be visible!

Be responsive!

Be quick!
31
Apply

Register as a student for GSoC.

Use the project's wiki for draft proposal
– if applicable.

Apply on Google's system.
– Can edit later, until the last minute!
– Get the mentors' opinions and improve.

Check often for the mentors' comments
– attend to them.
32
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.
33
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.
34
Propose..

Timeline
– Finer details.
– Break up to periods of 3 - 4 days.
– Testing takes time.
– Don't be over-optimistic.
– Require considerable work hrs/week (30+, per Google).

Links
– References and additional details.
35
Application Template

Name:

Email:

Project Title:

Synopsis:
– A short description of your project.

Benefits to the organization/project
– and/or other project(s):

Deliverables:
– Quantifiable results.
36
• 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
• summer classes, vacations, etc.
37

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:
38
After the submission..

Don't go invisible!
– Evaluation is still going on.. ;)

You may be asked to provide
– additional information.
• Bug fixes / pull requests.
• Demos and screenshots.

You may even start coding on your project!
– Especially if you didn't apply for multiple projects.

Be motivated.
39
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.
40
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.
41
Coding..
Easiest task of all.. ;)

Commit often, if given committership.
– Send frequent pull requests (daily ?) otherwise.
– Meaningful Commit messages.

Get feedback from the mentor(s).

Keep the community/mentor updated
– Daily (?).

Plan for the mid and final evaluations early,
with the mentor.
42
Conclude/Continue..

Final Submission.

Make a static web page to summarize your GSoC work.

Submit the link at the GSoC site.

Don’t miss any of the evaluations.

Both mentors and students need to submit evaluations.

All 3 of the evaluations!

Focus on becoming a committer in the organization
– if not already given committership.

Keep contributing.
43
What else?

More FOSS?

Annual?

Stipend?

Student?

Country/Location?
44
More Open Source
programs/contests..

OpenDaylight Internship

Season of KDE (SoK)

Outreachy

Rails Girls Summer of Code
45
Some links.. ;)

GSoC home page

Google Open Source Blog on GSoC

Proposal [Pradeeban]

GSoC 2015 Emory BMI

GSoC 2014 Emory BMI

GSoC 2010 OMII-UK/OGSA-DAI

GSoC 2009 AbiWord
46
Are you ready?

Have a look at the successful projects.
– Proposals available online - Wikis, blogs, ..
– Project ideas 2020
• Emory BMI, caMicroscope, ..

Apache Software Foundation
– More slots and more choices.
• Tomcat, Derby, Axis2, and more ..

Join the projects' mailing lists and channels.

For Example, Apache CXF
47
For more Information ..

Join the GSoC mailing lists.

Join your local GSoC Google Group
– For e.g., Group for Sri Lankan students:
http://groups.google.com/group/gsoc-srilanka

Drop me a line. :)
– kk.pradeeban@gmail.com | kkpradeeban.blogspot.com
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.
48
Questions?..Questions?..
49
Wish you all the best..Wish you all the best..

Google Summer of Code (GSoC) 2020

  • 1.
    Summer of CodeSummerof Code 20202020 PradeebanPradeeban Kathiravelu, Ph.D.Kathiravelu, Ph.D. Biomedical Informatics,Biomedical Informatics, Emory UniversityEmory University
  • 2.
    2 Contents ➢ Why GSoC? ➢ Before youbegin.. ➢ Right Project? ➢ Shout! ➢ Apply. ➢ Code. ➢ Conclude/Continue. ➢ What Else?
  • 3.
    3 I CAN HAZCHEEZBURGER? 18+18+ Students only!
  • 4.
    4 Why should Ibother?  Code for your preferredpreferredopen source projectprojectfor 3 months.  And get paid!
  • 5.
    5 StipendsStipends ➢ StipendsStipends based onthe location of yourbased on the location of your university.university. ➢ 3000 – 6600 $ in total.3000 – 6600 $ in total. Background Image: http://blog.echoenduring.com/2010/11/23/learning-about-design-from-angry-birds/
  • 6.
    6 Google Summer ofCode (GSoC)  Code for an open source organization for 3 months.  Not accepted twice or more in previous GSoCs as a student.  Google coordinates and rewards you! – Getting Accepted. – 3 milestones (a.k.a., evaluations). • Phase 1 Evaluations. (30% of the stipend) • Phase 2 Evaluations. (Another 30% of the stipend) • Final Evaluations. (Final 40% of the stipend) – A certificate, an awesome t-shirt, and gifts!
  • 7.
    7 Some statistics of2019  201 Organizations – 2,815 mentors and co-mentors. – 2,066 from 72 countries, with an assigned student.  Registered – 30,922 students, from 148 countries.  Accepted – 1, 276 students/projects • 148 countries. 6,586 universities.  Completed successfully – 1,134 students from 61 countries.
  • 8.
    8 Success Rate.. is prettyhigh!  Passed the final evaluations – Success rate – 88.87%
  • 9.
  • 10.
    10 What do youneed? ♥
  • 11.
    11 Timeline (2020)  Jan 14th –Feb 5th : Organizations apply.  Feb 20th : Accepted organizations announced.  March 16th – 31st : Student application period.  March 31st – April 27th : Organizations review student applications.
  • 12.
    12 Timeline.. After getting accepted  April27th : Accepted Students announced. – Community Bonding Period Begins.  May 18th – Aug 10th: Coding Period.  June 15th – June 19th : Phase 1 Evaluations.  July 13th – July 17th : Phase 2 Evaluations.  Aug 10th – Aug 17th: GSoC Final Submission. – Students submit the final code and documentation.
  • 13.
    13 Timeline.. Concluding  Aug 17th – 24th :Final Evaluation.  Aug 25th : Final Results.
  • 14.
  • 15.
    15 Before you begin..  GoogleSummer of Code is all about being Open Source.  Get your basics and motives right.  Netiquettes.  Sign up to the lists.  Join the relevant communication channel.
  • 16.
    16 Technologies..  Version Control Systems –git, mercurial, ..  Build Tools – Maven, Ivy, Ant, ..  IDEs (Integrated Development Environments) – IntelliJ IDEA, Eclipse, .. – Microsoft Visual Studio ..  Issue Tracker – Jira, Bugzilla, Trac, ..
  • 17.
    17  Mailing Lists – Dev,User, Commit lists, sub-groups, ..  Internet Relay Chat (IRC) and Slack channels  Issue Tracker  Forums and wiki  Blogs  Skype, Personal Mails, gtalk, conference calls, .. [with the mentors, if that is preferred.] Communicating with the team.. and the mentor, over the Internet
  • 18.
    18 Network Etiquettes  Be Specificand 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
  • 19.
    19 Proper Addressing.. over thelists/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”.
  • 20.
    20 Mailing lists  Post onlyto the relevant list/channel.  Check the mail archives or channel logs first.  No [URGENT]/[IMPORTANT] tags.  No unnecessary attachments.  No Cross Posting.  Don't hijack threads.  Don't post off-topic.
  • 21.
    21 IRC/Slack Etiquettes  Join therelevant channels.  Be an observer first.  Refer to others using their irc/slack nick to get attention.  But avoid misusing.  Especially no unnecessary @channel or @here.  Don't expect immediate replies; wait.
  • 22.
    22 Find a mentoringorganization..  Have a look at the list of past GSoC.  201 Last year!  New Organizations.  40 – 50 expected for 2020.  Google as the mentoring organization.  Introduce GSoC to an organization (Sounds Smart!).
  • 23.
    23 Find THE rightproject..  Go through the organizations' projects list. – Some organizations publish pretty soon. – Refer to the projects list of 2019 of the organizations until the GSoC 2020 is announced.
  • 24.
    24 Get to knowmore.. 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)
  • 25.
    25 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?
  • 26.
    26 Are you willing tocontribute further?  Willingness – To contribute to the community – Beyond the time frame of GsoC.  We want committers and long time volunteers! – Not just students!
  • 27.
    27 Experience  Language – Java, Python,Javascript, Go, C++, C, .. – Not much time to learn a new language (?)  Prove It! – Patches. – Assist other students!!! – Project expertise • Bug reports and fixes. • Go through the archives, wikis, and web sites.
  • 28.
    28 Opportunities..  Project that matchesyour previous work experience.  Choose the right project.  Timezone Difference – Use it effectively  Multiple Applications  Up to 3. But only one accepted per student.  Preferences!
  • 29.
    29 Shout!  Communicate early –but meaningfully.  Not necessary to send an email just to say ‘hi’.  Communicate often.  Ask questions.  Most importantly, Answer others' questions!  Mentor is your friend! (respect)
  • 30.
    30 Be Known..  Be heard!  Bevisible!  Be responsive!  Be quick!
  • 31.
    31 Apply  Register as astudent for GSoC.  Use the project's wiki for draft proposal – if applicable.  Apply on Google's system. – Can edit later, until the last minute! – Get the mentors' opinions and improve.  Check often for the mentors' comments – attend to them.
  • 32.
    32 Propose.. ♡  How toimpress.. – 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.
  • 33.
    33 Propose..  Project Goals – Provesyou got them correct.  Deliverables – Code, Documentation, test cases, ..  Description – Benefits to the organization and other projects. – Can also be given along with the timeline.
  • 34.
    34 Propose..  Timeline – Finer details. –Break up to periods of 3 - 4 days. – Testing takes time. – Don't be over-optimistic. – Require considerable work hrs/week (30+, per Google).  Links – References and additional details.
  • 35.
    35 Application Template  Name:  Email:  Project Title:  Synopsis: –A short description of your project.  Benefits to the organization/project – and/or other project(s):  Deliverables: – Quantifiable results.
  • 36.
    36 • e.g.: “Atthe 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 • summer classes, vacations, etc.
  • 37.
    37  Bio: – Who areyou? – What makes you the best person to work on this project?  Additional Requirements: – Patches / Specific requirements for the project.  Further Related Information:
  • 38.
    38 After the submission..  Don'tgo invisible! – Evaluation is still going on.. ;)  You may be asked to provide – additional information. • Bug fixes / pull requests. • Demos and screenshots.  You may even start coding on your project! – Especially if you didn't apply for multiple projects.  Be motivated.
  • 39.
    39 Got Selected? yay/  Don'tPanic.  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.
  • 40.
    40 Community Bonding Period  Learnthe 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.
  • 41.
    41 Coding.. Easiest task ofall.. ;)  Commit often, if given committership. – Send frequent pull requests (daily ?) otherwise. – Meaningful Commit messages.  Get feedback from the mentor(s).  Keep the community/mentor updated – Daily (?).  Plan for the mid and final evaluations early, with the mentor.
  • 42.
    42 Conclude/Continue..  Final Submission.  Make astatic web page to summarize your GSoC work.  Submit the link at the GSoC site.  Don’t miss any of the evaluations.  Both mentors and students need to submit evaluations.  All 3 of the evaluations!  Focus on becoming a committer in the organization – if not already given committership.  Keep contributing.
  • 43.
  • 44.
    44 More Open Source programs/contests..  OpenDaylightInternship  Season of KDE (SoK)  Outreachy  Rails Girls Summer of Code
  • 45.
    45 Some links.. ;)  GSoChome page  Google Open Source Blog on GSoC  Proposal [Pradeeban]  GSoC 2015 Emory BMI  GSoC 2014 Emory BMI  GSoC 2010 OMII-UK/OGSA-DAI  GSoC 2009 AbiWord
  • 46.
    46 Are you ready?  Havea look at the successful projects. – Proposals available online - Wikis, blogs, .. – Project ideas 2020 • Emory BMI, caMicroscope, ..  Apache Software Foundation – More slots and more choices. • Tomcat, Derby, Axis2, and more ..  Join the projects' mailing lists and channels.  For Example, Apache CXF
  • 47.
    47 For more Information..  Join the GSoC mailing lists.  Join your local GSoC Google Group – For e.g., Group for Sri Lankan students: http://groups.google.com/group/gsoc-srilanka  Drop me a line. :) – kk.pradeeban@gmail.com | kkpradeeban.blogspot.com 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.
  • 48.
  • 49.
    49 Wish you allthe best..Wish you all the best..