SlideShare a Scribd company logo
Summer of CodeSummer of Code 20152015
PradeebanPradeeban KathiraveluKathiravelu
INESC-ID LisboaINESC-ID Lisboa
2
Google Summer of Code (GSoC)
➢ 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.
5
Your interest..
 Not everyone gets a chance to live..
.. a second life ..
6
3 Milestones3 Milestones
➢
Getting Accepted.Getting Accepted.
➢
Mid-Evaluations.Mid-Evaluations.
➢
Final Evaluations.Final Evaluations.
➢
A certificate, an awesome t-shirt, and gifts!A certificate, an awesome t-shirt, and gifts!
➢
{500, 2250, 2750} USD.{500, 2250, 2750} USD.
Background Image: http://blog.echoenduring.com/2010/11/23/learning-about-design-from-angry-birds/
7
Some statistics of 2014
 190 Organizations.
 Accepted
 Around 30% acceptance.
 1173 students/projects
 73 countries.
 Age: 18 – 57.
 Success Rate
 Pretty High!
 Around 85 – 90%.
8
What do you need?
9
Timeline (2015)

Oct 6th
(2014): Program Announced.

Feb 9th
– March 20th
: Organizations apply.

March 2nd
: List of Accepted Organizations.

March 2nd
– 16th
: Students
discussing project ideas.

March 16th
– March 27th
: Students
application period.
10
Timeline..
After getting accepted

April 27th
: Accepted Students announced.
– Community Bonding Period Begins.

May 25th
: Coding Begins.

June 26th
– July 3rd
: Mid Evaluations.

Aug 17th
: Suggested Pencils Down.
– Tests, Documentation improvements, etc.
11
Timeline..
Concluding

Aug 22nd
: Firm Pencils Down.
– Stop Work!

Aug 28th
: Final Evaluation Deadline.
 Begin code submission to Google.

Aug 31st
: Final Results
12
Got some idea..
13
Before you begin..
 Google Summer of Code is all about
contributing to Open Source.
 Get your basics and motives right.
 Netiquettes.
 Sign up to the lists.
 Join the relevant channel.
14
Technologies..
 Version Control Systems
– SVN, CVS, GIT, Mercurial, ..
 Build Tools
– Ant, Maven, ..
 IDEs (Integrated Development Environments)
– IntelliJ IDEA, Eclipse, ..
– Microsoft Visual Studio, Anjuta, ..
 Issue Tracker
– Bugzilla, Jira, Trac, ..
15
 Mailing Lists
– Dev, User, Commit lists, sub-groups, ..
 Internet Relay Chat (IRC)
 Issue Tracker
 Forums and wiki
 Blogs
 Skype, Personal Mails, Hangouts, conference
calls, .. [with the mentors, if that is preferred.]
Communicating with the team..
and the mentor, over the Internet
16
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
17
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”.
18
Mailing lists
 Post only to the relevant list.
 Check the mail archives first.
 Avoid HTML mails.
 No [URGENT]/[IMPORTANT] tags.
 No unnecessary attachments.
 No Cross Posting.
 Don't hijack threads.
 Don't post off-topic.
19
IRC Etiquettes
 Be an observer first.
 Refer to others using their irc nick.
 Don't expect immediate replies; wait.
 Don't post bulk of text into irc.
– Post error logs to http://pastebin.com/ or
http://paste.ubuntu.com/ and share the url instead.
20
Find a mentoring organization..
 Have a look at the list of organizations of
2014 (and 2013, 2012, ..).
 New Organizations.
 Google (Google Open Source Programs
Office) as the mentoring organization.
21
Find THE right project..
 Go through the organizations' projects list.
 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)
22
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?
23
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!
24
Experience
 Language
– Java, 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.
25
Opportunities..
 Project that matches your previous work
experience.
 Choose the right project.
 Timezone Difference
– Use it effectively
– e.g., For Sri Lanka,GMT + 0530.
 Multiple Applications (5!)
 Preferences!
26
Shout!
 Communicate early.
 Communicate often.
 Ask questions.
 Most importantly,
Answer others' questions!
 Mentor is your friend!
(respect)
27
Be Known..
 Be heard!
 Be visible!
 Be responsive!
 Be quick!
28
Apply
 Register as a student for GSoC.
 Use the project's wiki for draft proposal
– if applicable.
 Apply on Google's melange.
