Conflict resolution
Whenever there's community of people who care, eventually, there will be disagreements. This is a lightweight process, or spirit that we intend to follow and evolve as the community grows.
Technical disagreements
- State the disagreement clearly. Make sure to clarify what's your opinion or experience, and what are the facts. Explain your reasoning.
- While discussing the issue assume good intent. Before sending any message save it as a draft, and come back to it after a few moments, let the emotions settle. This will help you get more distance and reply in more constructive manner.
- If applicable, research how similar projects handle the issue.
- If feasible, prototype your idea, potentially timeboxing the effort (inspired by the 'spike').
- If still stuck: lightweight feedback from other members of community can potentially help break the tie. If that's not possible, codeowner should break the tie.
Mission or values disagreements
Generally, refer back to motivation and core principles and seek consensus. If there's no consensus, default to "don't do it" until it's clearer.