O P E N S O U R C E P R O J E C T S D E V @ B E N J A M I N F L E I S C H E R . C O M T W I T T E R . C O M / H A Z U L A G I T H U B . C O M / B F 4 Ruby ^
E I N G A G O O D C O D E C I T I Z E N • Report an issue or ask on the mailing list • Submit a Pull Request • Add documentation or helpful information to the wiki • Email / bug ‘maintainers’
N G A G O O D C O D E C I T I Z E N • Learn to write a good bug report • Read a lot of source code • Meet people • Get feedback • Feel good • Feel connected
A R G O N B E I N G A G O O D C O D E C I T I Z E N • Semantic Versioning: • Major / Minor / Patch • Breaking changes, new functionality, bug fix. • Pessimistic versioning • ~> 1.1 is a contract to not have breaking changes for all 1.x, but all bets off at 2.x.
N T E R A C T I N G B E I N G A G O O D C O D E C I T I Z E N Taking Over Someone Else’s Open Source Projects Daniel Doubrovkine http://www.confreaks.com/videos/4166-gogaruco2014-taking-over-someone-else- s-open-source-projects
I T H U B B E I N G A G O O D C O D E C I T I Z E N Just go to http://help.exercism.io/git-workflow.html It is awesome! Also, see http://blog.quickpeople.co.uk/2013/07/10/useful- github-patterns/
E C U R A T I O N Taking Over Someone Else’s Open Source Projects Daniel Doubrovkine http://www.confreaks.com/videos/4166-gogaruco2014-taking-over-someone-else- s-open-source-projects
http://rubyrogues.com/127-rr-erik-michaels-ober/ grep for maintain ERIK: It was basically just a giant yak shave. I think I just started working on it and then I said… So I … and then just <yadda yadda> so I just became the de facto maintainer of that. KATRINA: What’s the most challenging aspect of maintaining a big popular project like the twitter gem? ERIK: I don’t know. To me, I love it.
E N T, W E A R E H U M A N B E I N G A G O O D C O D E C I T I Z E N Taking Over Someone Else’s Open Source Projects Daniel Doubrovkine http://www.confreaks.com/videos/4166-gogaruco2014-taking-over-someone-else- s-open-source-projects
O LV E D W O R K W I T H M E ! • RubyFriends.com #RubyFriends Twitter scraper • https://github.com/rubyrogues/rubyfriends • PairProgramming #PairWithMe • https://github.com/avdi/ppwm and • https://github.com/rubyrogues/ppwm-matcher • Command-line metrics tool • https://github.com/metricfu/metric_fu • https://github.com/colszowka/simplecov • Documenting RubyGems • https://github.com/rubygems/guides
L I N K S Basic Tools and Workflows: GitHub • https://help.github.com/articles/using-pull-requests/ • http://help.exercism.io/git-workflow.html • http://blog.quickpeople.co.uk/2013/07/10/useful-github-patterns/ • https://github.com/Kikobeats/awesome-github • https://github.com/rafalchmiel/friction A tool to get rid of common sources of contributor friction Git • https://sandofsky.com/blog/git-workflow.html • http://nuclearsquid.com/writings/git-tricks-tips-workflows/ • http://help.exercism.io/git-workflow.html • https://www.mediawiki.org/wiki/Gerrit/Advanced_usage
L I N K S Something simple to do: • Gemspec http://www.benjaminfleischer.com/2013/08/21/psa-gem-versions/ • Look in the gemspec for a gem you’re using for “~> X.Y.Z” • Licenses http://www.benjaminfleischer.com/2013/07/12/make-the-world-a- better-place-put-a-license-in-your-gemspec/ • Gems missing a license in their gemspec: https://github.com/search? o=asc&q=commenter%3Abf4+author%3Abf4+type%3Aissue+state %3Aopen+%22License+missing+from+gemspec%22+in %3Atitle&ref=searchresults&s=updated&type=Issues
L I N K S Something simple to do: • Document • Rails: https://github.com/rails/rails/issues/16576 • Fixing ruby docs https://www.youtube.com/watch?v=0UkZVN7EL1k • http://madhatted.com/2014/11/5/contribute-to-ember-js-2-0-no-coding- required • Document: http://www.docsdoctor.org/ • Fix Ruby warnings you see when running code • `export RUBYOPT=-w` OR run with `ruby -w file.rb` OR `ruby -w -S bundle`
L I N K S Contributing to open source • http://code.dblock.org/i-want-to-contribute-to-open- source-where-do-i-begin • http://www.softwarequalityconnection.com/2012/03/14- ways-to-contribute-to-open-source-without-being-a- programming-genius-or-a-rock-star/ • https://guides.github.com/overviews/os-contributing/ • https://guides.github.com/activities/contributing-to- open-source/index.html • http://jumpstartlab.com/news/archives/2013/04/15/your- first-pull-request • http://www.justinweiss.com/emails/2014-10-31-the- easiest-way-to-get-into-open-source.html • http://felixge.de/2013/03/11/the-pull-request-hack.html • http://rubyrogues.com/051-rr-getting-started-with-open- source/
L I N K S Contributing to Rails • http://blog.steveklabnik.com/posts/2012-07-05-how-can-i- contribute-to-ruby-on-rails- • http://edgeguides.rubyonrails.org/ contributing_to_ruby_on_rails.html • http://www.confreaks.com/videos/2477-railsconf2013- your-first-rails-pull-request • https://speakerdeck.com/markmcspadden/ railsconf-2013-your-first-rails-pull-request?slide=31
L I N K S Contributing guidelines • http://www.chiark.greenend.org.uk/~sgtatham/bugs.html “How to Report Bugs Effectively” • https://github.com/thoughtbot/guides/blob/master/ protocol/open-source/README.md • https://github.com/metricfu/metric_fu/blob/master/ CONTRIBUTING.md • https://github.com/dkubb/descendants_tracker/blob/ master/CONTRIBUTING.md • https://github.com/contribute-md/contribute-md- template • http://rubini.us/2011/10/18/contributing-to-rubinius/
L I N K S Curation talks • http://confreaks.com/videos/2901-rubyconf2013- maintaining-sanity • http://www.confreaks.com/videos/4166-gogaruco2014- taking-over-someone-else-s-open-source-projects • https://speakerdeck.com/searls/the-social-coding- contract Justin Searls • https://gist.github.com/searls/ eaf8dcdd4b3a10a97694 • https://speakerdeck.com/bf4/maintaining-open- source-projects-1
L I N K S Curating projects • https://github.com/rubygems/rubygems.org/issues/ 725 RFC: Add a Gem adoption status and ownership request approve/reject workflow • http://www.benjaminfleischer.com/2014/08/17/ rubygems-adoption-center/ • http://erniemiller.org/2013/11/17/anyone-interested- in-activerecord-hackery/ • http://stillmaintained.com/ • http://nikcodes.com/2013/05/10/new-contributor- jump-in/ • http://rubyrogues.com/127-rr-erik-michaels-ober/ grep for maintain
L I N K S Licensing • https://aprescott.com/posts/open-source-copyright • Protect Your Code: Key Legal Considerations for the Software Developer by Daliah Saper http:// vimeo.com/106758941 • Changing license on unmaintained gem https:// github.com/ffi/ffi/issues/288 http://www.catb.org/esr/ Licensing-HOWTO.html#changing • https://github.com/bf4/gemproject/blob/master/ licenses.md • See when common licenses can be combined http:// www.dwheeler.com/essays/floss-license-slide.html
L I N K S Misc • http://techblog.netflix.com/2010/12/why-we-use-and-contribute-to- open.html • http://www.commitstrip.com/en/2014/05/07/the-truth-behind-open-source- apps/ • Open Source Report Card: Fun GitHub statshttps://osrc.dfm.io/bf4/ • Pair with Me!! http://www.benjaminfleischer.com/pair • Be a Mentor! http://mentoring.devbootcamp.com/
O P E N S O U R C E P R O J E C T S D E V @ B E N J A M I N F L E I S C H E R . C O M T W I T T E R . C O M / H A Z U L A G I T H U B . C O M / B F 4 Ruby ^ https://speakerdeck.com/bf4/ maintaining-open-source-projects-1 Q U E S T I O N S ?