Tending Your Open Source Garden, v2

Tending Your Open Source Garden, v2

20bfe76b3d6105641f879fe45cfc9272?s=128

Brandon Keepers

October 23, 2014
Tweet

Transcript

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

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

  3. Gardening Software Open Source

  4. Gardening

  5. I ♥ ⚘

  6. I ♥ ⚘

  7. I ♥ ⚘

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

  9. growing good food & eating good food

  10. None
  11. Share the harvest

  12. an exercise in resource allocation

  13. None
  14. None
  15. None
  16. None
  17. GARDENS CREATE COMMUNITY

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

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

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

    E I like gardening
  21. SOFTWARE CREATES COMMUNITY

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

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

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

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

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

  27. I’m talking about gardening

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

  29. CONSISTENCY & DILIGENCE

  30. Follow your own contribution guidelines.

  31. Invite people in.

  32. None
  33. Be hospitable.

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

  35. None
  36. Only add features that you want to maintain.

  37. B E W A R E O F P E

    S T S https://www.flickr.com/photos/eldave/3332622539
  38. None
  39. None
  40. None
  41. None
  42. None
  43. None
  44. None
  45. None
  46. None
  47. +1

  48. +1

  49. +1

  50. None
  51. Tests guard against erosion.

  52. Continuous integration gives contributors confidence.

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

  54. dotenv-deployment

  55. Provide plugin APIs

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

  58. Use semantic versioning https://www.flickr.com/photos/jimfischer/8384524415 1.2.6 minor patch major } backwards-compatibile

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

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

    API changes semver.org
  61. Deprecate features in minor versions, remove them in major versions

    https://www.flickr.com/photos/jimfischer/8384524415
  62. 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
  63. Keep a changelog. http://bit.ly/1mfVB3d

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

  65. Give it away when it stops being fun.

  66. …unless you still depend on it.

  67. None
  68. None
  69. LET IT DIE when it stops producing

  70. None
  71. None
  72. None
  73. learn from your MISTAKES

  74. Thank You " bkeepers

  75. None