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

Building Software Together on GitHub

03e2e7de45b193cac192ae7ea071e5ff?s=47 Arfon Smith
November 20, 2014

Building Software Together on GitHub

Slides from my presentation at the Chicago MySQL User Group Meetup on 20th November 2014

03e2e7de45b193cac192ae7ea071e5ff?s=128

Arfon Smith

November 20, 2014
Tweet

More Decks by Arfon Smith

Other Decks in Technology

Transcript

  1. Building Software Together on GitHub Arfon Smith @arfon Creative Commons

    Attribution 3.0 Unported License
  2. None
  3. None
  4. What is a GitHub?

  5. None
  6. None
  7. GitHub

  8. Starts with you

  9. You and your team

  10. Getting bootstrapped

  11. Reducing friction

  12. None
  13. None
  14. None
  15. None
  16. script/bootstrap

  17. script/server

  18. script/cibuild

  19. http://headrush.typepad.com/creating_passionate_users/2005/10/getting_users_p.html

  20. What is is like to be a new contributor?

  21. None
  22. None
  23. Better at collaborating because they have to be

  24. “open source is… reproducible by necessity” Fernando Perez http://blog.fperez.org/2013/11/an-ambitious-experiment-in-data-science.html

  25. ‘Open Source’ way of working

  26. “Open source software is software that can be freely used,

    modified, and shared (in both modified and unmodified form) by anyone. Today the concept of "open source" is often extended beyond software, to represent a philosophy of collaboration in which working materials are made available online for anyone to fork, modify, discuss, and contribute to.” https://help.github.com/articles/github-glossary#open-source
  27. None
  28. Open source collaborations Open Source vs Open Collaborations

  29. Open source collaborations Open Source: the right to modify, not

    the right to contribute.
  30. Open source collaborations Open Collaborations: a highly collaborative development process

    and are receptive to contributions of code, documentation, discussion, etc from anyone who shows competent interest.
  31. Open source collaborations Open Collaborations: a highly collaborative development process

    and are receptive to contributions of code, documentation, discussion, etc from anyone who shows competent interest. THIS
  32. What do open source collaborations do well?

  33. Expose their collaborative process

  34. How do 4000 people work together?

  35. The pull request

  36. None
  37. None
  38. None
  39. None
  40. None
  41. None
  42. None
  43. discuss improve Code first, permission later

  44. Every time this happens the community learns

  45. None
  46. None
  47. None
  48. None
  49. Merged pull requests

  50. None
  51. None
  52. (doesn’t have to mean this) Open Public? =

  53. ‘Open Source’ way of working

  54. Open (with your team, division or company)

  55. Electronic & Available

  56. Asynchronous, exposed process

  57. Lock-free

  58. Low friction collaboration

  59. You, your team and a community

  60. Why are you sharing?

  61. GitHub is about helping people build software together

  62. Three things we should all do on our projects

  63. 1. Licence.txt

  64. 2. README.md

  65. 3. script/bootstrap

  66. Thanks. arfon@github.com @arfon "