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 full-size slide

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

    View full-size slide

  3. License
    Add a License.txt file

    View full-size slide

  4. Which license?
    MIT
    Apache
    GPL
    Affero
    Beerware

    View full-size slide

  5. http://ChooseALicense.com

    View full-size slide

  6. But my code is not
    ready!

    View full-size slide

  7. Everything is Broken

    View full-size slide

  8. Release early

    View full-size slide

  9. Let others spread
    your word

    View full-size slide

  10. Let others fix
    your code

    View full-size slide

  11. Let others fix
    your code

    View full-size slide

  12. Let others improve
    your code

    View full-size slide

  13. What is the goal of
    opensource my code?

    View full-size slide

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

    View full-size slide

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

    View full-size slide

  16. More use?
    How?

    View full-size slide

  17. More use?
    README file

    View full-size slide

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

    View full-size slide

  19. More collaboration?
    How?

    View full-size slide

  20. More collaboration?
    CONTRIBUTING file

    View full-size slide

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

    View full-size slide

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

    View full-size slide

  23. A common
    collaboration model

    View full-size slide

  24. Github Issues

    View full-size slide

  25. Use labels wisely

    View full-size slide

  26. Topic Branches
    +
    Pull Requests

    View full-size slide

  27. Make
    Communication
    easy

    View full-size slide

  28. Slack
    Slackline
    IRC
    Gitter

    View full-size slide

  29. Take care of your
    showcase

    View full-size slide

  30. Code of conduct

    View full-size slide

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

    View full-size slide

  32. An open source project
    is a community of
    PEOPLE

    View full-size slide

  33. Managing code is
    easy
    Managing people is
    hard

    View full-size slide

  34. License
    Readme file
    Contributing file
    Time
    Love

    View full-size slide

  35. 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 full-size slide