Tips for Getting Started with Open Source Software Development
1. !
Tips for GSoC
Yask Srivastava
GSoC’15-Python Software Foundation
iyask.me
IRC: yask on irc.freenode.net
2. About me
• Creator of InstantMusic.
• InstantMusic trended at #1 spot on HackerNews and received over 900 stars
on Github.
• Google Summer Of Code'15 , Python Software Foundation.
• Season of KDE' 15
• Open source advocate, contributed to various organisations such as Mozilla,
KDE, Moin Moin Wiki Engine.
• Co-Founder of JEEQuery, a QnA web app that helps students prepare for IIT-
JEE.
• Worked @Routofy, @Grofers, @Zomato. Will be interning @Flipkart this summer.
3. I often compare open source to science. To where
science took this whole notion of developing ideas in the
open and improving on other peoples' ideas and making
it into what science is today and the incredible advances
that we have had. And I compare that to witchcraft and
alchemy, where openness was something you didn't do.
—-Linus Torvalds
4. What is Open Source ?
Open source software is software whose source code is available for modification or enhancement by anyone.
"Source code" is the part of software that most computer users don't ever see; it's the code computer programmers
can manipulate to change how a piece of software—a "program" or "application"—works.
5. But, what in the world is open-source? It’s a question most of us foster for quite a few of our initial months here.
If you haven’t heard of Open Source software …, wait that can’t be, you must have heard and probably used Software with
it’s roots in open source. Firefox, Android, Chrome, LibreOffice, VLC all these giants are open source or derivative of wildly
popular open source software.
Free and Open source software is software, for which the source
code or “recipe” is freely available. This means that anyone can
download it, modify it and share it!
But fret not! The saga has just begun!
The world of open-source brings with it not only free, accessible, modifiable code, but a community of developers, a whole
host of coding styles, and people from around the globe who work together to improve software and code as a community.
14. Where do I find
projects?
!
https://openhatch.org
https://github.com/explore http://sourceforge.net/p/forge/helpwanted/ http://teachingopensource.org/ https:/
16. “Steps”
!
#1 Seek/Find/Reach out
notice itch
find code (eyeball community)
!
Do your thing
fork, clone
poke around code (grep, code, etc) commit, push (to your version)
!
Send back your work
pull-request (comment/email)
17. Well known projects have:
serious,
dedicated,
committed,
professional
people working on them.
20. • http://scikit-learn.org/stable/about.html
• Your proposal should show that you've done your research. For example,
this is my proposal for PSF: (Show the website)
• Here's another proposal by a friend: https://github.com/sympy/sympy/wiki/
GSoC-2014-Application-Sushant-Hiray:-Extending-Elementary-Functions-
CSymPy
21. • All of these have a clear cut proposal with links to
existing code and an understanding of what steps
should be taken.
• Idea of a "proposed timeline" or "schedule of
deliverables" section (PSF proposals have to use a
template, and this is one of the sections). This lets
you understand the project in depth, and also gives
you a chance to show off what you know about it. If
your org doesn't have a template for you to use, I
highly suggest you include such a section, and
spend time on it.
23. Developers love it when
you talk about the stuff
they have written
They are not annoyed by your questions.
24. Contribute as much as
you can
To the particular organisation you are interested in, which
is going to take part in GSoC
25. How FOSS is different
(Stable/Working) > (your ego)
!
Expect to get Rejection
but playful, friendly, caring rejection.
Aspiring to Concensus-Based Perfection (rather than minimum viable
product)
26. Learn to take "feedback"
(ie criticism)
Accepting criticism is actually a skill. YOU ARE NOT YOUR CODE.
Development is a continuum.
28. DON’T GET
DISHEARTENED
All mistakes will eventually be washed clean by time and entropy.
Nobody cares how many times you fall down, ONE fewer than the times you get up all that matters