– Can edit later, till the last minute!
– Get the mentors' opinions and improve.
 Check often for the mentors' comments
– attend to them.
29
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.
30
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.
31
Propose..
 Timeline
– Finer details.
– Break upto periods of 3 - 4 days.
– Testing takes time.
– Don't be over-optimistic.
– Some organizations require considerable work
hrs/week (40 ?).
 Links
– References and additional details.
32
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.
33
• 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.
34
 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:
35
After the submission..
 Don't go invisible!
– Evaluation is still going on.. ;)
 You may be asked to provide
– additional information.
• Patches.
• Screenshots.
 Start coding on your project.
– only if you didn't apply for multiple projects.
 Be motivated.
36
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.
37
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.
38
Coding..
Easiest task of all.. ;)
 Commit often, if given committership.
– Send daily patches otherwise.
– Meaningful Commit messages.
 Get feedback from the mentor(s).
 Keep the community updated
– Daily (?).
 Plan for the mid and final evaluations early,
with the mentor.
39
Conclude/Continue..
 Pencils Down Date
 Firm Pencils Down Date
– GSoC Coding ends here.
 Get a tarball of all the diff files to submit to
Google.
 Focus on becoming a committer
– if not already given committership.
 Keep contributing.
40
What else?
 More FOSS?
 Annual?
 Stipend?
 Student?
 Country/Location?
41
More Open Source
programs/contests..
 OpenOffice.org Internship
 Ubiquiti RouterStation UI/Firmware
 Wesnoth Summer Art Scholarship
 Umit Summer of Code (USoC)
 Season of KDE (SoK)
 The OpenMRS Internship Program (OIP)
 Joomla! Student Outreach Program
 Ruby Summer of Code
 Fedora Summer Coding
– http://fedoraproject.org/wiki/Summer_Coding_2010
– https://fedoraproject.org/wiki/Summer_coding_ideas_for_2011
42
Some links.. ;)
 GSoC 2015 home page
 GSoC Student Guide
 Google Open Source Blog on GSoC
 Proposals [Pradeeban] -
 GSoC 2014 Emory BMI
 GSoC 2010 OMII-UK/OGSA-DAI
 GSoC 2009 AbiWord
43
Are you ready?
 Have a look at the successful projects.
– Proposals available online - Wikis, blogs, ..
 Apache Software Foundation
– More slots and more choices.
• Tomcat, Derby, Axis2, and more ..
 Join the projects' mailing lists and IRC.
– For Example,
 Apache CXF -
http://cxf.apache.org/mailing-lists.html
44
For more Information ..
 Join your local GSoC Google Group
– For e.g., Group for Sri Lankan students:
http://groups.google.com/group/gsoc-srilanka
 Local GSoC IRC channel
– For e.g., Sri Lanka - #gsoc-lk at irc.freenode.net.
 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.
45
Questions?..Questions?..
46
Wish you all the best..Wish you all the best..
Ad

Recommended

Google summer of code
Google summer of code
Sayak Sarkar
 
Google Summer of Code (GSoC) 2020
Google Summer of Code (GSoC) 2020
Pradeeban Kathiravelu, Ph.D.
 
Google Summer of Code (GSoC) 2022
Google Summer of Code (GSoC) 2022
Pradeeban Kathiravelu, Ph.D.
 
Google Summer of Code (GSoC) 2022
Google Summer of Code (GSoC) 2022
Pradeeban Kathiravelu, Ph.D.
 
Google summer of code (GSoC) 2021
Google summer of code (GSoC) 2021
Pradeeban Kathiravelu, Ph.D.
 
Google Summer of Code (GSoC) 2020 for mentors
Google Summer of Code (GSoC) 2020 for mentors
Pradeeban Kathiravelu, Ph.D.
 
Google summer of code 2012
Google summer of code 2012
Pradeeban Kathiravelu, Ph.D.
 
Google summer of code 2012
Google summer of code 2012
Pradeeban Kathiravelu, Ph.D.
 
Google Summer of Code_2023.pdf
Google Summer of Code_2023.pdf
Pradeeban Kathiravelu, Ph.D.
 
Google summer of code
Google summer of code
Pradeeban Kathiravelu, Ph.D.
 
Google summer of code
Google summer of code
Pradeeban Kathiravelu, Ph.D.
 
Hackernote on gsoc
Hackernote on gsoc
Sri Harsha Pamu
 
