The GHC Steering Committee has adopted these guidelines for respectful communication.
We do not seek to impose these guidelines on members of the Haskell community generally. Rather it is a signal that we seek high standards of discourse in the Haskell community, and are willing to publicly hold ourselves to that standard, in the hope that others may voluntarily follow suit.
We are motivated to adopt a set of guidelines for respectful communication for several reasons
- Diversity and inclusion. We recognize that the Haskell community, echoing the technology industry more generally, skews white and male. We see it as our duty and honour to spread the joy of Haskell widely and to broaden the patterns of participation, in the hopes that, one day, we will no longer be askew.
- Making an explicit commitment will encourage us to review our messages to see if they meet the goals set out here, and will give others some specifics to point to if we fail.
As members of a Haskell committee, we commit ourselves to a high standard of public behaviour. We have one over-arching rule:
We strive to treat every person with respect.
Specifically, we aspire to these qualities:
- We treat everyone with courtesy, aware that their diverse backgrounds, experiences, goals, and perspectives may be very different to ours.
- In our communication, we consistently honour and affirm the passion, professional expertise, and good intentions of others. Even if we occasionally doubt these qualities in someone else, we will not make public accusations of incompetence, malice or ulterior motives.
- We strive to be scrupulously polite at all times. There should be no rudeness, name-calling, or harassment in our communication.
- Where we disagree with someone, we avoid forms of expression that might make our dialogue partner feel attacked, humiliated, demeaned, or marginalised. Our critique should always be of specific statements and claims, never of people.
- Disagreement itself is fine: we are enriched by robust technical debate. But we seek to make the tone of that debate to be a conversation among people who respect, or even admire, each other.
- Where we disagree, we try to be curious about the perspective, goals, motivation, and priorities of the other person.
- We do not tolerate any form of discriminatory language or behaviour towards any minority (for example age, body size, disability, ethnicity, sex characteristics, gender identity and expression, level of experience, education, socio-economic status, nationality, personal appearance, race, religion, or sexual identity and orientation).
We seek to apply these standards in all our public interactions in the Haskell sphere, including email, social media, discussion forums, and so on.
If one of us fails to meet these standards, the ideal course of action is to write to that person privately, gently drawing attention to their lapse. If you're not comfortable with that, please contact the chair of the committee, or (if the chair is the problem) the vice-chair or co-chair.
Our response should usually be to apologise and stop doing what it was that you are unhappy about. Even if we feel we have been misinterpreted or unfairly accused, the chances are good there was something we could have communicated better, and an apology is far more likely to bring healing than is a counter-accusation.
We'd like to thank the communities and projects that established code of conducts and diversity statements as our inspiration, including these:
- A month before this document was first published, Michael Snoyman proposed a Stack code of conduct with a motivation similar to ours.
- The GNU Kind Communication Guidelines, published in October 2018, also express the positive tone we seek; Stallman’s post explains the intent.
- The Snowdrift community code of conduct also has a companion Guidelines for healthy communication.
- Open code of conduct
- Pycon code of conduct
- Rust code of conduct
- TypeLevel code of conduct
- Contributor covenant