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!

Managing an Open Source Project

By Kent C. Dodds

Managing an Open Source Project

Awesome! You’ve made it big! You’ve published an open source project and people are actually using it to make the world a better place. Achievement unlocked! Great job! But wait… what’s this? An issue? Oh, it’s just a bug. Pretty quick and easy. Fixed, released, done, #likeaboss 😎. What’s this? A PR? How cool! Wait… That’s not quite right… Oh, a question! Cool! And another! And another… eh… and another… Uh oh… I think I’ve just sold my soul to this project. You start an open source project to scratch your own itch and suddenly other people start using it and they need your help. This can easily start eating up your time big time and before you know it, your kids start feeling neglected. I’ve had to deal with this in a few projects and I’ve learned a thing or two about work/life/oss balance. I have a few tricks that help you make the project manage itself a bit more while still being friendly and helpful to users of the project.

  • 10,174