How to get in GSoC , DevFest Algiers 2018
How to get in GSoC , DevFest Algiers 2018
Assem CHELLI
 
GS0C - "How to Start" Guide
GS0C - "How to Start" Guide
Chamila Wijayarathna
 
Google Summer of Code 2017: Experience at Discourse
Google Summer of Code 2017: Experience at Discourse
Jakub Macina
 
Google Summer Of Code
Google Summer Of Code
Signure Technologies
 
Open source 101 for students
Open source 101 for students
Sage Sharp
 
Google Summer of Code with WSO2
Google Summer of Code with WSO2
WSO2
 
Google summer of code with drupal
Google summer of code with drupal
Naveen Valecha
 
Spread GHOP: Google Highly Open Participation Contest
Spread GHOP: Google Highly Open Participation Contest
AmyStephen
 
Gsoc2012 checklist
Gsoc2012 checklist
David Bain
 
GDSC NITW GSoc Session
GDSC NITW GSoc Session
GoogleDevelopersStud1
 
gsoc 101 @ AISSMS Institute of Information Techonology.
gsoc 101 @ AISSMS Institute of Information Techonology.
tecopo6080
 
What is Google Summer of Code
What is Google Summer of Code
KalanaWijethunga1
 
Google Summer of Code
Google Summer of Code
guest59ccff
 
Google: Summer of Code 2010 (SIP-Communicator)
Google: Summer of Code 2010 (SIP-Communicator)
Vladimir Vassilev
 
Maimoona g so-c - 2021
Maimoona g so-c - 2021
RaheelSiddiqui15
 
Gsoc 2016-iit-snk-v1.0
Gsoc 2016-iit-snk-v1.0
Suranga Nath Kasthurirathne
 
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 ...
Pradeeban Kathiravelu, Ph.D.
 

More Related Content

Similar to An Introduction to Google Summer of Code 2015 (20)

Google Summer of Code_2023.pdf
Google Summer of Code_2023.pdf
Pradeeban Kathiravelu, Ph.D.
 
Google summer of code
Google summer of code
Pradeeban Kathiravelu, Ph.D.
 
Google summer of code
Google summer of code
Pradeeban Kathiravelu, Ph.D.
 
Hackernote on gsoc
Hackernote on gsoc
Sri Harsha Pamu
 
How to get in GSoC , DevFest Algiers 2018
How to get in GSoC , DevFest Algiers 2018
Assem CHELLI
 
GS0C - "How to Start" Guide
GS0C - "How to Start" Guide
Chamila Wijayarathna
 
Google Summer of Code 2017: Experience at Discourse
Google Summer of Code 2017: Experience at Discourse
Jakub Macina
 
Google Summer Of Code
Google Summer Of Code
Signure Technologies
 
Open source 101 for students
Open source 101 for students
Sage Sharp
 
Google Summer of Code with WSO2
Google Summer of Code with WSO2
WSO2
 
Google summer of code with drupal
Google summer of code with drupal
Naveen Valecha
 
Spread GHOP: Google Highly Open Participation Contest
Spread GHOP: Google Highly Open Participation Contest
AmyStephen
 
Gsoc2012 checklist
Gsoc2012 checklist
David Bain
 
GDSC NITW GSoc Session
GDSC NITW GSoc Session
GoogleDevelopersStud1
 
gsoc 101 @ AISSMS Institute of Information Techonology.
gsoc 101 @ AISSMS Institute of Information Techonology.
tecopo6080
 
What is Google Summer of Code
What is Google Summer of Code
KalanaWijethunga1
 
Google Summer of Code
Google Summer of Code
guest59ccff
 
Google: Summer of Code 2010 (SIP-Communicator)
Google: Summer of Code 2010 (SIP-Communicator)
Vladimir Vassilev
 
Maimoona g so-c - 2021
Maimoona g so-c - 2021
RaheelSiddiqui15
 
Gsoc 2016-iit-snk-v1.0
Gsoc 2016-iit-snk-v1.0
Suranga Nath Kasthurirathne
 
How to get in GSoC , DevFest Algiers 2018
How to get in GSoC , DevFest Algiers 2018
Assem CHELLI
 
Google Summer of Code 2017: Experience at Discourse
Google Summer of Code 2017: Experience at Discourse
Jakub Macina
 
