Summer of Code
Summer of Code 2021
2021
Pradeeban
Pradeeban Kathiravelu, Ph.D.
Kathiravelu, Ph.D.
Dept of Biomedical Informatics,
Dept of Biomedical Informatics,
Emory University
Emory 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 preferred
preferredopen
source project
projectfor 3 months.

And get paid!
5
Stipends
Stipends
➢
Stipends
Stipends based on the location of your
based on the location of your
university/college/post-secondary
university/college/post-secondary
academic program.
academic program.
➢
From 1500 – 3300 $ in total.
From 1500 – 3300 $ in total.
➢
Half of previous years
Half of previous years
➢
18 hrs/week.
18 hrs/week.
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.
– 2 milestones (a.k.a., evaluations).
• First Evaluation. (45% of the stipend)
• Final Evaluation. (55% of the stipend)
– A completion certificate!
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 (2021)

Jan 29th
– Feb 19th
: Organizations apply.

March 9th
: Accepted organizations announced.

March 29th
– April 13th
: Student application period.

May 3rd
: Slot requests due from organizations.

May 13th
: Student selections made by
organizations.
12
Timeline..
After getting accepted

May 17th
: Accepted Students announced.
– Community Bonding Period Begins.

June 7th
– Aug 16th
: Coding Period.

July 12th
– July 16th
: First Evaluation.

Aug 16th
– Aug 23rd
: Student Final submission.

Students submit the final code and documentation.

Aug 23rd
– Aug 30th
: Final Evaluation.

Aug 31st
: Final Results Announced.
13
Got some idea..
14
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.
15
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, ..
16

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
17
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
18
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”.
19
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.
20
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.
21
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!).
22
Find THE right project..

Go through the organizations' projects list.
– Check for the 2021 GSoC ideas from the potential
organizations.
– Refer to the organizations lists of 2020 and 2019
until the GSoC 2021 organizations are announced.
23
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)
24
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?
25
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!
26
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.
27
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!
28
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)
29
Be Known..

Be heard!

Be visible!

Be responsive!

Be quick!
30
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.
31
Proposal
How to impress the mentors/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.
32
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.
33
Propose..

Timeline
– Finer details.
– Break up to periods of 3 - 4 days.
– Testing takes time.
– Don't be over-optimistic.
– Require 18 hours of work per week.

Links
– References and additional details.
34
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.
35
• e.g.: “At the end of my project, Niffler Metadata
Processing Pipeline will be 3 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.
36

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:
37
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.
38
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.
39
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.
40
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.
41
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.
42
What else?

More FOSS?

Annual?

Stipend?

Student?

Country/Location?
43
More Open Source
programs/contests..

OpenDaylight Internship

Season of KDE (SoK)

Outreachy

Rails Girls Summer of Code
44
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
45
Are you ready?

Have a look at the successful projects.
– Proposals available online - Wikis, blogs, ..
– Project ideas 2021
• 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
46
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.
47
Questions?..
Questions?..
48
Wish you all the best..
Wish you all the best..

Google summer of code (GSoC) 2021

  • 1.
    Summer of Code Summerof Code 2021 2021 Pradeeban Pradeeban Kathiravelu, Ph.D. Kathiravelu, Ph.D. Dept of Biomedical Informatics, Dept of Biomedical Informatics, Emory University Emory 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 preferred preferredopen source project projectfor 3 months.  And get paid!
  • 5.
    5 Stipends Stipends ➢ Stipends Stipends based onthe location of your based on the location of your university/college/post-secondary university/college/post-secondary academic program. academic program. ➢ From 1500 – 3300 $ in total. From 1500 – 3300 $ in total. ➢ Half of previous years Half of previous years ➢ 18 hrs/week. 18 hrs/week. 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. – 2 milestones (a.k.a., evaluations). • First Evaluation. (45% of the stipend) • Final Evaluation. (55% of the stipend) – A completion certificate!
  • 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 (2021)  Jan 29th –Feb 19th : Organizations apply.  March 9th : Accepted organizations announced.  March 29th – April 13th : Student application period.  May 3rd : Slot requests due from organizations.  May 13th : Student selections made by organizations.
  • 12.
    12 Timeline.. After getting accepted  May17th : Accepted Students announced. – Community Bonding Period Begins.  June 7th – Aug 16th : Coding Period.  July 12th – July 16th : First Evaluation.  Aug 16th – Aug 23rd : Student Final submission.  Students submit the final code and documentation.  Aug 23rd – Aug 30th : Final Evaluation.  Aug 31st : Final Results Announced.
  • 13.
  • 14.
    14 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.
  • 15.
    15 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, ..
  • 16.
    16  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
  • 17.
    17 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
  • 18.
    18 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”.
  • 19.
    19 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.
  • 20.
    20 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.
  • 21.
    21 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!).
  • 22.
    22 Find THE rightproject..  Go through the organizations' projects list. – Check for the 2021 GSoC ideas from the potential organizations. – Refer to the organizations lists of 2020 and 2019 until the GSoC 2021 organizations are announced.
  • 23.
    23 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)
  • 24.
    24 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?
  • 25.
    25 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!
  • 26.
    26 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.
  • 27.
    27 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!
  • 28.
    28 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)
  • 29.
    29 Be Known..  Be heard!  Bevisible!  Be responsive!  Be quick!
  • 30.
    30 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.
  • 31.
    31 Proposal How to impressthe mentors/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.
  • 32.
    32 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.
  • 33.
    33 Propose..  Timeline – Finer details. –Break up to periods of 3 - 4 days. – Testing takes time. – Don't be over-optimistic. – Require 18 hours of work per week.  Links – References and additional details.
  • 34.
    34 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.
  • 35.
    35 • e.g.: “Atthe end of my project, Niffler Metadata Processing Pipeline will be 3 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.
  • 36.
    36  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:
  • 37.
    37 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.
  • 38.
    38 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.
  • 39.
    39 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.
  • 40.
    40 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.
  • 41.
    41 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.
  • 42.
  • 43.
    43 More Open Source programs/contests..  OpenDaylightInternship  Season of KDE (SoK)  Outreachy  Rails Girls Summer of Code
  • 44.
    44 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
  • 45.
    45 Are you ready?  Havea look at the successful projects. – Proposals available online - Wikis, blogs, .. – Project ideas 2021 • 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
  • 46.
    46 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. :) – [email protected] | 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.
  • 47.
  • 48.
    48 Wish you allthe best.. Wish you all the best..