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

Bug Requests & Pull Reports 2.0

rodreegez
October 08, 2012

Bug Requests & Pull Reports 2.0

Given at Arrrrcamp 2012, this version of the talk focuses less on Powder and more on the wider lessons learned and the implications of them.

rodreegez

October 08, 2012
Tweet

More Decks by rodreegez

Other Decks in Programming

Transcript

  1. Goals •Help us understand where bugs come from •Help us

    encourage people to contribute to our projects Monday, 8 October 12
  2. Goals •Help us understand where bugs come from •Help us

    encourage people to contribute to our projects •Help us spend less time doing admin Monday, 8 October 12
  3. Assumptions •Your code is open source and on GitHub •A

    bug report is someone trying to help Monday, 8 October 12
  4. Assumptions •Your code is open source and on GitHub •A

    bug report is someone trying to help •Bugs are reported by developers Monday, 8 October 12
  5. Why do we get bug reports? •Our code is broken

    •A feature was expected or is being requested Monday, 8 October 12
  6. Why do we get bug reports? •Our code is broken

    •A feature was expected or is being requested •Someone is looking for help Monday, 8 October 12
  7. Reasons for not contributing •Knowing where to start can be

    hard •Understanding the domain can be difficult Monday, 8 October 12
  8. Reasons for not contributing •Knowing where to start can be

    hard •Understanding the domain can be difficult •Setting up the project may take too much time Monday, 8 October 12
  9. Reasons for not contributing •Knowing where to start can be

    hard •Understanding the domain can be difficult •Setting up the project may take too much time •Your code’s great, and Imma let you finish... Monday, 8 October 12
  10. What to do with broken code bugs? •Don’t fix them

    yourself! •Start a discussion Monday, 8 October 12
  11. What to do with broken code bugs? •Don’t fix them

    yourself! •Start a discussion •Ask the reporter where they think the issue is Monday, 8 October 12
  12. What to do with broken code bugs? •Don’t fix them

    yourself! •Start a discussion •Ask the reporter where they think the issue is •Call out to friends Monday, 8 October 12
  13. What to do with broken code bugs? •Don’t fix them

    yourself! •Start a discussion •Ask the reporter where they think the issue is •Call out to friends •Tell them your thoughts on the issue Monday, 8 October 12
  14. What to do with broken code bugs? •Don’t fix them

    yourself! •Start a discussion •Ask the reporter where they think the issue is •Call out to friends •Tell them your thoughts on the issue •Be encouraging Monday, 8 October 12
  15. What to do with feature request bugs? •Don’t implement it!

    •Start a discussion Monday, 8 October 12
  16. What to do with feature request bugs? •Don’t implement it!

    •Start a discussion •What’s the best approach? Monday, 8 October 12
  17. What to do with feature request bugs? •Don’t implement it!

    •Start a discussion •What’s the best approach? •How does this new feature impact the wider codebase? Monday, 8 October 12
  18. What to do with feature request bugs? •Don’t implement it!

    •Start a discussion •What’s the best approach? •How does this new feature impact the wider codebase? •Do we even want to support this? Monday, 8 October 12
  19. Feature requests we don’t want •It will happen •It’s OK

    to say “no” •Don’t be a dick Monday, 8 October 12
  20. Feature requests we don’t want •It will happen •It’s OK

    to say “no” •Don’t be a dick •Help figure out how to solve the reporter’s issue Monday, 8 October 12
  21. Feature requests we don’t want •It will happen •It’s OK

    to say “no” •Don’t be a dick •Help figure out how to solve the reporter’s issue •Plugins, dependencies, API’s? Monday, 8 October 12
  22. Feature requests we don’t want •It will happen •It’s OK

    to say “no” •Don’t be a dick •Help figure out how to solve the reporter’s issue •Plugins, dependencies, API’s? •Ultimately, OSS can be forked, and that’s OK too Monday, 8 October 12
  23. Documentation •Readme Driven Development •In-line documentation •Rdoc / YARD /

    TomDoc / Something •Private methods and internal classes too Monday, 8 October 12
  24. Documentation •Readme Driven Development •In-line documentation •Rdoc / YARD /

    TomDoc / Something •Private methods and internal classes too •Wiki articles Monday, 8 October 12
  25. Documentation •Readme Driven Development •In-line documentation •Rdoc / YARD /

    TomDoc / Something •Private methods and internal classes too •Wiki articles •Man pages (gem man) Monday, 8 October 12
  26. Roadmap •Stand-alone or incorporated into the Readme •Goals of the

    project •Where is the project going Monday, 8 October 12
  27. Roadmap •Stand-alone or incorporated into the Readme •Goals of the

    project •Where is the project going •Broad-strokes plan Monday, 8 October 12
  28. Roadmap •Stand-alone or incorporated into the Readme •Goals of the

    project •Where is the project going •Broad-strokes plan •Features we want Monday, 8 October 12
  29. Roadmap •Stand-alone or incorporated into the Readme •Goals of the

    project •Where is the project going •Broad-strokes plan •Features we want •Features we don’t want Monday, 8 October 12
  30. Be predictable •`rake` runs the tests (there are tests, right?)

    •Use Bundler •Dependency management Monday, 8 October 12
  31. Be predictable •`rake` runs the tests (there are tests, right?)

    •Use Bundler •Dependency management •`bundle gem ...` Monday, 8 October 12
  32. Be predictable •`rake` runs the tests (there are tests, right?)

    •Use Bundler •Dependency management •`bundle gem ...` •`rake release` Monday, 8 October 12
  33. Be predictable •`rake` runs the tests (there are tests, right?)

    •Use Bundler •Dependency management •`bundle gem ...` •`rake release` •Keep the master branch releasable Monday, 8 October 12
  34. Doing less admin •Delegate (but don’t abdicate) •Give commit access

    to people that have contributed Monday, 8 October 12
  35. Doing less admin •Delegate (but don’t abdicate) •Give commit access

    to people that have contributed •Your Mileage May Vary Monday, 8 October 12
  36. Doing less admin •Delegate (but don’t abdicate) •Give commit access

    to people that have contributed •Your Mileage May Vary •All good OSS projects have leadership and an awesome team. Monday, 8 October 12
  37. Doing less admin •Delegate (but don’t abdicate) •Give commit access

    to people that have contributed •Your Mileage May Vary •All good OSS projects have leadership and an awesome team. •Be that leader, build that team. Monday, 8 October 12
  38. Summary •Bugs are either broken code, missing features or lacking

    documentation •We shouldn’t fix them! Monday, 8 October 12
  39. Summary •Bugs are either broken code, missing features or lacking

    documentation •We shouldn’t fix them! •We should instigate discussion Monday, 8 October 12
  40. Summary •Bugs are either broken code, missing features or lacking

    documentation •We shouldn’t fix them! •We should instigate discussion •We should maintain good documentation Monday, 8 October 12
  41. Summary •Bugs are either broken code, missing features or lacking

    documentation •We shouldn’t fix them! •We should instigate discussion •We should maintain good documentation •We should welcome and encourage contributions Monday, 8 October 12