How to GSoC? By Piyush Raj INTRODUCTION What does GSoC even mean? 01

GENERIC PROCEDURE About the process, from start to end? 02

EXPERIENCE Personal tips, no-nos and more 03

CONCLUSION Where do we go from here? 04 01

GSoC

What is Summer of Code? GSoC

As per Google, “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 3 month programming project during their break from school.” We know that already. Okay how about this?

Do you know these GsOC stats?

● 15,000+ Students ● 109 Countries ● 15 Years ● 686 Open Source Organizations (Including Python, , etc.) ● 36,000,000+ Lines of Code (Imagine Linux, OpenSuse, Ruby, etc.) And this?

Do you know Indian institutes proudly put their GSoC students on bulletin boards?

University # of Accepted Students

Indian Institute of Technology, Roorkee 48 International Institute of Information Technology - Hyderabad 29 Birla Institute of Technology and Science, Pilani (BITS Pilani) 27 Guru Gobind Singh Indraprastha University (GGSIPU Dwarka) 20 Indian Institute of Technology, Kanpur 19 (https://opensource.googleblog.com/2019/09/google-summer-of-code-2019-statistics.html) Simply put,

It’s a 16 week long program by Google aimed at promoting Open Source Software development among college and university students. BUT ... Why to GSoC?

Either you’re going to do it for “money and the bragging rights”, or for “Google Tag”, or for rich experience of being able to be a part of something far greater and bigger than you, these are all ideologies and if any of them works for you, it’s all good. I guess.

My friend, Satwik Kansal, wrote a nice article on this topic, aptly called, ‘What “not” to expect from Google Summer Of Code’.

And this is how we end this boring section. Yup. 02

How to get in?

How to get selected into Google Summer of Code

- The Generic Process GSoC Generic Timeline

Application Review Period takes almost a month. 16 For 2020, March 31st to April 27th.

Mid March to end of March is the Student Application Period. 31 For 2020, March 16th to 31st. A TIMELINE ALWAYS WORKS WELL

The D-day. Your future depends on The curtain closes. this date. Just kidding. For 2020, August 25th. For 2020, April 27th. 10

Community Bonding Period, and 27 then finally, 25

deadline = August 10th # 2020 while time.now() < deadline: code() and debug() and document() Your generic workflow

Get selected, enjoy the ride.

Prepare your project proposal

Choose an organisation, then chose a project. AND THAT’S A WRAP!

Or is it? 03

Experience

Personal tips, no nos, and all mighty magic spells. DO YOU KNOW GSOC IS KINDA COMPETITIVE? 1,276 students accepted from 63 countries in GSoC 2019

7,555 5,606 students from 103 countries submitted 7,555 proposals in GSoC 2019.

16.88% Selection rate. Yep.

Nothing is color coded. Relax. Piece Of Cake? DEPENDS, IT ALL BOILS DOWN TO ...

YOUR BIG BRAIN PLAN & SOLID WORK ETHIC

Which organisation you chose, what Google Summer of Code is easy if project you take, how you approach you have a planned approach, as far the maintainers/mentors. as I believe.

(Actually, not only GSoC, everything) HOW TO CHOOSE AN ORGANISATION WHAT DO YOU LIKE?

Web development? Computer Vision? Python, Ruby, Julia aficionado? AR, VR, MR? Operating Systems? hACkinG? (aka Security) Generalist? Joe’s Skillset

Python

Embedded Systems aka IoT

Data Science What org should Joe pick? List of Organisations …

Python Software Arduino Ruby # Foundation

Data Science Tensorflow R NumFOCUS

OS Haiku OpenSuse THERE ARE TWO TYPES OF ORGS

Python-SF Tensorflow

Now onto sister orgs. Goto the ideas page. - Django (not exactly) Select the project(s). - PyPa That’s it. - Scrapinghub

HIERARCHICAL ORG SINGLE ORG NOW ONTO PROJECT SELECTION ...

ORGANISATION

SISTER ORG PARENT ORG

SISTER PROJECT 1 SISTER PROJECT 2 PROJECT 1 PROJECT 2 Opening random links to understand the organisation/project and random files to understand the whole code-base. HOW TO GET AN EDGE ...

HANDS-ON COMMUNICATE Clone the projects and try to run Get in touch with the mentors & them locally. Understand the admins of the organisation. code-base. Make sure you’re active on the org’s communication channels — IRCs, slack or email threads. PROVE YOURSELF PROPOSE View open issues, select one and start working on it. Try to The project. Obviously. start with small tasks like Documentation. Keep solving issues, maybe create a few if you think they will help. HOW TO PREPARE THE PROJECT PROPOSAL

01 02 03

Basic information about you. Description and Project Goals Implementation Details. Your info, skills, development TIP: Be specific. toolkit, etc.

04 05 06*

Project Timeline. Additional relevant sections, like, PRO TIP: Include Pre GSoC TIP: The extensive, the better. Availability, Related Work, Involvements Outreach, etc. BONUS

For easing out your process, I talked to some of my friends who did GSoC and they have agreed to share their Project Proposals with me. I’ll share all those proposals along with mine over GitHub soon. Quick fact ... 9,72,000

Seconds left, until GSoC 2020 Student Application Period starts ...

Maybe it's late, or maybe not, who knows. “Software is like sex: it's better when it's free.”

—Linus Torvalds THANKS!

—0x48piraj

Do you have any more questions?

[email protected] 0x48piraj.com