let's contribute

Download Let's Contribute

Post on 08-Sep-2014




3 download

Embed Size (px)


Contribute to Opensource - A tutorial on what to do and how to do for beginners.


  • Let's Contribute ANOOP THOMAS MATHEW @atmb4u CTO @ Profoundis Labs (one day workshop) FOSSMeet 2014 NIT, Calicut
  • Who Am I Quick Hands Up! project contributors ? git users ? coders python/C/C++/javascript/java ? Welcome!
  • Contributing to Community we need to be producers; not just consumers!
  • Group of 5
  • Contribution Options Documentation
  • Contribution Options Bug Reports
  • Contribution Options Review
  • Contribution Options Feature Requests
  • Contribution Options Feature Requests
  • Contribution Options Development
  • Contribution Options Project Design
  • Contribution Options Release Management
  • Contribution Options Maintaining
  • Contribution Options Testing
  • Contribution Options Tutorials and Code Samples
  • Contribution Options Translations
  • philosophical methodologies of open source We are gonna play a GAME !
  • philosophical methodologies of open source no more boring! We are gonna play a GAME !
  • we'll create a calculator
  • Rules Name your Team
  • Rules Create personal github account.
  • Rules Choose your comfortable language
  • Rules Learn git
  • Rules Document everything you write
  • Rules write Tests for everything you write
  • Rules Each one of you should be involved
  • Rules Commit each change
  • Rules push to the repo allocated to you
  • Rules It must be extensible else might have to redo it!
  • Rules one task will be given every 15 mins
  • Learn some git try.github.io Quick Reference git init git status git add git commit -m Message git remote add origin git remote -v git push origin master git pull origin master git merge git rm
  • SimpleCalculator Add Subtract Divide Multiply Task #1
  • SimpleCalculator Add Subtract Divide Multiply Review #1 Documented? Test cases added? Committed? Pushed? Who is idle in team?
  • log pow(x,y) mod Task #2
  • Coding Style GNU C/ Python PEP8 Testing Frameworks Tickets/Issues/Bugs INTERMISSION
  • sin cos undo feature Task #3
  • tan add History to the calcuator Task #4
  • Conversion hex binary decimal Task #5
  • Polynomial Solver x2 +x+1 = 0 Task #6
  • Polynomial Solver any second degree polynomial Expression Evaluator Paranthesis Task #7
  • Polynomial Solver Any nth degree polynomial Task #8
  • Good News EveryOne! Let's review some code
  • AskMeAnything Break
  • Development Process pick any open source project pick one which you use or want to use any of it you find interesting
  • Development Process clone code find location from the website use git or other version control system
  • Development Process install it from source code
  • Development Process get it running; use it Might need some external libraries. Look at README, INSTALL or Installation Guide
  • Development Process translate project to mother tongue transifex.com
  • Development Process read documentation
  • Development Process write documentation
  • Development Process write tests
  • Development Process browse bug tracker/issues/tickets
  • Development Process subscribe to mailing list; chat over IRC
  • Development Process discuss with the community
  • Development Process find priorities for the community; talk.
  • Development Process find tickets to work on tickets tagged: 'low hanging fruit', 'easy pickings'
  • Development Process Let's make the world a better place!
  • https://leanpub.com/opensourcebook/ A Code Explorer's Guide to Open Source Jungle
  • reach me at 999 53 44 675 @atmb4u atm@profoundis.com
  • This is the end. or is this the begining? Your Choice ! Ideas talk to people group on every week use time more effectively find opportunities to contribute let other's see your code
  • Thank You @atmb4u Feedback @ bit.do/quickfeedback