Thanks for sharing this, agree with all the points! As an author of an extremely popular JS library and a bunch of other open source projects, I’ll add my main tip for staying sane.
Learn to recognize enthusiastic users and help them grow into core contributors
When you have years of experience maintaining open source projects and writing high quality code, it’s easy to forget just how bad you were at the beginning. We all start somewhere. I’ve seen numerous times how enthusiastic users who wrote crappy bug reports and low quality PRs at first quickly grew and became prolific contributors and great project maintainers.
Our priority as maintainers is helping beginners grow into contributors with gentle guidance — it pays off big time. It’s important to be patient, friendly and delicate, giving thorough, detailed reviews and answers, even with the most inexperienced project users, if they’re enthusiastic and ready to learn. Guide them gently through their first JSFiddle test case, their first git bisect, first git rebase, first test case, first perfect pull request. Passionate people learn extremely fast.
After someone made several valuable, high quality contributions, grant them push access without hesitation. Sure, you don’t need push rights to contribute, and I was very defensive of my projects at first, but found out that a simple gesture like this makes a huge difference, making contributors more active, attentive and responsible in return.
Letting go of my ego and learning to put more trust in other people had a profound impact on me as an open source maintainer. I’ve been burned out many times before, and only got out of it thanks to support and kindness of my fellow contributors.