$30 off During Our Annual Pro Sale. View Details »

Robot Pedantry, Human Empathy

Robot Pedantry, Human Empathy

Homebrew was the first open source project I’ve maintained where I’ve had to review and merge contributions from other users. Homebrew is also one of the most active community projects on GitHub with a consistently small team of maintainers (always under thirty in total, always under ten doing work every week). As a result I’ve had to figure out over the last twelve years how best to manage large numbers of contributions from users in pleasantly and efficiently for both maintainers and contributors.

Mike McQuaid

June 09, 2021
Tweet

More Decks by Mike McQuaid

Other Decks in Technology

Transcript

  1. 🤖 Robot Pedantry,


    🥰 Human Empathy
    @MikeMcQuaid

    View Slide

  2. Who?

    View Slide

  3. Mike
    McQuaid
    @MikeMcQuaid


    [email protected]


    Homebrew


    Project Leader

    View Slide

  4. Mike
    McQuaid
    @MikeMcQuaid


    [email protected]


    Staff Engineer @
    GitHub Communities

    View Slide

  5. What?

    View Slide

  6. Homebrew


    The Missing Package Manager


    for macOS (or Linux)

    View Slide

  7. ~ 12 years


    < 30 maintainers


    > 9000 contributors


    > 1 million users

    View Slide

  8. 👩💻 Manual Process


    🤖 Enter BrewTestBot


    🏎 Speedy Empathy

    View Slide

  9. 👩💻 Manual Process

    View Slide

  10. 👩💻 Manual Process
    $ git remote add …


    $ git cherry-pick …


    $ brew install …


    $ git push

    View Slide

  11. 👩💻 Manual Process
    $ curl ….patch | git am


    $ brew audit …


    $ brew install …


    $ git push

    View Slide

  12. 👩💻 Manual Process
    $ brew pull --install …


    $ git push

    View Slide

  13. 🤖 Enter BrewTestBot

    View Slide

  14. 🤖 Enter BrewTestBot
    $ brew audit …


    $ brew install …


    $ brew test …


    $ brew bottle …

    View Slide

  15. 🤖 Enter BrewTestBot
    $ brew test-bot …

    View Slide

  16. 🤖 Enter BrewTestBot
    $ brew pr-pull …


    $ brew pr-publish …


    $ brew pr-automerge …


    $ rubocop …

    View Slide

  17. 🤖 Enter BrewTestBot
    $ actions/stale


    $ dessant/lock-threads

    View Slide

  18. 🏎 Speedy Empathy

    View Slide

  19. 🏎 Speedy Empathy
    $ TextExpander: ;thx =>
    Thanks so much for your
    contribution! Without people like
    you submitting PRs we couldn't
    run this project. You rock!

    View Slide

  20. 🏎 Speedy Empathy

    View Slide

  21. TL;DR?

    View Slide

  22. ⚙ Automate (almost) everything


    📜 Turn documentation into code


    🥰 Don’t lose the human touch

    View Slide

  23. 🤖 Robot Pedantry,


    🥰 Human Empathy
    ❤ Thanks!


    @MikeMcQuaid


    [email protected]
    https://mikemcquaid.com/2021/06/09/robot-pedantry-human-empathy/

    View Slide