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
LeanIn IGDTUW
By Saransh Chopra
LeanIn IGDTUW
- 47