SlideShare a Scribd company logo
1 of 49
Download to read offline
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..

More Related Content

Similar to Summer of Code Guide to Google Summer of Code 2020

discussion_3_project.pdf
discussion_3_project.pdfdiscussion_3_project.pdf
discussion_3_project.pdfKuan-Tsae Huang
 
How to start your data career
How to start your data careerHow to start your data career
How to start your data careerAdwait Bhave
 
GDSC LPU Info Session 2023
GDSC LPU Info Session 2023GDSC LPU Info Session 2023
GDSC LPU Info Session 2023GDSCLPU
 
Career Hacks for Developers
Career Hacks for DevelopersCareer Hacks for Developers
Career Hacks for DevelopersBarElin
 
Info session developer student club telkom university
Info session developer student club telkom universityInfo session developer student club telkom university
Info session developer student club telkom universityRaihan Hamid Suraperwata
 
My 1-Day Coding EdTech Business Plan - Feedback Welcome
My 1-Day Coding EdTech Business Plan - Feedback WelcomeMy 1-Day Coding EdTech Business Plan - Feedback Welcome
My 1-Day Coding EdTech Business Plan - Feedback WelcomeJonathan Novotny
 
GDSC IIIT-Bh Orientation'21
GDSC IIIT-Bh Orientation'21GDSC IIIT-Bh Orientation'21
GDSC IIIT-Bh Orientation'21GDSCIIITBbsr
 
Gsoc2012 checklist
Gsoc2012 checklistGsoc2012 checklist
Gsoc2012 checklistDavid Bain
 
Joining GDSC.pdf
Joining GDSC.pdfJoining GDSC.pdf
Joining GDSC.pdfMadelineYi
 

Similar to Summer of Code Guide to Google Summer of Code 2020 (20)

Google summer of code (GSoC) 2021
Google summer of code (GSoC) 2021Google summer of code (GSoC) 2021
Google summer of code (GSoC) 2021
 
Google summer of code 2012
Google summer of code 2012Google summer of code 2012
Google summer of code 2012
 
Google summer of code
Google summer of codeGoogle summer of code
Google summer of code
 
Google Summer of Code (GSoC) 2022
Google Summer of Code (GSoC) 2022Google Summer of Code (GSoC) 2022
Google Summer of Code (GSoC) 2022
 
Google Summer of Code (GSoC) 2022
Google Summer of Code (GSoC) 2022Google Summer of Code (GSoC) 2022
Google Summer of Code (GSoC) 2022
 
Google Summer of Code_2023.pdf
Google Summer of Code_2023.pdfGoogle Summer of Code_2023.pdf
Google Summer of Code_2023.pdf
 
Google summer of code
Google summer of codeGoogle summer of code
Google summer of code
 
An Introduction to Google Summer of Code 2015
An Introduction to Google Summer of Code 2015An Introduction to Google Summer of Code 2015
An Introduction to Google Summer of Code 2015
 
Google summer of code 2012
Google summer of code 2012Google summer of code 2012
Google summer of code 2012
 
discussion_3_project.pdf
discussion_3_project.pdfdiscussion_3_project.pdf
discussion_3_project.pdf
 
How to start your data career
How to start your data careerHow to start your data career
How to start your data career
 
GDSC LPU Info Session 2023
GDSC LPU Info Session 2023GDSC LPU Info Session 2023
GDSC LPU Info Session 2023
 
Career Hacks for Developers
Career Hacks for DevelopersCareer Hacks for Developers
Career Hacks for Developers
 
Embracing AI In Assessment
Embracing AI In AssessmentEmbracing AI In Assessment
Embracing AI In Assessment
 
Info session developer student club telkom university
Info session developer student club telkom universityInfo session developer student club telkom university
Info session developer student club telkom university
 
My 1-Day Coding EdTech Business Plan - Feedback Welcome
My 1-Day Coding EdTech Business Plan - Feedback WelcomeMy 1-Day Coding EdTech Business Plan - Feedback Welcome
My 1-Day Coding EdTech Business Plan - Feedback Welcome
 
GDSC IIIT-Bh Orientation'21
GDSC IIIT-Bh Orientation'21GDSC IIIT-Bh Orientation'21
GDSC IIIT-Bh Orientation'21
 
