$30 off During Our Annual Pro Sale. View Details »

'ProTalking' your way into Open Source

'ProTalking' your way into Open Source

So, you want to join the open source party, but you're not used to every man and his dog looking at your code. You keep putting it off, you don't know anyone involved in the project, you might be a burden...
If you want to get involved but keep talking yourself out of it, let me show you how to take that first step. I'll cover the mechanics of contributing, from saying hello and installing the project to selecting a bug, your first pull request and code review.
I recently joined my first open source project - ProTalk. Come along and let me ProTalk you into Open Source.

Michelle Sanver

March 21, 2013
Tweet

More Decks by Michelle Sanver

Other Decks in Programming

Transcript

  1. ‘ProTalking’ Your way into Open Source @ircgeekie

  2. Michelle Sanver A code-passionate colourful geek. @ircgeekie

  3. None
  4. None
  5. Who are you? @ircgeekie

  6. @ircgeekie Contribute to my talk

  7. “The promise of open source is better quality, higher reliability,

    more flexibility, lower cost, and an end to predatory vendor lock-in.” - opensource.org @ircgeekie
  8. Better Quality @ircgeekie

  9. Higher Reliability @ircgeekie

  10. More Flexibility @ircgeekie

  11. Lower Cost @ircgeekie

  12. End to predatory vendor lock-in @ircgeekie

  13. Convinced Yet? @ircgeekie

  14. Contributing to Open Source In 10 steps @ircgeekie

  15. Step 1: Choose The Project @ircgeekie

  16. Step 1: Choose The Project Be phpassionate about it @ircgeekie

    Lineke’s
  17. Step 1: Choose The Project (ab)use github! @ircgeekie

  18. Step 1: Choose The Project Search! :) @ircgeekie

  19. Step 1: Choose The Project What are your ‘friends’ doing?

    @ircgeekie
  20. None
  21. Step 1: Choose The Project Activity @ircgeekie

  22. Step 1: Choose The Project Check the commit history @ircgeekie

  23. Step 1: Choose The Project Your Skills @ircgeekie

  24. @ircgeekie

  25. Step 1: Choose The Project Erm... License? @ircgeekie

  26. Questions and Pointers @ircgeekie Step 1: Choose The Project

  27. Step 2: Install The Project @ircgeekie

  28. Step 2: Install The Project Fork It @ircgeekie

  29. @ircgeekie

  30. @ircgeekie

  31. Step 2: Install The Project Clone It @ircgeekie

  32. @ircgeekie

  33. @ircgeekie

  34. Step 2: Install The Project Using vagrant @ircgeekie

  35. Step 2: Install The Project @ircgeekie Ruby, Vagrant, Oracle VirtualBox

  36. Step 2: Install The Project @ircgeekie $ vagrant up

  37. Step 2: Install The Project Manually @ircgeekie

  38. Step 2: Install The Project • Fork the protalk repository

    • Use git clone to get your fork on your local machine • Run ant - this will install all dependencies, clear the cache and run tests @ircgeekie
  39. Step 2: Install The Project • Make sure the app/cache

    and app/logs directories are writable by the webserver • Create the database and change the parameters.ini in app/config to set the database connection details • Run the command "app/console doctrine:schema:create" to create the database tables @ircgeekie
  40. Step 2: Install The Project • Import the doc/db/seed_data.sql in

    your database for initial data • Creating a admin user for the backend can be done by running this command: "app/ console fos:user:create adminadmin@example.com password -- super-admin @ircgeekie
  41. Do you like vagrant now? @ircgeekie

  42. Step 2: Install The Project @ircgeekie Questions and Pointers

  43. Step 3: Investigation @ircgeekie

  44. Step 3: Investigation Codebase @ircgeekie

  45. Step 3: Investigation Coding guidelines @ircgeekie

  46. Step 3: Investigation Tests? @ircgeekie

  47. Step 3: Investigation @ircgeekie Questions and Pointers

  48. Step 4: Hiiiiiii!!! :-) @ircgeekie

  49. Step 4: Hiiiiiii!!! :-) Where art thou? @ircgeekie

  50. Step 4: Hiiiiiii!!! :-) IRC I’m geekie @ircgeekie

  51. Step 4: Hiiiiiii!!! :-) Contact them @ircgeekie

  52. Step 4: Hiiiiiii!!! :-) Observe the responses (Should I stay,

    or should I go?) @ircgeekie
  53. Step 4: Hiiiiiii!!! :-) @ircgeekie Questions and Pointers

  54. Step 5: What can I do? @ircgeekie

  55. Step 5: What can I do? It’s not your project.

    (But nothing stops you from branching...) @ircgeekie
  56. Step 5: What can I do? The github issuetracker @ircgeekie

  57. @ircgeekie

  58. Step 5: What can I do? Pick an issue @ircgeekie

  59. @ircgeekie

  60. Step 5: What can I do? Create an issue @ircgeekie

  61. @ircgeekie

  62. @ircgeekie

  63. Step 5: What can I do? Communicate! In open source

    - Communication is key @ircgeekie
  64. Step 5: What can I do? @ircgeekie Questions and Pointers

  65. Step 6: How... ? @ircgeekie

  66. Step 6: How... ? Read The Guidelines @ircgeekie

  67. Step 6: How... ? It’s “just” code. @ircgeekie

  68. Step 6: How... ? If that scares you... @ircgeekie

  69. Step 6: How... ? It’s private, for now. (If you

    want it to be) @ircgeekie
  70. Step 6: How... ? Ask questions... @ircgeekie

  71. Step 6: How... ? @ircgeekie Questions and Pointers

  72. Step 7: Just do it @ircgeekie

  73. Step 7: Just do it Keep yourself updated @ircgeekie

  74. Step 7: Just do it @ircgeekie $ git remote add

    upstream https://github.com/protalk/pro $ git fetch upstream $ git merge upstream/master
  75. Step 7: Just do it Make your changes (You know

    how to code, right?) @ircgeekie
  76. Step 7: Just do it Commit often $ git commit

    -m 'Michelle will be pleased <3' @ircgeekie
  77. Step 7: Just do it @ircgeekie Questions and Pointers

  78. Step 8: Push it (Just push it push it) @ircgeekie

  79. Step 8: Push it (Push it real good) @ircgeekie $

    git push
  80. Step 8: Push it (Push it real good) @ircgeekie Questions

    and Pointers
  81. Step 9: The pull request @ircgeekie

  82. Step 9: The pull request Time to show the world

    (Except those poor sods without Internet) @ircgeekie
  83. Step 9: The pull request Don’t worry (Be happy) @ircgeekie

  84. Step 9: The pull request It’s just a button (And

    a form...) @ircgeekie
  85. @ircgeekie

  86. @ircgeekie

  87. Step 9: The pull request Linking to the issuetracker #1337

    @ircgeekie
  88. Step 9: The pull request @ircgeekie Questions and Pointers

  89. Step 10: Code Review @ircgeekie

  90. Step 10: Code Review It’s constructive criticism @ircgeekie

  91. Step 10: Code Review Correct or discuss @ircgeekie

  92. Step 10: Code Review You learn so much! @ircgeekie

  93. Step 10: Code Review And if there’s trolls... @ircgeekie

  94. @ircgeekie Step 10: Code Review Trolls can be cute too!

  95. @ircgeekie Step 10: Code Review Questions and Pointers

  96. @ircgeekie You did it...

  97. General Questions? @ircgeekie

  98. Thank you! :) Git: http://gitimmersion.com/ Licenses: http://www.tldrlegal.com/ @ircgeekie