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

Don't Go It Alone: Recruiting Contributors

Don't Go It Alone: Recruiting Contributors

You made a passion project and the seemingly impossible happened: people use it! A lot! And now you’re overwhelmed as the only maintainer. This talk will walk you through how to ask for help in a structured way that protects your project while empowering others to help it succeed.

The success of launching a popular package, IDE extension or developer tool is complemented by the dread of maintaining it for 1,000s of people. How do you find people who can help? Are you prepared to let them help? I want to walk you through a collection of mental tricks to prepare yourself to let others help you as well as the tools GitHub provides you to let people have access to help.

We will cover:
* How to Ask for Help – from the basics of how to reach out when in need to the more advanced social psychology tricks of asking people to help you help them
* How to Setup Your Repo – given that 99% of this code is on GitHub, we will focus on having the right documentation for contributors, permissions configuration and protections in place to keep your project moving forward with many hands helping to make for light work
* How to Recognize All Contributions – we’ll discuss the All Contributors project and go through an example of using it to allow all types of contribution to your project’s success
* You will leave this session with a strong grasp of some recommended practices to enable contribution and the reassurance that you don’t have to go it alone as a maintainer.

Here are slides with full notes: https://docs.google.com/presentation/d/1KNXHdWIOmzHRNFKwaQ57vT3ycP6_Yb5u0XJAwj3BQT8/edit?usp=sharing

Matthew (Brender) Broberg

February 17, 2018
Tweet

More Decks by Matthew (Brender) Broberg

Other Decks in Technology

