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

How to manage an open source project

How to manage an open source project

Slides for an introductory talk on opensource delivered at h4ckademy, Google Campus Madrid, on august 2015

Juanjo Bazán

August 12, 2015
Tweet

More Decks by Juanjo Bazán

Other Decks in Programming

Transcript

  1. How to manage an
    open source project
    Juanjo Bazán @xuanxu
    h4ckademy

    View Slide

  2. Prerequisites
    • You know how to use git
    • You know how to use github

    View Slide

  3. Am I ready?

    View Slide

  4. View Slide

  5. License

    View Slide

  6. License
    Add a License.txt file

    View Slide

  7. Which license?
    MIT
    Apache
    GPL
    Affero
    Beerware

    View Slide

  8. http://ChooseALicense.com

    View Slide

  9. But my code is not
    ready!

    View Slide

  10. Yes it is!

    View Slide

  11. Everything is Broken

    View Slide

  12. Release early

    View Slide

  13. Let others spread
    your word

    View Slide

  14. Let others fix
    your code

    View Slide

  15. Let others fix
    your code

    View Slide

  16. Let others improve
    your code

    View Slide

  17. What is the goal of
    opensource my code?

    View Slide

  18. Increase use of the code
    What is the goal of
    opensource my code?

    View Slide

  19. Increase use of the code
    Benefit from collaboration
    What is the goal of
    opensource my code?

    View Slide

  20. More use?
    How?

    View Slide

  21. More use?
    README file

    View Slide

  22. README file
    • Present the project
    • Step-by-step Install Instructions
    • Status of the Project (build info/date/...)
    • Basic use case/examples
    • Contact info

    View Slide

  23. More collaboration?
    How?

    View Slide

  24. More collaboration?
    CONTRIBUTING file

    View Slide

  25. CONTRIBUTING file
    • How to report bugs
    • How to suggest improvements / new
    features
    • How to contribute code
    • Style guides

    View Slide

  26. Nurture a community
    • Be polite with rejections
    • Explain your whys/why-nots
    • Answer as much/fast as you can
    • Delegate

    View Slide

  27. A common
    collaboration model

    View Slide

  28. Github Issues

    View Slide

  29. View Slide

  30. View Slide

  31. View Slide

  32. Use labels wisely

    View Slide

  33. View Slide

  34. View Slide

  35. View Slide

  36. View Slide

  37. Topic Branches
    +
    Pull Requests

    View Slide

  38. View Slide

  39. Delegate

    View Slide

  40. View Slide

  41. View Slide

  42. Make
    Communication
    easy

    View Slide

  43. Slack
    Slackline
    IRC
    Gitter

    View Slide

  44. Take care of your
    showcase

    View Slide

  45. Code of conduct

    View Slide

  46. View Slide

  47. View Slide

  48. View Slide

  49. More tools
    • Trello
    • GH Wikis
    • Custom website / GH pages

    View Slide

  50. An open source project
    is a community of
    PEOPLE

    View Slide

  51. Managing code is
    easy
    Managing people is
    hard

    View Slide

  52. License
    Readme file
    Contributing file
    Time
    Love

    View Slide

  53. Good luck!

    View Slide

  54. Thanks!

    View Slide

  55. Questions?
    @xuanxu
    Picture Credits:
    https://www.flickr.com/photos/dhilowitz/16594181774
    https://www.flickr.com/photos/kevharb/4913784320/
    https://www.flickr.com/photos/ksayer/5614813544/

    View Slide