Gsoc2012 checklist
Gsoc2012 checklistGsoc2012 checklist
Gsoc2012 checklist
 
Joining GDSC.pdf
Joining GDSC.pdfJoining GDSC.pdf
Joining GDSC.pdf
 
ChatGPT: Friend or Foe?
ChatGPT: Friend or Foe?ChatGPT: Friend or Foe?
ChatGPT: Friend or Foe?
 

More from Pradeeban Kathiravelu, Ph.D.

Niffler: A DICOM Framework for Machine Learning and Processing Pipelines.
Niffler: A DICOM Framework for Machine Learning and Processing Pipelines.Niffler: A DICOM Framework for Machine Learning and Processing Pipelines.
Niffler: A DICOM Framework for Machine Learning and Processing Pipelines.Pradeeban Kathiravelu, Ph.D.
 
A DICOM Framework for Machine Learning Pipelines against Real-Time Radiology ...
A DICOM Framework for Machine Learning Pipelines against Real-Time Radiology ...A DICOM Framework for Machine Learning Pipelines against Real-Time Radiology ...
A DICOM Framework for Machine Learning Pipelines against Real-Time Radiology ...Pradeeban Kathiravelu, Ph.D.
 
Data Services with Bindaas: RESTful Interfaces for Diverse Data Sources
Data Services with Bindaas: RESTful Interfaces for Diverse Data SourcesData Services with Bindaas: RESTful Interfaces for Diverse Data Sources
Data Services with Bindaas: RESTful Interfaces for Diverse Data SourcesPradeeban Kathiravelu, Ph.D.
 
The UCLouvain Public Defense of my EMJD-DC Double Doctorate Ph.D. degree
The UCLouvain Public Defense of my EMJD-DC Double Doctorate Ph.D. degreeThe UCLouvain Public Defense of my EMJD-DC Double Doctorate Ph.D. degree
The UCLouvain Public Defense of my EMJD-DC Double Doctorate Ph.D. degreePradeeban Kathiravelu, Ph.D.
 
My Ph.D. Defense - Software-Defined Systems for Network-Aware Service Compos...
 My Ph.D. Defense - Software-Defined Systems for Network-Aware Service Compos... My Ph.D. Defense - Software-Defined Systems for Network-Aware Service Compos...
My Ph.D. Defense - Software-Defined Systems for Network-Aware Service Compos...Pradeeban Kathiravelu, Ph.D.
 
My Ph.D. Defense - Software-Defined Systems for Network-Aware Service Composi...
My Ph.D. Defense - Software-Defined Systems for Network-Aware Service Composi...My Ph.D. Defense - Software-Defined Systems for Network-Aware Service Composi...
My Ph.D. Defense - Software-Defined Systems for Network-Aware Service Composi...Pradeeban Kathiravelu, Ph.D.
 
Software-Defined Systems for Network-Aware Service Composition and Workflow P...
Software-Defined Systems for Network-Aware Service Composition and Workflow P...Software-Defined Systems for Network-Aware Service Composition and Workflow P...
Software-Defined Systems for Network-Aware Service Composition and Workflow P...Pradeeban Kathiravelu, Ph.D.
 
Moving bits with a fleet of shared virtual routers
Moving bits with a fleet of shared virtual routersMoving bits with a fleet of shared virtual routers
Moving bits with a fleet of shared virtual routersPradeeban Kathiravelu, Ph.D.
 
Software-Defined Data Services: Interoperable and Network-Aware Big Data Exec...
Software-Defined Data Services: Interoperable and Network-Aware Big Data Exec...Software-Defined Data Services: Interoperable and Network-Aware Big Data Exec...
Software-Defined Data Services: Interoperable and Network-Aware Big Data Exec...Pradeeban Kathiravelu, Ph.D.
 
On-Demand Service-Based Big Data Integration: Optimized for Research Collabor...
On-Demand Service-Based Big Data Integration: Optimized for Research Collabor...On-Demand Service-Based Big Data Integration: Optimized for Research Collabor...
On-Demand Service-Based Big Data Integration: Optimized for Research Collabor...Pradeeban Kathiravelu, Ph.D.
 
