Yesterday I witnessed impolite behavior by an xterm.js contributor. The issue started when they voluntarily opened up a Pull Request that we were skeptical about accepting.
To me it looks like there has been a huge misunderstunding in open source. Let’s clear things up.
An open and welcoming environment means conversing politely with anyone in the world and also treating everyone with equal respect. It does not by any means imply welcoming and accepting every proposed idea or contribution.
When maintainers say NO to a proposed idea or contribution, that’s it. There is no obligation whatsoever to accept anything at all, just because a project is open source.
Apparently, even after a maintainer’s NO, there can be space for further conversation and clarification, but this is as far as it goes. A polite and respectful NO is and should always be considered a valid and acceptable answer.
Maintainers of software projects are the ones who set their priorities and tone and consequently the ones responsible for maintaining the quality of the project. This is a huge responsibility and it requires lots of NOs. Carrying this out is easier inside a company, where maintainers usually work with a handful of colleagues that know each other for some time. On the other hand this is surprisingly more difficult in open source, where maintainers have to manage virtually every person interested in a project.
To wrap this up, there should be more NOs in open source. It should be made clear that software projects have priorities, quality and maintainability standards that have to be guarded.
I am seriously thinking to start defaulting to NO as an answer to every contribution and feature request, unless there is clear aligning with each project’s goals and priorities.
The more the NOs the more sharp and polished the output.