Let's Contribute

748 views

Published on

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

Published in: Software, Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
748
On SlideShare
0
From Embeds
0
Number of Embeds
111
Actions
Shares
0
Downloads
5
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Let's Contribute

  1. 1. Let's Contribute ANOOP THOMAS MATHEW @atmb4u CTO @ Profoundis Labs (one day workshop) FOSSMeet 2014 NIT, Calicut
  2. 2. ➢Who Am I ➢Quick Hands Up! ➢ project contributors ? ➢ git users ? ➢ coders – python/C/C++/javascript/java ? Welcome!
  3. 3. Contributing to Community we need to be producers; not just consumers!
  4. 4. Group of 5
  5. 5. Contribution Options Documentation
  6. 6. Contribution Options Bug Reports
  7. 7. Contribution Options Review
  8. 8. Contribution Options Feature Requests
  9. 9. Contribution Options Feature Requests
  10. 10. Contribution Options Development
  11. 11. Contribution Options Project Design
  12. 12. Contribution Options Release Management
  13. 13. Contribution Options Maintaining
  14. 14. Contribution Options Testing
  15. 15. Contribution Options Tutorials and Code Samples
  16. 16. Contribution Options Translations
  17. 17. philosophical methodologies of open source We are gonna play a GAME !
  18. 18. philosophical methodologies of open source no more boring! We are gonna play a GAME !
  19. 19. we'll create a calculator
  20. 20. Rules ●Name your Team
  21. 21. Rules ●Create personal github account.
  22. 22. Rules ●Choose your comfortable language
  23. 23. Rules ●Learn git
  24. 24. Rules ●Document everything you write
  25. 25. Rules ●write Tests for everything you write
  26. 26. Rules ●Each one of you should be involved
  27. 27. Rules ●Commit each change
  28. 28. Rules ●push to the repo allocated to you
  29. 29. Rules ●It must be extensible else might have to redo it!
  30. 30. Rules ●one task will be given every 15 mins
  31. 31. Learn some git try.github.io Quick Reference git init git status git add <filename> git commit -m “Message” git remote add origin <url> git remote -v git push origin master git pull origin master git merge git rm <filename>
  32. 32. SimpleCalculator Add Subtract Divide Multiply Task #1
  33. 33. SimpleCalculator Add Subtract Divide Multiply Review #1 Documented? Test cases added? Committed? Pushed? Who is idle in team?
  34. 34. ➢log ➢pow(x,y) ➢mod Task #2
  35. 35. ●Coding Style – GNU C/ Python PEP8 ●Testing Frameworks ●Tickets/Issues/Bugs INTERMISSION
  36. 36. ➢sin ➢cos ➢undo feature Task #3
  37. 37. ➢tan ➢add History to the calcuator Task #4
  38. 38. Conversion ➢hex ➢binary ➢decimal Task #5
  39. 39. Polynomial Solver x2 +x+1 = 0 Task #6
  40. 40. ➢Polynomial Solver ➢ any second degree polynomial ➢Expression Evaluator ➢Paranthesis Task #7
  41. 41. ➢Polynomial Solver ➢ Any nth degree polynomial Task #8
  42. 42. Good News EveryOne! Let's review some code
  43. 43. AskMeAnything Break
  44. 44. Development Process ➢ pick any open source project ➢ pick one which you use or want to use ➢ any of it you find interesting
  45. 45. Development Process ➢ clone code ➢ find location from the website ➢ use git or other version control system
  46. 46. Development Process ➢ install it from source code
  47. 47. Development Process ➢ get it running; use it ➢ Might need some external libraries. ➢ Look at README, INSTALL or Installation Guide
  48. 48. Development Process ➢ translate project to mother tongue transifex.com
  49. 49. Development Process ➢ read documentation
  50. 50. Development Process ➢ write documentation
  51. 51. Development Process ➢ write tests
  52. 52. Development Process ➢ browse bug tracker/issues/tickets
  53. 53. Development Process ➢ subscribe to mailing list; chat over IRC
  54. 54. Development Process ➢ discuss with the community
  55. 55. Development Process ➢ find priorities for the community; talk.
  56. 56. Development Process ➢ find tickets to work on tickets tagged: 'low hanging fruit', 'easy pickings'
  57. 57. Development Process Let's make the world a better place!
  58. 58. https://leanpub.com/opensourcebook/ A Code Explorer's Guide to Open Source Jungle
  59. 59. reach me at 999 53 44 675 @atmb4u atm@profoundis.com
  60. 60. 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
  61. 61. Thank You @atmb4u Feedback @ bit.do/quickfeedback

×