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
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
- 192