Open-Source and Open-Source Programs (+GSoC)

Saransh Chopra

GTA Ghaziabad / let's fork together

In real open source, you have the right to control your own destiny.

- Linus Torwalds

Tidbits about me

  • Undergrad majoring in CS and Maths
  • Likes Python and Julia
  • Likes Open-Source Research/Scientific Software, RSE, AI4Sci, SciML, SciComp
  • Maintains a few OSS
  • Contributes to a lot of them!

Open-Source Software

A software or a project with publicly available source code.

Does this mean I can use them however I want to?

You have to respect their license, you might get to use them for free or you might have to open-source your proprietary code in order to use them. READ THE LICENSE!

Trivia time!

Project 1

A search engine used by companies like Uber, Audi, and Adobe in their applications

Project 2

The Android and iOS applications

Project 3

One of the most hated programming language?

Project 4

One of the most loved IDE?

Project 5

The dark social media website

Project 6

Are you still using chrome or have you switched to brave?

Project 7

India's Open-Source vaccination website?

Project 8

Let's be honest, we've all used this software

Project 9

WhatsApp is stealing our data?

Project 10

Google Summer of Code's *website*

Project 11

Fun fact: Linus Torwalds created Git to manage Linux

Project 12

Let's fork together?

Project 13

Wants to be like GitHub

Project 14

Used by companies like Facebook and Ubisoft

Project 15

I use it everyday

Why should you do Open-Source?

What do all of these have in common?

Python and NumPy!

Such an important project? Must have a lot of fundings and maintainers, right? 

NumPy wasn't even funded properly before 2017

Open-source needs your help

  • Most people work unpaid
  • Most people work in their free time; they work/study full-time somewhere else
  • Every maintainer will be more than happy to help you out in contributing

Why do Open-Source?

  • You get to work on a piece of code that impacts millions of users

  • You get to learn from the maintainers

  • You get to attend amazing conferences

  • Your code could have been on Mars right now (NumPy), how many software devs have their code on Mars?

  • You might even get funded to do open-source or travel the world

  • An amazing point to add to your CV, people dig Open-Source contributions

Open-Source programs

Get more people involved in the development of OSS by pairing them up with mentors and funding them initially so that they can maintain the software in the longer run

What Open-Source programs actually aim to do

What most of the YouTubers think Open-Source programs aim to do

A competition, like JEE, you can only work on OSS through these programs, pays well, looks good on CV, only GSoC, direct internship at Google, take the money, do your work, and never look back at Open-Source again

For academia - cold emails to professors who work on OSS or REU/SURF/SRIP/etc programs

Google Summer of Code

How it works

Google

Handles logistics and funds the program

Mentor(s)

You

Org admin(s)

Handles logistics for the org, can also mentor

Volunteers to mentor for a few projects, can also be an org admin

Instructions, deadlines, money, announcements, etc.

Instructions, money, selected students, etc.

Students they want to mentor

Instructions, deadlines, selected students, etc.

Apply, request slots, etc.

Mentoring, pass/fail, help, etc.

Communication, proposal (through Google), questions, etc.

Single organisation

Things to remember

  • It is literally meant for Open-Source beginners, you don't have to be an expert
     
  • Open-Source and GSoC are overwhelming at the beginning and have a steep learning curve, but you will eventually get comfortable with it
     
  • Maintainers will go out of their way to help you. Why? Because they need someone to work on the software. Always ask for help!
     
  • Mistakes are okay. Taking down the production branch once in a while is okay.
     
  • GSoC is not your ticket to a successful and happy life, nor is it a ticket to an internship/job at Google, it is just a student program.
     
  • You can, and you should contribute to open-source software outside of GSoC

Do's and Dont's

Do's

  • Research before asking questions
  • Respect others' time and space
  • Ask for help
  • Add value to the project and to Open-Source in general
  • Volunteer for OSS

Dont's

  • Ask obvious questions
  • Spam maintainers
  • Not asking for genuine help
  • Do it only for the money and the "GSoC" tag
  • Abandon your project after GSoC
  • Be rude to OSS people

Growing with and after Open-Source programs

Every Open-Source story is unique, there is no single path

Questions?

saransh-cpp.github.io

GTA Ghaziabad

By Saransh Chopra

GTA Ghaziabad

  • 144