Open source contribution is about more than just writing code. A large part of it is in communication. This includes talking about code, discussing issues and reviewing pull requests. When something goes wrong during this communication, the CARE team can be called upon to mediate and help resolve this.
At the hackathon in Brussel, CARE team member Michelle pointed out that the bulk of the incidents noted in the CARE team transparency report for 2018 revolved around feedback given in code reviews on GitHub. That’s understandable, it’s about the code you’ve worked on. Opinions differ on approaches, used coding standards or best practices. And when opinions differ, discussions could get intense. Instead of escalating words, it is important to sometimes take a step back, take a breath and if necessary ask for some mediation. Remember: we all care to improve Symfony but sometimes our different backgrounds may lead us to prioritize different things. Also remember that while we communicate in English, many people speak a different language natively. And not everyone has the same sense of humor or even expects humor to be part of a code review.
It should also be noted that frustrations about communication on pull requests do not always lead to a CARE report, but is nonetheless a strain on people and can lead to reduced interest in working on Symfony. This not only affects newcomers but also long-time contributors and core team members.
We have a documentation page covering how to review pull requests. This document focuses more on the formal and technical sides of code review. Therefore, we have another page dedicated more to the human side of comments on a pull request.
Some issues might also arise from people receiving feedback. For this, we recently added a few sections to the how to create a pull request documentation page.
So again, make an effort to prevent escalations in pull request discussions and seek mediation if you feel like a communication barrier is preventing a productive exchange of thoughts.
Do you have any specific advice on how we can improve here? What are your experiences in this matter? Do you have a specific pull request you want to highlight where de-escalation has successfully defused a tense situation?
[risorsa: Symfony Blog http://bit.ly/2K0TdWb ]