Be Cordial or Be on Your Way

Contributing to Open Source can be stressful. By opening a Pull Request to a popular project, you're inviting the maintainers and all of their users to analyze and scrutinize your code. Often, they will.

Most of the time, the maintainers of the projects do their best to be kind. If they have feedback or criticism, it's generally positive. Unfortunately, this isn't always the case.

Every once in while, maintainers and community members will shun and insult a contributor's work. This is a perfect example of what you should never do.

What if the Pull Request in question was the person's first time ever contributing to a project? They could be scared away from the world of open source forever.

Instead of simply yelling at a potential contributor and causing a mess of negativity and stress; the maintainer should take the opportunity to educate the user. They should point the user to a guide that outlines what the proper protocol for his project is.

As a project maintainer, it's extremely important to be respectful to your contributors. They often take what you say very personally.

Publishing Open Source

I don't handle stress and negativity well at all. I almost instantly get a terrible headache, have difficulty concentrating, lose my appetite, and my general quality of life degrades almost immediately.

There's a difference between being stressed and being in a stressful situation. One can be caught in a tremendously stressful situation and not be stressed at all with the right mixture of perspective and empathy.

By publishing your code (or anything, really) on the open internet, you're inviting the whole world to analyze and scrutinize it, line by line. That takes guts. People may love it, hate it, disagree with your general approach, or be convinced that you're doing their community a huge disservice. That can be stressful.

Don't worry about non-constructive feedback. It serves no purpose. Realize that some people just take things way too seriously. Tell them to be on their way.

> Listen to everyone, then disregard it> .

Reflect

Take some time to reflect. Remember why you're doing this in the first place. I write open source software because I love software and want to help make my world a better place.

Why are you? If you don't have answer, maybe you shouldn't be doing it. If you find yourself maintaining a project purely out of obligation, maybe you should be doing less.

  • Don't be an asshole. - Make your contributors feel welcome and appreciated.
  • Always say thank you.
  • Before you tweet, comment on a pull request, or comment publicly about a project, remember that it's often not a piece of code you're critiquing — it's a human being.

I don't have the energy or patience for non-constructive feedback. Be cordial and positive or be on your way.

Kenneth Reitz
Wandering street photographer, idealist, and moral fallibilist.
http://kennethreitz.org
Previous
Previous

Paris, AngelHack, API Days 2012

Next
Next

Documentation is King