Asking for Help in Open Source

(Note: this post isn’t addressed to or aimed at anyone in particular, it’s just general advice. I’ve written about this before, but it’s time for a refresher.)

So I’m going to start by addressing the elephant in the open source room: licensing. I could quote any open source license here and point out that it says “software provided without warranty” or “software provided as-is” or whatever else that really means “I don’t owe you tech support.”

But I’m not going to do that, because I don’t believe it.

When I write open source and publish it, and then you use it, I don’t legally owe you anything, but I do owe you something. Maintainers get to benefit from developers using our code, because they’ll find bugs and recommend feature requests and we get to benefit from all that too. Maintainers benefit when our code gets used, and I think there’s a reciprocal nature to that relationship.

As part of that relationship, maintainers are responsible for acknowledging bug reports and giving advice to solve problems. We don’t owe anyone technical support or bug fixes, but if we spend a few minutes to point you in the right direction for a fix, we can benefit too. We’ll ask you to submit a pull request adding a feature or fixing a bug or clarifying some documentation. That’s the sort of social contract that exists in open source.

But this is a reciprocal relationship, which means you owe us too. You should be kind, provide steps to reproduce a bug, details about a feature you’ve requested, that kind of stuff. One more thing you owe us is to respect the project’s communication norms.

For example, if you find a bug, open an issue. If you have a feature request, open an issue. If you have a question, open an issue.

Don’t tweet or email contributors with this stuff. Open an issue, if they don’t answer within a reasonable amount of time, maybe send them a link to the issue.

This isn’t just to keep my inbox manageable, you should do this for your own sake: chances are there are other people watching the issues that can help you faster than I can. Your issue will probably get answered faster than I can answer an email or tweet.

Open source is big, it’s many-to-many, and when you email or tweet at me, that really limits how many people can benefit from my response. Being nice is nice, so be nice.

Please submit typo corrections on GitHub