Upgrade to Pro — share decks privately, control downloads, hide ads and more …

What's the fuss about the Open Source?

Sponsored · SiteGround - Reliable hosting with speed, security, and support you can count on. →
Sushant Hiray
September 23, 2014

What's the fuss about the Open Source?

Introduction to Open Source and GSoC

Sushant Hiray

September 23, 2014

Transcript

27 slides
  1. O P E N S O U R C E

    W H A T ’ S T H E F U S S A B O U T - Sushant Hiray
  2. E R R M W H AT ? O P

    E N S O U R C E
  3. • O P E N A S I N F

    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
  4. W H Y O P E N S O U

    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
  5. P H I L O S O P H Y

    B E H I N D G S O C Why does Google hold it every year?
  6. L O N G T E R M B E

    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
  7. S H O R T T E R M B

    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
  8. T H E O B V I O U S

    B E N E F I T S • 5500 USD (Quite a huge sum!) • T Shirt and other freebies • Resume point • Bragging Rights
  9. F U N , E X P E R I

    E N C E A N D C O N TA C T S M O N E Y, FA M E A N D R E S P E C T <
  10. T H E M O R E I M P

    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
  11. M Y E X P E R I E N

    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
  12. T I P S F O R F U T

    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
  13. G E T T I N G S TA R

    T E D W I T H O P E N S O U R C E
  14. C H O O S I N G A L

    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.
  15. F I N D I N G E A S

    Y T O F I X B U G S There are 2 ways to start filtering bugs: • Fixing random bugs • Choosing a project and diving deep!
  16. F I N D I N G E A S

    Y T O F I X B U G S OpenHatch is primarily for beginners and filters bugs wrt language and projects. I started searching for bugs using openhatch.
  17. C A U T I O N It might be

    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.
  18. B U G F O U N D . W

    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.
  19. K N O W Y O U R T O

    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
  20. N E X T S T E P S •

    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
  21. N E X T S T E P S •

    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+

More Decks by Sushant Hiray

Other Decks in Programming