Open source 101 for students
Open source 101 for students
Sage Sharp
 
Google Summer of Code with WSO2
Google Summer of Code with WSO2
WSO2
 
Google summer of code with drupal
Google summer of code with drupal
Naveen Valecha
 
Spread GHOP: Google Highly Open Participation Contest
Spread GHOP: Google Highly Open Participation Contest
AmyStephen
 
Gsoc2012 checklist
Gsoc2012 checklist
David Bain
 
gsoc 101 @ AISSMS Institute of Information Techonology.
gsoc 101 @ AISSMS Institute of Information Techonology.
tecopo6080
 
What is Google Summer of Code
What is Google Summer of Code
KalanaWijethunga1
 
Google Summer of Code
Google Summer of Code
guest59ccff
 
Google: Summer of Code 2010 (SIP-Communicator)
Google: Summer of Code 2010 (SIP-Communicator)
Vladimir Vassilev
 

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.
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 ...
Pradeeban Kathiravelu, Ph.D.
 
Data Services with Bindaas: RESTful Interfaces for Diverse Data Sources
Data Services with Bindaas: RESTful Interfaces for Diverse Data Sources
Pradeeban 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. degree
Pradeeban 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...
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...
Pradeeban Kathiravelu, Ph.D.
 
UCL Ph.D. Confirmation 2018
UCL Ph.D. Confirmation 2018
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...
Pradeeban Kathiravelu, Ph.D.
 
Moving bits with a fleet of shared virtual routers
Moving bits with a fleet of shared virtual routers
Pradeeban 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...
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...
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...
Pradeeban Kathiravelu, Ph.D.
 
Software-Defined Inter-Cloud Composition of Big Services
Software-Defined Inter-Cloud Composition of Big Services
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...
Pradeeban Kathiravelu, Ph.D.
 
Componentizing Big Services in the Internet
Componentizing Big Services in the Internet
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...
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...
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...
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...
Pradeeban Kathiravelu, Ph.D.
 
Building Blocks of Mayan: Componentizing the eScience Workflows Through Softw...
Building Blocks of Mayan: Componentizing the eScience Workflows Through Softw...
Pradeeban Kathiravelu, Ph.D.
 
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 ...
Pradeeban Kathiravelu, Ph.D.
 
Data Services with Bindaas: RESTful Interfaces for Diverse Data Sources
Data Services with Bindaas: RESTful Interfaces for Diverse Data Sources
Pradeeban 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. degree
Pradeeban 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...
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...
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...
Pradeeban Kathiravelu, Ph.D.
 
Moving bits with a fleet of shared virtual routers
Moving bits with a fleet of shared virtual routers
Pradeeban 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...
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...
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...
Pradeeban Kathiravelu, Ph.D.
 
Software-Defined Inter-Cloud Composition of Big Services
Software-Defined Inter-Cloud Composition of Big Services
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...
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...
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...
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...
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...
Pradeeban Kathiravelu, Ph.D.
 
Building Blocks of Mayan: Componentizing the eScience Workflows Through Softw...
Building Blocks of Mayan: Componentizing the eScience Workflows Through Softw...
Pradeeban Kathiravelu, Ph.D.
 
Ad

Recently uploaded (20)

Curietech AI in action - Accelerate MuleSoft development
Curietech AI in action - Accelerate MuleSoft development
shyamraj55
 
GenAI Opportunities and Challenges - Where 370 Enterprises Are Focusing Now.pdf
GenAI Opportunities and Challenges - Where 370 Enterprises Are Focusing Now.pdf
Priyanka Aash
 
You are not excused! How to avoid security blind spots on the way to production
You are not excused! How to avoid security blind spots on the way to production
Michele Leroux Bustamante
 
Securing AI - There Is No Try, Only Do!.pdf
Securing AI - There Is No Try, Only Do!.pdf
Priyanka Aash
 
Raman Bhaumik - Passionate Tech Enthusiast
Raman Bhaumik - Passionate Tech Enthusiast
Raman Bhaumik
 
Python Conference Singapore - 19 Jun 2025
Python Conference Singapore - 19 Jun 2025
ninefyi
 
"Database isolation: how we deal with hundreds of direct connections to the d...
"Database isolation: how we deal with hundreds of direct connections to the d...
Fwdays
 
2025_06_18 - OpenMetadata Community Meeting.pdf
2025_06_18 - OpenMetadata Community Meeting.pdf
OpenMetadata
 
