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

Maintaining A Gem

Avatar for Steven Steven
March 10, 2016

Maintaining A Gem

Thoughts and guidelines on maintaining a Ruby gem.

Presented to DCRug on 3/10/16.

Avatar for Steven

Steven

March 10, 2016

Other Decks in Programming

Transcript

  1. MAINTAINING A GEM, OR EXPERIMENTS IN GEM GARDENING WHY MAINTAIN

    A GEM ▸ Improves the ecosystem ▸ Self-improvement ▸ A different perspective on software ▸ Ruby needs gem maintainers
  2. HOW DO I GO ABOUT MAINTAINING A GEM? Me in

    early 2015 MAINTAINING A GEM, OR EXPERIMENTS IN GEM GARDENING
  3. MAINTAINING A GEM, OR EXPERIMENTS IN GEM GARDENING ROO BEFORE

    ▸ ~ 50 issues ▸ 10+ open pull requests ▸ No gem updates in 14+ months ▸ Thousands of tests and specs ▸ Previous maintainer MIA ▸ Repo maintainer could not publish to Rubygems.
  4. MAINTAINING A GEM, OR EXPERIMENTS IN GEM GARDENING ROO AFTER

    ▸ Helped transition to new maintainers. ▸ Reduced gem size from 1.8MB to 64K. ▸ Didn't break stuff (too much). ▸ Issues < 10
  5. MAINTAINING A GEM, OR EXPERIMENTS IN GEM GARDENING GUIDELINES FOR

    WORKING GEMS: FOSTER COMMUNITY ▸ Be respectful ▸ Read every issue ▸ Ask permission ▸ Don't rant ▸ Make contributing easy
  6. MAINTAINING A GEM, OR EXPERIMENTS IN GEM GARDENING GUIDELINES FOR

    MAINTAINING A GEM: USE BEST PRACTICES ▸ Keep a Changelog. (Git history is not a Changelog.) ▸ Use Continuous Integration (CI) and code quality tools. ▸ Follow Semver ▸ Don't break people's code ▸ Use an ISSUES_TEMPLATE ▸ Use Readme Chicklets
  7. MAINTAINING A GEM, OR EXPERIMENTS IN GEM GARDENING RESOURCES ▸

    http://words.steveklabnik.com/how-to-be-an-open- source-gardener ▸ https://github.com/roo-rb/roo ▸ http://keepachangelog.com ▸ http://semver.org/ ▸ http://shields.io/