Empathy in (F)OSS

Monday, July 14, 2014
by Ryan Cook

I recently came across a tweet that was really surprising to me. To provide some context, the tweet was authored by someone that maintains a popular javascript library on GitHub. It has since been deleted, but here is the text:

Most people are garbage. Some are amazing. Count
yourself super lucky if you're friends with some
of the amazing ones.

Goodness. Gracious. I wonder if that statement includes all of the people that take the time to learn and use their software? Giving them the benefit of the doubt though, I'm hoping that it was just a product of a bad day. I ended up spinning on something that I think is important: Among many other things, you have to be empathetic to be a great open source contributor or maintainer.

Why is this? If you don't appreciate the folks using your (F)OSS software, how will you create a quality atmosphere and community around it? You have felt the same pain as your users so you presumably care about them at least a little if you released the code for them to use. Here are a few other positive, empathetic motivations for contributing to, releasing, or maintaining (F)OSS software:

Help others learn

Help others do their work

Improve communities

Notice though that I used "great" as an adjective before. I do think that it's possible to be a good contributor without being too empathetic. For example, people may contribute with the goal being to demonstrate ability or build reputation, both of which are just fine.

Managing and working in the (F)OSS community is very challenging in its own ways, I'm sure. It seems very important though to make an effort to relate to your users if the goal is to build the most appropriate software for the situation. Keeping that in mind is already, or hopefully will become, a good baseline for having more happy people in our industry.

Note: I hope it's clear that I'm not differentiating between libre and open-source software here. They are very different and this post is generalizing in that regard.