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

Building Software Together on GitHub

Building Software Together on GitHub

Slides from the Software Sustainability Institute's Collaboration Workshop (2014) http://www.software.ac.uk/cw14

03e2e7de45b193cac192ae7ea071e5ff?s=128

Arfon Smith

March 27, 2014
Tweet

Transcript

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

    Attribution 3.0 Unported License http://is.gd/nsfsi2
  2. What is a GitHub?

  3. None
  4. None
  5. GitHub

  6. Starts with you

  7. You and your team

  8. Getting bootstrapped

  9. Reducing friction

  10. None
  11. None
  12. None
  13. None
  14. script/bootstrap

  15. script/server

  16. script/cibuild

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

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

  19. None
  20. None
  21. Better at collaborating because they have to be

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

  23. ‘Open Source’ way of working

  24. “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
  25. None
  26. (doesn’t have to mean this) Open Public? =

  27. Open (within your team, department or institution)

  28. Electronic

  29. Available

  30. Asynchronous, exposed process

  31. Lock-free

  32. Low friction collaboration

  33. You, your team and a community

  34. Why are you sharing?

  35. GitHub is about helping people build software together

  36. The pull request

  37. None
  38. None
  39. None
  40. None
  41. Code first, permission later

  42. None
  43. None
  44. None
  45. Merged pull requests

  46. None
  47. None
  48. None
  49. None
  50. None
  51. None
  52. What’s happening today?

  53. None
  54. None
  55. None
  56. None
  57. Towards Collaborative Versioned Science

  58. “publishing a paper about code is basically just advertising” David

    Donoho http://www.stanford.edu/~vcs/Video.html
  59. Reproducibility Computational

  60. What if all research was like this?

  61. script/server script/bootstrap script/cibuild

  62. README.md == paper

  63. “Academic environments of today do not reward tool builders” Ed

    Lazowska, OSTP event http://lazowska.cs.washington.edu/MS/MS.OSTP.pdf
  64. Three things we can do today

  65. 1. Licence.txt

  66. 2. README.md

  67. 3. script/bootstrap

  68. Thanks. arfon@github.com @arfon "