Google Summer

of Code

Kasun Vithanage

About Me

  • Studied at University of Peradeniya

  • Contributor at Joomla

  • Google Summer of Code Mentor

  • Member of Mozilla Sri Lanka

  • CoFounder of SyetaLabs

  • Opensource ❤️

So what is GSoC

Google Summer of Code is a global program focused on bringing more student developers into open source software development.

 

Students work with an open source organization on a 10 week programming project during their break from school.

Goals of GSoC

  • Introduce you to Opensource development
  • Help opensource projects to bring new developers
  • Get more opensource codes written
  • Give students an opportunity to work on real world projects

2020 Statistics

1198 Students

550 Universities

3592 Mentors

How to Prepare

Can you participate?

  • 18 or older upon registration
  • Enrolled in a University program
    • Undergraduate
    • Postgraduate
  • Not accepted more than 2 times for GSoC

Selecting an organization

Figure out what you want to do

  • What are the opensource softwares you use
  • What are your interests
  • What are your hobbies
  • Your skills
  • What you want from GSoC

Checkout Previous Years

  • Go through previous GSoC organizations list
  • Find some stable GSoC organizations
    • Find your passion
    • Select the organization you would love to work with
    • Shortlist like two organizations
  • Find old GSoC projects of this community
    • Study them deeply
    • Checkout code repositories
    • Go through documentations
  • Community Interaction
    • Find out mailing lists/forums
    • Discover chatting platforms
      • Slack/Gitter/Discord/IRC

How to Communicate

  • Introduce yourself to the community
  • Get some idea about the project
    • Read documentation
    • Try to build it from the source
  • Ask questions
    • Now you may have some
    • Be humble
    • If you get any bad experience don't get discouraged
  • You will meet people all around the world
    • Do not discriminate based on religion, ethnicity etc

The organization you picked may not be selected this year !!!

But now you have some experience working with

Opensource Organizations 💪

  • After Google Announced the selected organizations for the year, go through the list
    • If your dream organization is there you can jump in
    • Or find a new one
  • When selecting an organization, look into projects as well
    • Pick an interesting project which fits you

 

Google Lists Selected Projects

and

Mentors

Contact them ASAP

  • Introduce you as a Student who likes to participate in GSoC
  • Get familiarize
  • Ask how you can help the organization
  • Clarify any concerns about the project
  • Make sure to be humble 

Project Proposal

Writing a Quality Proposal

About yourself

  • Contact Details
    • Name
    • Title
    • Email Address/IRC nickname/websites
  • Include a bio
    • Your education
    • Passions
    • Any experience etc.
  • Mention your contributions
    • Some organizations have prerequisites before the proposal
    • Include Pull Request links etc.
  • Include a Synopsis
    • Give a short summary about the project(do not copy-paste)
  • Benefits to Community
  • Deliverables
    • Breakdown your tasks with milestones and deadlines
      • Promise less, Do more
    • Include about
      • Investigation
      • Development
      • Documentation
  • Related works
    • Find about similar products, compare them with your solution
  • Follow organization rules

This is a general guideline

Some organizations have project proposal templates

Follow them

  • Get constant feedback
    • From your friends
    • From lecturers
  • Submit draft proposals early
    • Mentors will give you feedback
    • It can take few days
  • Submit final PDF proposal

If your proposal contains a good solution,

there is a high chance to get selected

What If you were rejected?

  • Don't be discouraged
  • Get feedback from mentors
    • This will help you to prepare for next year
  • You can still volunteer to the community
    • GSoC is not everything
  • Stay connected
  • Try a new organization
  • Keep trying

During The Project

Community Bonding Period

  • Arrange a meeting with mentors
  • Schedule regular meetings
  • Clarify more about the project
  • Review your work plan
  • Review milestones
  • Get your development tools ready

Working on the Project

  • Review your codes with mentors
  • Attend Meetings
    • If you are unavailable, inform mentors
  • Try to finish work on time
    • If you are unavailable due to exams or any reason, inform mentors
  • Behave politely
  • Always discuss with mentors
  • Act professionally 
  • Maintain a blog(if possible)
  • Keep track of your work
  • Be prepare for unexpected things

Finishing your Project

  • Write documentation for your work
  • Make sure your codes pass all tests
  • Write some blog posts
  • Check if you have achieved your targets in the work plan
  • If your code meets the quality standards it will be merged to the codebase 🎉

Is that all???

You will get a certificate from Google

Don't forget your Payments

About payments

  • For your commitment, Google offers you some money
    • The amount depends on the region
  • This is paid in 3 stipends
    • You have to pass milestones
  • You will be prompted to set up a Payoneer account
    • Can withdraw to any reputed bank

DON'T DO GSOC ONLY FOR MONEY

  • GSoC is a good place to get familiarize with the software industry
  • You can gain experience
  • You will meet great people, learn from them
  • Understand why people do Opensource
  • Enjoy the journey

My Experience

with

Joomla!

Joomla!

  • Joomla! is a Content Management System(CMS)
  • Build websites and Online Applications
  • Flexible architecture
  • 100% Opensource
  • Driven by community
  • GSoC 2017 Student
  • Worked on New Media Manager Team
  • Became a core member after GSoC period
  • Participated NMM Codesprint in Germany
  • Became a GSoC mentor in 2018

Met my team

Mentorship

Lead Mentor

Niels Braczek

Student

Geetanshu Mathur

Conclusions

  • Community engagement
  • Introduction to the opensource world
  • Improve programming skills
  • Improve professional skills
  • Improve soft skills
  • Happiness

Reach Me Out

Thank You

Google Summer of Code Intro Session

By Kasun Vithanage

Google Summer of Code Intro Session

Introduction to google summer of code

  • 718