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

Open Source Maintenance — Ruby on Ales 2014

Open Source Maintenance — Ruby on Ales 2014

Maintaining RubyGems, RDoc and other Ruby libraries has grown from a hobby to my full time job over the past six years. Working on and maintaining open source projects has brought me lots of fun and enjoyment. I'll cover the joy and pain of being an open source developer, strategies for maintaining both your project and the interest and happiness you derive from it. I'll also talk about some of the things that keep me motivated to continue working on open source.

Eric Hodel

March 07, 2014
Tweet

More Decks by Eric Hodel

Other Decks in Programming

Transcript

  1. “programming is rather thankless. you see your works become replaced

    by superior works in a year. unable to run at all in a few more.” _why
  2. “Here’s what becoming eFamous made me realize: Everyone is sincere

    and doing it because they care. I was very surprised to learn this.” @garybernhardt
  3. “I get paid to do something I love. Something I’ve

    done in my spare time since I was a kid. That’s awesome. That’s why I care.” @lindseybieda
  4. Commit Small •History is easier to read •Easy to revert

    •Easy branch maintenance •github user page bragging
  5. “One thing Clojure has taught me is that good commit

    messages are a luxury of people that know what the fuck they are doing” @tpope
  6. Short Summary •The URI argument to Gem::Request.new must be a

    URI •Only display relevant release notes upon update •Allow `gem uninstall foo --all`
  7. Thorough Description The URI argument to Gem::Request.new must be a

    URI The tests were lazy and used a String which was converted internally. This causes problems on older ruby versions which don't allow `URI(URI("http://example"))`. Now the argument given is always a URI in the tests.
  8. rubygems/rubygems #510 me: I'm sorry, I didn't read that section.

    RubyGems creates the credentials file for you. I'll rewrite the offending section.
  9. “Trying to force myself to keep asking, ‘rather than *solve*

    [hard problem X], is there a way to make [X] irrelevant?’ Typical answer: yes.” Kathy Sierra — @seriouspony
  10. “The worst thing about writing clever code is not being

    clever enough to understand it.” Eleanor McHugh — @feyeleanor
  11. rails/rails@ba0568e “In the past we used Hash[columns.zip(row)] […], the verbose

    way is much more efficient both time and memory wise cause it avoids a big array allocation”
  12. “This is what your tool chain looks like to people

    not ‘in the know’. They just want to do a thing” @jessenoller
  13. Pull Requests •Contact the maintainers: “How would I fix issue

    #XXX” •Start small •Try different projects
  14. Code Climate •Free for github projects •Uses flog and flay

    •Refactoring targets •Method duplication •Complexity