Fork & Fix:
The Open Source odyssey

Saransh Chopra

LeanIn @ IGDTUW

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

- Linus Torwalds

Poll time!

Tidbits about me

  • Graduated with a major in CS and Maths in July 2024
  • Was at CERN for 8 months for my thesis
  • Was at McMasterU (Mitacs) before that
  • OSS work on batteries (GSoC) and HEP (Princeton) b4
  • RSE at UCL's Centre for Advanced Research Computing
  • Likes Scientific Software, SciComp, HPC, and Type Theory (not your ML/AI, GenAI, Web(3), App - guy)
  • 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 maintainer and attend amazing meetups

  • Your code could have been on Mars, probing particles at CERN, running Tesla's cars, ... how many software devs do that?

  • You might even get funded to do open-source and travel the world (did it)

  • 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

Open-Source programs

How it works

Big org

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, questions, etc.

Single organisation

Things to remember

  • Most of these programs are literally meant for beginners, you don't have to be an expert
    Β 
  • Open-Source is 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.
    Β 
  • Programs like GSoC are 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 open-source programs.

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 tag
  • Abandon your project after the program ends
  • Be rude to OSS people

Growing with and after Open-Source programs

Every Open-Source story is unique, there is no single path
(THERE IS NO "ROADMAP")

Questions?

saransh-cpp.github.io

Made with Slides.com