Transcript

  1. Don’t Go It Alone:
    Recruiting Contributors
    VP Community, Sensu Inc.
    Matt Broberg
    @mbbroberg
    Open Source 101

    View Slide

  2. A Favor
    Please & Thank You
    @mbbroberg

    View Slide

  3. @mbbroberg

    View Slide

  4. Patterns
    @mbbroberg

    View Slide

  5. @mbbroberg https://www.designhacks.co/products/cognitive-bias-codex-poster

    View Slide

  6. Ask*
    @mbbroberg

    View Slide

  7. @mbbroberg
    Responsible for the awareness, engagement
    and health of the Sensu Community.
    Matt Broberg
    VP Community, Sensu Inc
    200+ Plugins
    On GitHub
    10+ Maintainers
    Volunteering to make
    monitoring better
    Open Framework
    To connect all your
    monitoring pieces

    View Slide

  8. @mbbroberg
    https://twitter.com/sarahnovotny/status/280822396477378560

    View Slide

  9. @mbbroberg
    https://twitter.com/eryno/status/802600628413460480

    View Slide

  10. Open Source?
    @mbbroberg

    View Slide

  11. @mbbroberg

    View Slide

  12. Ask
    @mbbroberg

    View Slide

  13. @mbbroberg

    View Slide

  14. You
    @mbbroberg

    View Slide

  15. Asking for Help
    On GitHub
    ● License
    ● README.md
    ● CONTRIBUTING.md
    ● Pull Request Reviews
    ● Issues
    ● Labels
    ● Releases
    ● Milestones
    ● CHANGELOG.md
    ● Templates (.github/)
    ● Permissions (Teams & .owners)
    ● Saved Replies
    Beyond GitHub
    ● Acronyms (LGTM)
    ● Continuous Integration (Travis)
    ● Chat (Slack/IRC/Gitter)
    ● Recognition (All Contributors)
    ● Social Media (Twitter, etc)
    ● Sharing (Blog, Podcast, Talk)
    Psychological
    ● Just ask (Ben Franklin Effect)
    ● Make it easy (Sunk cost)
    ● Tell a good story (survivor bias)

    View Slide

  16. !(All or Nothing)
    @mbbroberg

    View Slide

  17. Basics
    @mbbroberg

    View Slide

  18. Asking for Help
    Beyond GitHub
    ● Acronyms (LGTM)
    ● Continuous Integration (Travis)
    ● Chat (Slack/IRC/Gitter)
    ● Recognition (All Contributors)
    ● Social Media (Twitter, etc)
    ● Sharing (Blog, Podcast, Talk)
    Psychological
    ● Just ask (Ben Franklin Effect)
    ● Make it easy (Sunk cost)
    ● Tell a good story (survivor bias)
    Basics
    On GitHub
    ● License
    ● README.md
    ● CONTRIBUTING.md
    ● Pull Request Reviews
    ● Issues
    ● Labels
    ● Releases
    ● Milestones
    ● CHANGELOG.md
    ● Templates (.github/)
    ● Permissions (Teams & .owners)
    ● Saved Replies

    View Slide

  19. Disclaimer: I am not a lawyer!
    License
    Basics
    Choose how open you are for
    contribution (and ownership).
    Permissive
    MIT
    Protective
    Apache 2.0
    @mbbroberg

    View Slide

  20. https://opensource.guide/legal/

    View Slide

  21. README.md
    Basics
    WHAT, WHY and HOW Good Default:
    ## Overview
    ## Installation
    ## Getting Started
    ## How to Help (Advanced)
    ## Contributors (Advanced)
    @mbbroberg

    View Slide

  22. Advanced
    @mbbroberg
    https://github.com/sensu-plugins/co
    mmunity#how-you-can-help

    View Slide

  23. Advanced
    https://github.com/kentcdodds/
    all-contributors

    View Slide

  24. Pull Request Reviews
    Basics
    Do you accept PRs? Good default:
    ● Be responsive
    ● Have tests (advanced)
    @mbbroberg

    View Slide

  25. Basics
    @mbbroberg
    https://bluedynamics.com/blog/joha
    nnes/watch-all-your-repos

    View Slide

  26. Basics
    @mbbroberg
    guides.github.com/introduction/flow/

    View Slide

  27. Advanced
    @mbbroberg

    View Slide

  28. Issues
    Basics
    What do you hope to accomplish
    but haven’t yet?
    Good default:
    ● Any missing documentation
    ● Features you want to implement
    ● Ask for a Maintainer (Advanced)
    @mbbroberg

    View Slide

  29. Basics
    @mbbroberg
    https://github.com/sensu-plugins/sensu-plugins-s
    endgrid/issues/1

    View Slide

  30. Advanced
    @mbbroberg
    https://github.com/sensu-plugins/sensu-plugins/c
    ommunity/issues/80

    View Slide

  31. Psychology
    Basics
    How are you helping people help
    you?
    Good default:
    ● Accept contribution liberally
    ● Encourage repeat contribution
    (advanced)
    @mbbroberg

    View Slide

  32. Basics
    @mbbroberg

    View Slide

  33. Advanced
    @mbbroberg
    https://github.com/blog/2135-saved-replies

    View Slide

  34. Comment: “Thank you for contributing @user!
    I made a couple comments in the review, do
    you have time to add them?”
    If they don’t get back to you ~3 days: “Hey
    again @user, no worries on these little things
    - I’ll merge this and add to it. Thanks again!”
    Then go to an open issue: “Hey @user, I
    wonder if you could help out by working on
    this issue. Wdyt?”
    Situation: Pull Request is missing something
    you’d like to see before merging.
    Advanced
    @mbbroberg

    View Slide

  35. Growth
    @mbbroberg

    View Slide

  36. Beyond GitHub
    ● Acronyms (LGTM)
    ● Continuous Integration (Travis)
    ● Chat (Slack/IRC/Gitter)
    ● Recognition (All Contributors)
    ● Social Media (Twitter, etc)
    ● Sharing (Blog, Podcast, Talk)
    Psychological
    ● Just ask (Ben Franklin Effect)
    ● Make it easy (Sunk cost)
    ● Tell a good story (survivor bias)
    On GitHub
    ● License
    ● README.md
    ● CONTRIBUTING.md
    ● Pull Request Reviews
    ● Issues
    ● Labels
    ● Releases
    ● Milestones
    ● Templates (.github/)
    ● Permissions (Teams & .owners)
    ● Saved Replies
    Asking for Help
    Growth Focus

    View Slide

  37. View Slide

  38. Don’t Trust Me
    @mbbroberg

    View Slide

  39. @mbbroberg
    https://twitter.com/mbbroberg/status/961348173628284928

    View Slide

  40. @mbbroberg

    View Slide

  41. @mbbroberg

    View Slide

  42. @mbbroberg

    View Slide

  43. @mbbroberg
    https://twitter.com/mbbroberg/status/961348173628284928

    View Slide

  44. @mbbroberg

    View Slide

  45. Bigger Q
    @mbbroberg

    View Slide

  46. Open Source?
    @mbbroberg

    View Slide

  47. Decision Tree (Simplified)
    Should I share? Yes
    @mbbroberg

    View Slide

  48. Decision Tree (Simplified)
    Should I share? Yes
    @mbbroberg

    View Slide

  49. Decision Tree (Expanded)
    Could I share? Yes
    Do I have to? No
    @mbbroberg

    View Slide

  50. Don’t Panic
    It’s a big world out there.
    @mbbroberg

    View Slide

  51. 0.03%
    octoverse.github.com
    @mbbroberg

    View Slide

  52. 0/42
    @mbbroberg

    View Slide

  53. Survivorship Bias (via XKCD)
    @mbbroberg

    View Slide

  54. Your Reason
    Avoid other people’s
    @mbbroberg

    View Slide

  55. View Slide

  56. Asking for Help
    On GitHub
    ● License
    ● README.md
    ● CONTRIBUTING.md
    ● Pull Request Reviews
    ● Issues
    ● Labels
    ● Releases
    ● Milestones
    ● CHANGELOG.md
    ● Templates (.github/)
    ● Permissions (Teams & .owners)
    ● Saved Replies
    Beyond GitHub
    ● Acronyms (LGTM)
    ● Continuous Integration (Travis)
    ● Chat (Slack/IRC/Gitter)
    ● Recognition (All Contributors)
    ● Social Media (Twitter, etc)
    ● Sharing (Blog, Podcast, Talk)
    Psychological
    ● Just ask (Ben Franklin Effect)
    ● Make it easy (Sunk cost)
    ● Tell a good story (survivor bias)

    View Slide

  57. Start Simple
    The basics are enough 99% of the time.
    @mbbroberg

    View Slide

  58. Ask
    @mbbroberg
    Don’t go it alone

    View Slide

  59. Learn Brains
    @mbbroberg
    They’re more important than algorithms

    View Slide

  60. Have Fun
    @mbbroberg
    If you’re not, rm -rf * and go for a walk

    View Slide

  61. Stay Healthy
    @mbbroberg
    It’s a marathon, don’t burnout for a sprint

    View Slide

  62. Show of Hands
    Please & Thank You
    @mbbroberg

    View Slide

  63. Thanks!
    VP Community, Sensu Inc.
    Matt Broberg
    @mbbroberg
    Open Source 101
    Maintainer Bits
    ● Learn GitHub (bitly.com/git-it)
    ● Readmes (awesome-readme)
    ● Advice for maintainers (thread)
    ● GitHub Maintainers program
    ● All Contributors project
    ● Sane GitHub Labels project
    Psychological Bits
    ● Ben Franklin Effect
    ● Buy the cognitive bias codex

    View Slide

  64. TL;DR

    View Slide

  65. “In order to act, we need to
    be confident in our ability
    to make an impact and to
    feel like what we do is
    important.”

    View Slide

  66. We solve our problems
    with technology.

    View Slide

  67. We create new problems
    with technology.

    View Slide