Scalability and Resilience of Multi-Tenant Distributed Clouds in the Big Serv...
Scalability and Resilience of Multi-Tenant Distributed Clouds in the Big Serv...Scalability and Resilience of Multi-Tenant Distributed Clouds in the Big Serv...
Scalability and Resilience of Multi-Tenant Distributed Clouds in the Big Serv...Pradeeban Kathiravelu, Ph.D.
 
Software-Defined Inter-Cloud Composition of Big Services
Software-Defined Inter-Cloud Composition of Big ServicesSoftware-Defined Inter-Cloud Composition of Big Services
Software-Defined Inter-Cloud Composition of Big ServicesPradeeban Kathiravelu, Ph.D.
 
Scalability and Resilience of Multi-Tenant Distributed Clouds in the Big Serv...
Scalability and Resilience of Multi-Tenant Distributed Clouds in the Big Serv...Scalability and Resilience of Multi-Tenant Distributed Clouds in the Big Serv...
Scalability and Resilience of Multi-Tenant Distributed Clouds in the Big Serv...Pradeeban Kathiravelu, Ph.D.
 
SD-CPS: Taming the Challenges of Cyber-Physical Systems with a Software-Defin...
SD-CPS: Taming the Challenges of Cyber-Physical Systems with a Software-Defin...SD-CPS: Taming the Challenges of Cyber-Physical Systems with a Software-Defin...
SD-CPS: Taming the Challenges of Cyber-Physical Systems with a Software-Defin...Pradeeban Kathiravelu, Ph.D.
 
ViTeNA: An SDN-Based Virtual Network Embedding Algorithm for Multi-Tenant Dat...
ViTeNA: An SDN-Based Virtual Network Embedding Algorithm for Multi-Tenant Dat...ViTeNA: An SDN-Based Virtual Network Embedding Algorithm for Multi-Tenant Dat...
ViTeNA: An SDN-Based Virtual Network Embedding Algorithm for Multi-Tenant Dat...Pradeeban Kathiravelu, Ph.D.
 
Software-Defined Simulations for Continuous Development of Cloud and Data Cen...
Software-Defined Simulations for Continuous Development of Cloud and Data Cen...Software-Defined Simulations for Continuous Development of Cloud and Data Cen...
Software-Defined Simulations for Continuous Development of Cloud and Data Cen...Pradeeban Kathiravelu, Ph.D.
 
Selective Redundancy in Network-as-a-Service: Differentiated QoS in Multi-Ten...
Selective Redundancy in Network-as-a-Service: Differentiated QoS in Multi-Ten...Selective Redundancy in Network-as-a-Service: Differentiated QoS in Multi-Ten...
Selective Redundancy in Network-as-a-Service: Differentiated QoS in Multi-Ten...Pradeeban Kathiravelu, Ph.D.
 

More from Pradeeban Kathiravelu, Ph.D. (20)

Niffler: A DICOM Framework for Machine Learning and Processing Pipelines.
Niffler: A DICOM Framework for Machine Learning and Processing Pipelines.Niffler: A DICOM Framework for Machine Learning and Processing Pipelines.
Niffler: A DICOM Framework for Machine Learning and Processing Pipelines.
 
A DICOM Framework for Machine Learning Pipelines against Real-Time Radiology ...
A DICOM Framework for Machine Learning Pipelines against Real-Time Radiology ...A DICOM Framework for Machine Learning Pipelines against Real-Time Radiology ...
A DICOM Framework for Machine Learning Pipelines against Real-Time Radiology ...
 
Google Summer of Code (GSoC) 2020 for mentors
Google Summer of Code (GSoC) 2020 for mentorsGoogle Summer of Code (GSoC) 2020 for mentors
Google Summer of Code (GSoC) 2020 for mentors
 
Data Services with Bindaas: RESTful Interfaces for Diverse Data Sources
Data Services with Bindaas: RESTful Interfaces for Diverse Data SourcesData Services with Bindaas: RESTful Interfaces for Diverse Data Sources
Data Services with Bindaas: RESTful Interfaces for Diverse Data Sources
 
The UCLouvain Public Defense of my EMJD-DC Double Doctorate Ph.D. degree
The UCLouvain Public Defense of my EMJD-DC Double Doctorate Ph.D. degreeThe UCLouvain Public Defense of my EMJD-DC Double Doctorate Ph.D. degree
The UCLouvain Public Defense of my EMJD-DC Double Doctorate Ph.D. degree
 