FIDO Seminar: Perspectives on Passkeys & Consumer Adoption.pptx
FIDO Seminar: Perspectives on Passkeys & Consumer Adoption.pptx
FIDO Alliance
 
The Future of AI Agent Development Trends to Watch.pptx
The Future of AI Agent Development Trends to Watch.pptx
Lisa ward
 
Security Tips for Enterprise Azure Solutions
Security Tips for Enterprise Azure Solutions
Michele Leroux Bustamante
 
Cluster-Based Multi-Objective Metamorphic Test Case Pair Selection for Deep N...
Cluster-Based Multi-Objective Metamorphic Test Case Pair Selection for Deep N...
janeliewang985
 
Information Security Response Team Nepal_npCERT_Vice_President_Sudan_Jha.pdf
Information Security Response Team Nepal_npCERT_Vice_President_Sudan_Jha.pdf
ICT Frame Magazine Pvt. Ltd.
 
Powering Multi-Page Web Applications Using Flow Apps and FME Data Streaming
Powering Multi-Page Web Applications Using Flow Apps and FME Data Streaming
Safe Software
 
War_And_Cyber_3_Years_Of_Struggle_And_Lessons_For_Global_Security.pdf
War_And_Cyber_3_Years_Of_Struggle_And_Lessons_For_Global_Security.pdf
biswajitbanerjee38
 
PyCon SG 25 - Firecracker Made Easy with Python.pdf
PyCon SG 25 - Firecracker Made Easy with Python.pdf
Muhammad Yuga Nugraha
 
The Future of Technology: 2025-2125 by Saikat Basu.pdf
The Future of Technology: 2025-2125 by Saikat Basu.pdf
Saikat Basu
 
Connecting Data and Intelligence: The Role of FME in Machine Learning
Connecting Data and Intelligence: The Role of FME in Machine Learning
Safe Software
 
Techniques for Automatic Device Identification and Network Assignment.pdf
Techniques for Automatic Device Identification and Network Assignment.pdf
Priyanka Aash
 
AI VIDEO MAGAZINE - June 2025 - r/aivideo
AI VIDEO MAGAZINE - June 2025 - r/aivideo
1pcity Studios, Inc
 
Curietech AI in action - Accelerate MuleSoft development
Curietech AI in action - Accelerate MuleSoft development
shyamraj55
 
GenAI Opportunities and Challenges - Where 370 Enterprises Are Focusing Now.pdf
GenAI Opportunities and Challenges - Where 370 Enterprises Are Focusing Now.pdf
Priyanka Aash
 
You are not excused! How to avoid security blind spots on the way to production
You are not excused! How to avoid security blind spots on the way to production
Michele Leroux Bustamante
 
Securing AI - There Is No Try, Only Do!.pdf
Securing AI - There Is No Try, Only Do!.pdf
Priyanka Aash
 
Raman Bhaumik - Passionate Tech Enthusiast
Raman Bhaumik - Passionate Tech Enthusiast
Raman Bhaumik
 
Python Conference Singapore - 19 Jun 2025
Python Conference Singapore - 19 Jun 2025
ninefyi
 
"Database isolation: how we deal with hundreds of direct connections to the d...
"Database isolation: how we deal with hundreds of direct connections to the d...
Fwdays
 
2025_06_18 - OpenMetadata Community Meeting.pdf
2025_06_18 - OpenMetadata Community Meeting.pdf
OpenMetadata
 
FIDO Seminar: Perspectives on Passkeys & Consumer Adoption.pptx
FIDO Seminar: Perspectives on Passkeys & Consumer Adoption.pptx
FIDO Alliance
 
The Future of AI Agent Development Trends to Watch.pptx
The Future of AI Agent Development Trends to Watch.pptx
Lisa ward
 
Security Tips for Enterprise Azure Solutions
Security Tips for Enterprise Azure Solutions
Michele Leroux Bustamante
 
Cluster-Based Multi-Objective Metamorphic Test Case Pair Selection for Deep N...
Cluster-Based Multi-Objective Metamorphic Test Case Pair Selection for Deep N...
janeliewang985
 
Information Security Response Team Nepal_npCERT_Vice_President_Sudan_Jha.pdf
Information Security Response Team Nepal_npCERT_Vice_President_Sudan_Jha.pdf
ICT Frame Magazine Pvt. Ltd.
 
