Hello Henry! What are some important etiquettes for maintaining any kind of OSS?
Hello Mac! Sorry this is kind of long 😂
Github is maintaining a nice guide on open source at opensource.guide/ if you haven't checked that out yet! Although maybe most of that is for contributing rather than maintaining.
I guess you are asking for the other side of things? I might of gone over some things in github.com/hzoo/maintainer-heal-th...?
One thing that can be helpful is responding in a positive way. At Behance, we try to start our PR reviews with a "good job" or something instead of just writing comments about what to fix or make better. "Thanks for contributing" can go a long way as my coworker Mike says. And maybe you could just pre-prend all responses automatically but you can go further and actually just say something nice about the issue/PR submitted, it will take some effort to get used to. If I don't I try to just add an emoji or two, and if you really want to go all out add some GIF 🙂.
Be humble and remember where you started from. People of all backgrounds are going to use this OSS, and learning to be nice can be difficult especially when people treat you in the wrong way. It's true that saying something nice is "easier" when there is a reason to, but doing despite of that can bring the conversation around.
We can try all we want to convince/remind people that maintainers are volunteers and deserving of respect (and they are), but people are going to continue to act the way they are. I wish people would think of the people behind the projects they use rather than just a black box or thinking it's an abstract/un-emotional/stoic/robot "project". Although I agree we should try to "detach" ourselves from our work and that it doesn't define you as a person, but sometimes it's just hard. Sometimes if you insult the project and it's only you and a few people, how is it not an insult to the person directly?
But it's difficult to really change others by asking or shouting back (some may say impossible). It takes a lot of work to understand where people are coming from, to meet them where they are at, and to bring them to an understanding of your position via their framework. Sometimes you got to remember that we can just as easily act the same way and be hypocrites. I do have that fear a lot, but I have to remember that there is grace for that as well.
And when all that just feels overwhelming, you just need to take a break. Maybe don't answer that issue when you get the notification in like 1 second and just chill a bit. Maybe wait till you've calmed down when a user posts an issue with no description and demands for help. Sometimes not responding is the best action in the moment, and learning to work on open source when you actually feel good about it is the right way to go.
I'm "trying" to do this now: twitter.com/left_pad/status/938041..., and reflecting on the kinds of things I want to work on and help out with as I try to prioritize health and other things.
I guess this is now more of a side-point about keeping OSS fun for newcomers and yourself, but it depends on the overall state of your project and the kind of culture it fosters. For Babel we are obviously a "serious"/"popular" project that a lot of companies/individuals use but we want to bring a spirit of fun/whimsy/welcoming as well. This is reflected (I hope) in our writing/actions.
Like when Jordan posted his infamous medium article about node_modules and we took it farther by actually opening/merging a PR to add an ASCII guy fieri in the codebase github.com/babel/babel/pull/3641, I documented part of the story in github.com/open-source/stories/hzo....
And it's not something we are intentionally always trying to bring in, but just trying to keep it real but enjoyable. Sometimes having some non-practical, fun activities is what it takes to bring people into a community to show it's not as difficult as it seems (or really that it's difficult in different ways than you initially believe).
This kind of idea was reflected most recently by Angus: twitter.com/angustweets/status/938.... He on his own made an awesome parody song with Babel as the subject and I thought it was pretty funny, so maybe I surprised him and thought we can just make it our "song". I just thought it was an amazing way to contribute to the project: github.com/babel/babel/#is-there-a....
Thank you for you! This is one of the best answer I ever received on this topic.
We're a place where coders share, stay up-to-date and grow their careers.
We strive for transparency and don't collect excess data.