My Ph.D. Defense - Software-Defined Systems for Network-Aware Service Compos...
 My Ph.D. Defense - Software-Defined Systems for Network-Aware Service Compos... My Ph.D. Defense - Software-Defined Systems for Network-Aware Service Compos...
My Ph.D. Defense - Software-Defined Systems for Network-Aware Service Compos...
 
My Ph.D. Defense - Software-Defined Systems for Network-Aware Service Composi...
My Ph.D. Defense - Software-Defined Systems for Network-Aware Service Composi...My Ph.D. Defense - Software-Defined Systems for Network-Aware Service Composi...
My Ph.D. Defense - Software-Defined Systems for Network-Aware Service Composi...
 
UCL Ph.D. Confirmation 2018
UCL Ph.D. Confirmation 2018UCL Ph.D. Confirmation 2018
UCL Ph.D. Confirmation 2018
 
Software-Defined Systems for Network-Aware Service Composition and Workflow P...
Software-Defined Systems for Network-Aware Service Composition and Workflow P...Software-Defined Systems for Network-Aware Service Composition and Workflow P...
Software-Defined Systems for Network-Aware Service Composition and Workflow P...
 
Moving bits with a fleet of shared virtual routers
Moving bits with a fleet of shared virtual routersMoving bits with a fleet of shared virtual routers
Moving bits with a fleet of shared virtual routers
 
Software-Defined Data Services: Interoperable and Network-Aware Big Data Exec...
Software-Defined Data Services: Interoperable and Network-Aware Big Data Exec...Software-Defined Data Services: Interoperable and Network-Aware Big Data Exec...
Software-Defined Data Services: Interoperable and Network-Aware Big Data Exec...
 
On-Demand Service-Based Big Data Integration: Optimized for Research Collabor...
On-Demand Service-Based Big Data Integration: Optimized for Research Collabor...On-Demand Service-Based Big Data Integration: Optimized for Research Collabor...
On-Demand Service-Based Big Data Integration: Optimized for Research Collabor...
 
Scalability and Resilience of Multi-Tenant Distributed Clouds in the Big Serv...
Scalability and Resilience of Multi-Tenant Distributed Clouds in the Big Serv...Scalability and Resilience of Multi-Tenant Distributed Clouds in the Big Serv...
Scalability and Resilience of Multi-Tenant Distributed Clouds in the Big Serv...
 
Software-Defined Inter-Cloud Composition of Big Services
Software-Defined Inter-Cloud Composition of Big ServicesSoftware-Defined Inter-Cloud Composition of Big Services
Software-Defined Inter-Cloud Composition of Big Services
 
Scalability and Resilience of Multi-Tenant Distributed Clouds in the Big Serv...
Scalability and Resilience of Multi-Tenant Distributed Clouds in the Big Serv...Scalability and Resilience of Multi-Tenant Distributed Clouds in the Big Serv...
Scalability and Resilience of Multi-Tenant Distributed Clouds in the Big Serv...
 
Componentizing Big Services in the Internet
Componentizing Big Services in the InternetComponentizing Big Services in the Internet
Componentizing Big Services in the Internet
 
SD-CPS: Taming the Challenges of Cyber-Physical Systems with a Software-Defin...
SD-CPS: Taming the Challenges of Cyber-Physical Systems with a Software-Defin...SD-CPS: Taming the Challenges of Cyber-Physical Systems with a Software-Defin...
SD-CPS: Taming the Challenges of Cyber-Physical Systems with a Software-Defin...
 
ViTeNA: An SDN-Based Virtual Network Embedding Algorithm for Multi-Tenant Dat...
ViTeNA: An SDN-Based Virtual Network Embedding Algorithm for Multi-Tenant Dat...ViTeNA: An SDN-Based Virtual Network Embedding Algorithm for Multi-Tenant Dat...
ViTeNA: An SDN-Based Virtual Network Embedding Algorithm for Multi-Tenant Dat...
 
Software-Defined Simulations for Continuous Development of Cloud and Data Cen...
Software-Defined Simulations for Continuous Development of Cloud and Data Cen...Software-Defined Simulations for Continuous Development of Cloud and Data Cen...
Software-Defined Simulations for Continuous Development of Cloud and Data Cen...
 
