Managing an Open Source Project

Kent C. Dodds

Utah

wife, 4 kids, & a dog

PayPal, Inc.

Please Stand...

if you are able ❤️ ♿️

What this talk is

  • Managing an open source project
  • Tips and tricks from personal experience

What this talk is not

  • The definitive guide
  • Perfect advice for all scenarios

Let's
Get
STARTED!

Must Haves

what EVERY project needs

It's not open source without one

Code of Conduct

Make your community a friendly and safe one

Define Project Scope

What does "done" mean?

ROADMAP.md

will/wont/might do

Extensibility

Redux is "done"

Automate stuff

avoid repetition

Saving time is not the only reason to automate workflows

Simplify Setup

$ git clone git@giturl.git
$ cd project
$ npm run setup

Automate Code Quality

Automate Releases

Community

Open source === people

Documentation

Explain the problem

Explain the solution

Installation

API Documentation

Examples

Tutorials

Blogposts

Talks

Community Sites

Issues

Pull Requests

Domain with short URLs

  • help.your-lib.com → codesandbox.com/...
  • issue.your-lib.com → codesandbox.com/...
  • learn.your-lib.com → getting started guide
  • question.your-lib.com → Stack overflow (with tag)
  • changelog.your-lib.com → ... your guess...
  • chat.your-lib.com → ... obvious...

Issues

Get out of the way...

Pull Requests

Get out of the way...

Getting Contributors

You can't do it on your own...

Your Contributor Pipeline

Encourage Contribution

Don't do everything yourself

CONTRIBUTING.md

Docs for Contributing

Support AMPAP

As Many Platforms As Possible

I just made that up... It basically means support Windows AND Mac :-)

Don't commit generated files

They're confusing

Roll out the Red Carpet for Newcomers

Helping newbies helps us all

Recognize contributors

even non-code contributions

MAINTAINING.md

The project should not die with you...

Give commit access

Freely and early

Resources

Thank you!