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

Tending Your Open Source Garden, v2

Tending Your Open Source Garden, v2

Brandon Keepers

October 23, 2014
Tweet

More Decks by Brandon Keepers

Other Decks in Technology

Transcript

  1. http://commons.wikimedia.org/wiki/File:Cress_keyboard-3_sprouting_other_side.jpg
    Garden
    @BKEEPERS
    TENDING YOUR OPEN SOURCE
    !

    View full-size slide

  2. http://en.wikipedia.org/wiki/Garden_gnome_liberationists
    "bkeepers

    View full-size slide

  3. Gardening
    Software
    Open Source

    View full-size slide

  4. G A R D E N V 3 . 0

    View full-size slide

  5. growing good food
    &
    eating good food

    View full-size slide

  6. Share the harvest

    View full-size slide

  7. an exercise in resource allocation

    View full-size slide

  8. GARDENS CREATE COMMUNITY

    View full-size slide

  9. Software
    https://www.flickr.com/photos/91663396@N00/7080354723

    View full-size slide

  10. http://vimeo.com/43628932
    I like software
    B E C A U S E
    I like gardening

    View full-size slide

  11. http://vimeo.com/43628932
    I like software
    B E C A U S E
    I like gardening

    View full-size slide

  12. SOFTWARE CREATES COMMUNITY

    View full-size slide

  13. https://www.flickr.com/photos/antoinettevanderieth/8753016923

    View full-size slide

  14. Open Source
    https://www.flickr.com/photos/antoinettevanderieth/8753016923

    View full-size slide

  15. I’m not talking about farming…
    https://www.flickr.com/photos/messycupcakes/7722551044/

    View full-size slide

  16. …or land management.
    https://www.flickr.com/photos/47096398@N08/7462466876

    View full-size slide

  17. Steve Klabnik
    http://words.steveklabnik.com/how-to-be-an-open-source-gardener

    View full-size slide

  18. I’m talking about gardening

    View full-size slide

  19. What can GARDENING
    teach us about OPEN SOURCE?
    https://www.flickr.com/photos/nateswartphoto/5623220460

    View full-size slide

  20. CONSISTENCY
    & DILIGENCE

    View full-size slide

  21. Follow your own contribution guidelines.

    View full-size slide

  22. Invite people in.

    View full-size slide

  23. Be hospitable.

    View full-size slide

  24. Give it time.
    https://www.flickr.com/photos/onegiantleap/4124211492

    View full-size slide

  25. Only add features that
    you want to maintain.

    View full-size slide

  26. B E W A R E O F P E S T S
    https://www.flickr.com/photos/eldave/3332622539

    View full-size slide

  27. Tests guard against erosion.

    View full-size slide

  28. Continuous integration gives contributors confidence.

    View full-size slide

  29. Remove features that you
    don’t want to maintain.

    View full-size slide

  30. dotenv-deployment

    View full-size slide

  31. Provide plugin APIs

    View full-size slide

  32. Use semantic versioning
    https://www.flickr.com/photos/jimfischer/8384524415
    1.2.6
    minor patch
    major
    semver.org

    View full-size slide

  33. Use semantic versioning
    https://www.flickr.com/photos/jimfischer/8384524415
    1.2.6
    minor patch
    major
    }
    backwards-compatibile bug fixes
    semver.org

    View full-size slide

  34. Use semantic versioning
    https://www.flickr.com/photos/jimfischer/8384524415
    1.2.6
    minor patch
    major
    }
    backwards-compatible functionality
    semver.org

    View full-size slide

  35. Use semantic versioning
    https://www.flickr.com/photos/jimfischer/8384524415
    1.2.6
    minor patch
    major
    }
    incompatible API changes
    semver.org

    View full-size slide

  36. Deprecate features in
    minor versions, remove
    them in major versions
    https://www.flickr.com/photos/jimfischer/8384524415

    View full-size slide

  37. 1.x.x
    https://www.flickr.com/photos/jimfischer/8384524415
    if using_deprecated_feature?
    warn "[DEPRECATION] This feature has been " +
    "deprecated and will be removed in 2.0.",
    caller[0]
    # deprecated functionality here
    end

    View full-size slide

  38. Keep a changelog.
    http://bit.ly/1mfVB3d

    View full-size slide

  39. Changelog.md
    http://bit.ly/1mfVB3d

    View full-size slide

  40. Give it away when it
    stops being fun.

    View full-size slide

  41. …unless you still
    depend on it.

    View full-size slide

  42. LET IT DIE
    when it stops producing

    View full-size slide

  43. learn from your
    MISTAKES

    View full-size slide

  44. Thank You
    " bkeepers

    View full-size slide