The best way to handle difficult conversations is to prevent them from ever starting. The way to prevent them from happening (or at least to keep them less painful) is to have good governance. Governance is the solution to difficult conversations and trolls.
My motto is that you’ve done the best job you can do when you work yourself out of a job. When you have solved the problem, you eliminate the need for anyone to need to work on it again in the future. So the best solution to difficult conversations is one that means we no longer have them. We’ll still have differences of opinion and a need for conversation but hopefully it won’t happen in painful ways. In order for that to happen, you need to have clearly defined ways to bring up new ideas, discuss differences of opinions, to make decisions and to execute on them.
Why do difficult conversations happen?
You maybe tempted to say difficult conversations happen because some people are awful. But nobody really likes to go out and argue. Worst case they are lonely or feel misunderstood. However, in open source, difficult conversations usually happen because people feel passionate about something and are missing either the tools, the communication skills or the place to do something about it. Maybe a decision was made without giving people a chance to comment. Maybe they didn’t even know a decision was being made about something they thought was really important. Maybe they felt like their opinion wasn’t getting heard. Maybe they felt like everyone was rehashing the same conversation for the 100th time and nothing was getting done. Maybe they want to get something done and there’s no obvious way to sign up or just do it. Maybe they made a decision they feel applies to the whole community and nobody is listening. Maybe …
So how do you fix that?
In order to prevent difficult conversations, or to make conversations easier and more productive, you make sure your project has governance, processes and tools to let people express their ideas, debate the merits and work out the details. Sometimes you are able to create them before you have problems. Often they are created in reaction to problems. But no matter when you create them, creating good governance is an opportunity for your community to discuss and agree on culture, processes and mission.
Some of the components of governance, which may overreach into ethics and culture, are:
- Leadership. Who leads? How are they selected? By whom? What if they do something wrong? Who succeeds them?
- Decision making processes. When are decisions made by the leader? When are they made by a vote? What if someone doesn’t like the decision? How are things proposed? How long and where does discussion happen.
- Codes of conduct. What behavior is expected? What behavior is inappropriate? What happens if someone misbehaves? Who decides that it was misbehavior?
- Communication. How does it happen? Online vs in person? Who can attend? Who is expected to attend?
- Mission & Vision. Who defines them and through what process? How can they change?
- Money. Can your project make money? Accept money? Can individuals in your community make or accept it for work they do in relationship with your project?
- … what else would you add?
Often governance grows like culture. Slowly, without anyone noticing. So it’s helpful to stop and take a look at what governance you have, what’s explicitly defined and what your project might need moving forward, especially if it’s growing.
For an example of how governance and cultures evolve in communities, you can follow along as Fedora redefines its mission, Gluster decides who is a maintainer and Drupal evolves its governance.