Powering Multi-Page Web Applications Using Flow Apps and FME Data Streaming
Powering Multi-Page Web Applications Using Flow Apps and FME Data Streaming
Safe Software
 
War_And_Cyber_3_Years_Of_Struggle_And_Lessons_For_Global_Security.pdf
War_And_Cyber_3_Years_Of_Struggle_And_Lessons_For_Global_Security.pdf
biswajitbanerjee38
 
PyCon SG 25 - Firecracker Made Easy with Python.pdf
PyCon SG 25 - Firecracker Made Easy with Python.pdf
Muhammad Yuga Nugraha
 
The Future of Technology: 2025-2125 by Saikat Basu.pdf
The Future of Technology: 2025-2125 by Saikat Basu.pdf
Saikat Basu
 
Connecting Data and Intelligence: The Role of FME in Machine Learning
Connecting Data and Intelligence: The Role of FME in Machine Learning
Safe Software
 
Techniques for Automatic Device Identification and Network Assignment.pdf
Techniques for Automatic Device Identification and Network Assignment.pdf
Priyanka Aash
 
AI VIDEO MAGAZINE - June 2025 - r/aivideo
AI VIDEO MAGAZINE - June 2025 - r/aivideo
1pcity Studios, Inc
 
Ad

An Introduction to Google Summer of Code 2015

  • 1. Summer of CodeSummer of Code 20152015 PradeebanPradeeban KathiraveluKathiravelu INESC-ID LisboaINESC-ID Lisboa
  • 2. 2 Google Summer of Code (GSoC) ➢ 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.
  • 5. 5 Your interest..  Not everyone gets a chance to live.. .. a second life ..
  • 6. 6 3 Milestones3 Milestones ➢ Getting Accepted.Getting Accepted. ➢ Mid-Evaluations.Mid-Evaluations. ➢ Final Evaluations.Final Evaluations. ➢ A certificate, an awesome t-shirt, and gifts!A certificate, an awesome t-shirt, and gifts! ➢ {500, 2250, 2750} USD.{500, 2250, 2750} USD. Background Image: http://blog.echoenduring.com/2010/11/23/learning-about-design-from-angry-birds/
  • 7. 7 Some statistics of 2014  190 Organizations.  Accepted  Around 30% acceptance.  1173 students/projects  73 countries.  Age: 18 – 57.  Success Rate  Pretty High!  Around 85 – 90%.
  • 9. 9 Timeline (2015)  Oct 6th (2014): Program Announced.  Feb 9th – March 20th : Organizations apply.  March 2nd : List of Accepted Organizations.  March 2nd – 16th : Students discussing project ideas.  March 16th – March 27th : Students application period.
  • 10. 10 Timeline.. After getting accepted  April 27th : Accepted Students announced. – Community Bonding Period Begins.  May 25th : Coding Begins.  June 26th – July 3rd : Mid Evaluations.  Aug 17th : Suggested Pencils Down. – Tests, Documentation improvements, etc.
  • 11. 11 Timeline.. Concluding  Aug 22nd : Firm Pencils Down. – Stop Work!  Aug 28th : Final Evaluation Deadline.  Begin code submission to Google.  Aug 31st : Final Results
  • 13. 13 Before you begin..  Google Summer of Code is all about contributing to Open Source.  Get your basics and motives right.  Netiquettes.  Sign up to the lists.  Join the relevant channel.
  • 14. 14 Technologies..  Version Control Systems – SVN, CVS, GIT, Mercurial, ..  Build Tools – Ant, Maven, ..  IDEs (Integrated Development Environments) – IntelliJ IDEA, Eclipse, .. – Microsoft Visual Studio, Anjuta, ..  Issue Tracker – Bugzilla, Jira, Trac, ..
  • 15. 15  Mailing Lists – Dev, User, Commit lists, sub-groups, ..  Internet Relay Chat (IRC)  Issue Tracker  Forums and wiki  Blogs  Skype, Personal Mails, Hangouts, conference calls, .. [with the mentors, if that is preferred.] Communicating with the team.. and the mentor, over the Internet
  • 16. 16 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
  • 17. 17 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”.
  • 18. 18 Mailing lists  Post only to the relevant list.  Check the mail archives first.  Avoid HTML mails.  No [URGENT]/[IMPORTANT] tags.  No unnecessary attachments.  No Cross Posting.  Don't hijack threads.  Don't post off-topic.
  • 19. 19 IRC Etiquettes  Be an observer first.  Refer to others using their irc nick.  Don't expect immediate replies; wait.  Don't post bulk of text into irc. – Post error logs to http://pastebin.com/ or http://paste.ubuntu.com/ and share the url instead.
  • 20. 20 Find a mentoring organization..  Have a look at the list of organizations of 2014 (and 2013, 2012, ..).  New Organizations.  Google (Google Open Source Programs Office) as the mentoring organization.
  • 21. 21 Find THE right project..  Go through the organizations' projects list.  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)
  • 22. 22 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?
  • 23. 23 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!
  • 24. 24 Experience  Language – Java, 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.
  • 25. 25 Opportunities..  Project that matches your previous work experience.  Choose the right project.  Timezone Difference – Use it effectively – e.g., For Sri Lanka,GMT + 0530.  Multiple Applications (5!)  Preferences!
  • 26. 26 Shout!  Communicate early.  Communicate often.  Ask questions.  Most importantly, Answer others' questions!  Mentor is your friend! (respect)
  • 27. 27 Be Known..  Be heard!  Be visible!  Be responsive!  Be quick!
  • 28. 28 Apply  Register as a student for GSoC.  Use the project's wiki for draft proposal – if applicable.  Apply on Google's melange. – Can edit later, till the last minute! – Get the mentors' opinions and improve.  Check often for the mentors' comments – attend to them.
  • 29. 29 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.
  • 30. 30 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.
  • 31. 31 Propose..  Timeline – Finer details. – Break upto periods of 3 - 4 days. – Testing takes time. – Don't be over-optimistic. – Some organizations require considerable work hrs/week (40 ?).  Links – References and additional details.
  • 32. 32 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.
  • 33. 33 • 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.
  • 34. 34  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:
  • 35. 35 After the submission..  Don't go invisible! – Evaluation is still going on.. ;)  You may be asked to provide – additional information. • Patches. • Screenshots.  Start coding on your project. – only if you didn't apply for multiple projects.  Be motivated.
  • 36. 36 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.
  • 37. 37 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.
  • 38. 38 Coding.. Easiest task of all.. ;)  Commit often, if given committership. – Send daily patches otherwise. – Meaningful Commit messages.  Get feedback from the mentor(s).  Keep the community updated – Daily (?).  Plan for the mid and final evaluations early, with the mentor.
  • 39. 39 Conclude/Continue..  Pencils Down Date  Firm Pencils Down Date – GSoC Coding ends here.  Get a tarball of all the diff files to submit to Google.  Focus on becoming a committer – if not already given committership.  Keep contributing.
  • 40. 40 What else?  More FOSS?  Annual?  Stipend?  Student?  Country/Location?
  • 41. 41 More Open Source programs/contests..  OpenOffice.org Internship  Ubiquiti RouterStation UI/Firmware  Wesnoth Summer Art Scholarship  Umit Summer of Code (USoC)  Season of KDE (SoK)  The OpenMRS Internship Program (OIP)  Joomla! Student Outreach Program  Ruby Summer of Code  Fedora Summer Coding – http://fedoraproject.org/wiki/Summer_Coding_2010 – https://fedoraproject.org/wiki/Summer_coding_ideas_for_2011
  • 42. 42 Some links.. ;)  GSoC 2015 home page  GSoC Student Guide  Google Open Source Blog on GSoC  Proposals [Pradeeban] -  GSoC 2014 Emory BMI  GSoC 2010 OMII-UK/OGSA-DAI  GSoC 2009 AbiWord
  • 43. 43 Are you ready?  Have a look at the successful projects. – Proposals available online - Wikis, blogs, ..  Apache Software Foundation – More slots and more choices. • Tomcat, Derby, Axis2, and more ..  Join the projects' mailing lists and IRC. – For Example,  Apache CXF - http://cxf.apache.org/mailing-lists.html
  • 44. 44 For more Information ..  Join your local GSoC Google Group – For e.g., Group for Sri Lankan students: http://groups.google.com/group/gsoc-srilanka  Local GSoC IRC channel – For e.g., Sri Lanka - #gsoc-lk at irc.freenode.net.  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.
  • 46. 46 Wish you all the best..Wish you all the best..