R E E • O P E N A S I N A C C E S S • O P E N A S I N N O T C L O S E D • O P E N A S I N R E U S E A N D C H A N G E • O P E N A S I N A N Y P L A C E A N D F O R A N Y O N E O P E N S O U R C E P H I L O S O P H Y
R C E S O F T WA R E ? • Availability of source code • No re-inventing of wheel • Quality is perhaps better • Costs less/free as compared to proprietary counterparts • Anyone can fix bugs and adapt accordingly
N E F I T S • Increasing Open Source participation among students • Help open source software projects in finding interested and capable developers • Promote collaborative coding among students
E N E F I T S • Provide budding developers with exposure to industry level code • Help the selected FOSS projects to get closer to their next release • Forge relationships between various open source communities and universities
O R TA N T B E N E F I T S • Exposure to open source development • Working with projects > million lines of code • Working collaboratively with a team that is distributed globally • Working on production level code • Learning from the pro developers
C E • How a large codebase is managed • Good programming techniques • Time Management • Code Review • Improved soft skills • Working in sync according to weird timezones
U R E G S O C C E R S • Choose a project wisely (Organizations such as Mozilla, SymPy etc get a lot of applications, which means lower chance of selection) • Choose a project which matches your skills • Expected to work 20-30 hrs every week. Can vary according to the org. (SymPy expects 40 hrs! ) • Be polite and patient on mailing lists
A N G U A G E • Possibly your favourite programming language • Should’ve enough experience with the language • If you’re not sure work on a mini project. github.com/ karan/Projects has a lot of easy to complete project ideas.
possible that a bug is marked easy to fix, but it is not easily understood by a beginner. Pro Tip: Posting willingness to work on a bug almost always help. Easy-to-fix bugs/mentored bugs have a dedicated mentor who will guide you on fixing the bug.
H AT N E X T ? Post on the relevant bug about your willingness to work on it. For eg: Hi, I’m Sushant. I’m currently new here and wish to work on this bug. Can you please guide me on the next steps? You should get a reply back by the mentor explaining on setting up your system and reproducing the bug. ProTip: In case you’ve figured out something more about the bug, do mention it in your initial post.
O L S Meanwhile its good to know about these tools: • IRC (Internet Relay Chat) • Mailing Lists • Version Control Systems (git/hg/svn) • Bugzilla / Issue Tracker
An important part in fixing bugs is to be able to reproduce them. In some cases, the bug might be a programming error and need not be reproduced. • Understanding the relevant codebase. The entire project might be million lines, you just need to understand enough to be able to fix the erroneous code
Show Interest • Write a patch to fix the bug • Test the change. Possibly add unit tests to check your changes. • Get the code reviewed • Iterate till you get a r+