Selective Redundancy in Network-as-a-Service: Differentiated QoS in Multi-Ten...
Selective Redundancy in Network-as-a-Service: Differentiated QoS in Multi-Ten...Selective Redundancy in Network-as-a-Service: Differentiated QoS in Multi-Ten...
Selective Redundancy in Network-as-a-Service: Differentiated QoS in Multi-Ten...
 

Recently uploaded

(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...ranjana rawat
 
Booking open Available Pune Call Girls Pargaon 6297143586 Call Hot Indian Gi...
Booking open Available Pune Call Girls Pargaon  6297143586 Call Hot Indian Gi...Booking open Available Pune Call Girls Pargaon  6297143586 Call Hot Indian Gi...
Booking open Available Pune Call Girls Pargaon 6297143586 Call Hot Indian Gi...Call Girls in Nagpur High Profile
 
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur Escorts
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur EscortsCall Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur Escorts
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur EscortsCall Girls in Nagpur High Profile
 
UNIT - IV - Air Compressors and its Performance
UNIT - IV - Air Compressors and its PerformanceUNIT - IV - Air Compressors and its Performance
UNIT - IV - Air Compressors and its Performancesivaprakash250
 
Processing & Properties of Floor and Wall Tiles.pptx
Processing & Properties of Floor and Wall Tiles.pptxProcessing & Properties of Floor and Wall Tiles.pptx
Processing & Properties of Floor and Wall Tiles.pptxpranjaldaimarysona
 
University management System project report..pdf
University management System project report..pdfUniversity management System project report..pdf
University management System project report..pdfKamal Acharya
 
Java Programming :Event Handling(Types of Events)
Java Programming :Event Handling(Types of Events)Java Programming :Event Handling(Types of Events)
Java Programming :Event Handling(Types of Events)simmis5
 
CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete Record
CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete RecordCCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete Record
CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete RecordAsst.prof M.Gokilavani
 
Introduction to IEEE STANDARDS and its different types.pptx
Introduction to IEEE STANDARDS and its different types.pptxIntroduction to IEEE STANDARDS and its different types.pptx
Introduction to IEEE STANDARDS and its different types.pptxupamatechverse
 
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINE
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINEMANUFACTURING PROCESS-II UNIT-2 LATHE MACHINE
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINESIVASHANKAR N
 
Call Girls in Nagpur Suman Call 7001035870 Meet With Nagpur Escorts
Call Girls in Nagpur Suman Call 7001035870 Meet With Nagpur EscortsCall Girls in Nagpur Suman Call 7001035870 Meet With Nagpur Escorts
Call Girls in Nagpur Suman Call 7001035870 Meet With Nagpur EscortsCall Girls in Nagpur High Profile
 
Glass Ceramics: Processing and Properties
Glass Ceramics: Processing and PropertiesGlass Ceramics: Processing and Properties
Glass Ceramics: Processing and PropertiesPrabhanshu Chaturvedi
 
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...Dr.Costas Sachpazis
 
Online banking management system project.pdf
Online banking management system project.pdfOnline banking management system project.pdf
Online banking management system project.pdfKamal Acharya
 
College Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
College Call Girls Nashik Nehal 7001305949 Independent Escort Service NashikCollege Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
College Call Girls Nashik Nehal 7001305949 Independent Escort Service NashikCall Girls in Nagpur High Profile
 
UNIT-II FMM-Flow Through Circular Conduits
UNIT-II FMM-Flow Through Circular ConduitsUNIT-II FMM-Flow Through Circular Conduits
UNIT-II FMM-Flow Through Circular Conduitsrknatarajan
 
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur EscortsHigh Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur EscortsCall Girls in Nagpur High Profile
 
ONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdf
ONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdfONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdf
ONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdfKamal Acharya
 
result management system report for college project
result management system report for college projectresult management system report for college project
result management system report for college projectTonystark477637
 

Recently uploaded (20)

(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
 
Water Industry Process Automation & Control Monthly - April 2024
Water Industry Process Automation & Control Monthly - April 2024Water Industry Process Automation & Control Monthly - April 2024
Water Industry Process Automation & Control Monthly - April 2024
 
Booking open Available Pune Call Girls Pargaon 6297143586 Call Hot Indian Gi...
Booking open Available Pune Call Girls Pargaon  6297143586 Call Hot Indian Gi...Booking open Available Pune Call Girls Pargaon  6297143586 Call Hot Indian Gi...
Booking open Available Pune Call Girls Pargaon 6297143586 Call Hot Indian Gi...
 
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur Escorts
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur EscortsCall Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur Escorts
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur Escorts
 
UNIT - IV - Air Compressors and its Performance
UNIT - IV - Air Compressors and its PerformanceUNIT - IV - Air Compressors and its Performance
UNIT - IV - Air Compressors and its Performance
 
Processing & Properties of Floor and Wall Tiles.pptx
Processing & Properties of Floor and Wall Tiles.pptxProcessing & Properties of Floor and Wall Tiles.pptx
Processing & Properties of Floor and Wall Tiles.pptx
 
University management System project report..pdf
University management System project report..pdfUniversity management System project report..pdf
University management System project report..pdf
 
Java Programming :Event Handling(Types of Events)
Java Programming :Event Handling(Types of Events)Java Programming :Event Handling(Types of Events)
Java Programming :Event Handling(Types of Events)
 
CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete Record
CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete RecordCCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete Record
CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete Record
 
Introduction to IEEE STANDARDS and its different types.pptx
Introduction to IEEE STANDARDS and its different types.pptxIntroduction to IEEE STANDARDS and its different types.pptx
Introduction to IEEE STANDARDS and its different types.pptx
 
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINE
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINEMANUFACTURING PROCESS-II UNIT-2 LATHE MACHINE
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINE
 
Call Girls in Nagpur Suman Call 7001035870 Meet With Nagpur Escorts
Call Girls in Nagpur Suman Call 7001035870 Meet With Nagpur EscortsCall Girls in Nagpur Suman Call 7001035870 Meet With Nagpur Escorts
Call Girls in Nagpur Suman Call 7001035870 Meet With Nagpur Escorts
 
Glass Ceramics: Processing and Properties
Glass Ceramics: Processing and PropertiesGlass Ceramics: Processing and Properties
Glass Ceramics: Processing and Properties
 
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
 
Online banking management system project.pdf
Online banking management system project.pdfOnline banking management system project.pdf
Online banking management system project.pdf
 
College Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
College Call Girls Nashik Nehal 7001305949 Independent Escort Service NashikCollege Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
College Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
 
UNIT-II FMM-Flow Through Circular Conduits
UNIT-II FMM-Flow Through Circular ConduitsUNIT-II FMM-Flow Through Circular Conduits
UNIT-II FMM-Flow Through Circular Conduits
 
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur EscortsHigh Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
 
ONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdf
ONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdfONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdf
ONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdf
 
result management system report for college project
result management system report for college projectresult management system report for college project
result management system report for college project
 

Summer of Code Guide to Google Summer of Code 2020

  • 1. Summer of CodeSummer of Code 20202020 PradeebanPradeeban Kathiravelu, Ph.D.Kathiravelu, Ph.D. Biomedical Informatics,Biomedical Informatics, Emory UniversityEmory University
  • 2. 2 Contents ➢ Why GSoC? ➢ Before you begin.. ➢ Right Project? ➢ Shout! ➢ Apply. ➢ Code. ➢ Conclude/Continue. ➢ What Else?
  • 3. 3 I CAN HAZ CHEEZBURGER? 18+18+ Students only!
  • 4. 4 Why should I bother?  Code for your preferredpreferredopen source projectprojectfor 3 months.  And get paid!
  • 5. 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. 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. 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. 8 Success Rate.. is pretty high!  Passed the final evaluations – Success rate – 88.87%
  • 10. 10 What do you need? ♥
  • 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  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. 13 Timeline.. Concluding  Aug 17th – 24th : Final Evaluation.  Aug 25th : Final Results.
  • 15. 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. 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 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. 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. 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. 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. 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. 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. 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. 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 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. 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 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. 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!  Be visible!  Be responsive!  Be quick!
  • 31. 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. 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. 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. 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.: “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. 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. 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. 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. 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. 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. 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.
  • 44. 44 More Open Source programs/contests..  OpenDaylight Internship  Season of KDE (SoK)  Outreachy  Rails Girls Summer of Code
  • 45. 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. 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. 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.
  • 49. 49 Wish you all the best..Wish you all the best..