Skip to content
This repository was archived by the owner on Dec 10, 2024. It is now read-only.

Commit 7bebde7

Browse files
Merge pull request #14 from haskell-infra/guidelines-comm
add guidelines for respectful communications
2 parents 3596ac5 + 3abd587 commit 7bebde7

File tree

4 files changed

+148
-0
lines changed

4 files changed

+148
-0
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,80 @@
1+
---
2+
about_title: en (English) Haskell Foundation Guidelines for Respectful Communication
3+
about_content:
4+
about_page_title: Haskell Foundation Guidelines for Respectful Communication
5+
about_page_content: |
6+
7+
### Preamble
8+
9+
The Haskell Foundation has adopted these guidelines for respectful communication.
10+
11+
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.
12+
13+
### Motivation
14+
15+
We are motivated to adopt a set of guidelines for respectful communication for several reasons
16+
17+
* 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.
18+
* 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.
19+
20+
### Guidelines for Respectful Communication
21+
22+
As members of a Haskell committee, we commit ourselves to a high standard of
23+
public behaviour. We have one over-arching rule:
24+
25+
**We strive to treat every person with respect.**
26+
27+
Specifically, we aspire to these qualities:
28+
29+
* We treat everyone with courtesy, aware that their diverse backgrounds,
30+
experiences, goals, and perspectives may be very different to ours.
31+
* In our communication, we consistently honour and affirm the passion,
32+
professional expertise, and good intentions of others. Even if we
33+
occasionally doubt these qualities in someone else, we will not make public
34+
accusations of incompetence, malice or ulterior motives.
35+
* We strive to be scrupulously polite at all times. There should be no
36+
rudeness, name-calling, or harassment in our communication.
37+
* Where we disagree with someone, we avoid forms of expression that might make
38+
our dialogue partner feel attacked, humiliated, demeaned, or marginalised.
39+
Our critique should always be of specific statements and claims, never of
40+
people.
41+
* Disagreement itself is fine: we are enriched by robust technical debate. But
42+
we seek to make the tone of that debate to be a conversation among people who
43+
respect, or even admire, each other.
44+
* Where we disagree, we try to be curious about the perspective, goals,
45+
motivation, and priorities of the other person.
46+
* We do not tolerate any form of discriminatory language or behaviour towards
47+
any minority (for example age, body size, disability, ethnicity, sex
48+
characteristics, gender identity and expression, level of experience,
49+
education, socio-economic status, nationality, personal appearance, race,
50+
religion, or sexual identity and orientation).
51+
52+
We seek to apply these standards in all our public interactions in the Haskell
53+
sphere, including email, social media, discussion forums, and so on.
54+
55+
If one of us fails to meet these standards, the ideal course of action is to
56+
write to that person privately, gently drawing attention to their lapse. If
57+
you're not comfortable with that, please contact the chair of the committee, or
58+
(if the chair is the problem) the vice-chair or co-chair.
59+
60+
Our response should usually be to apologise and stop doing what it was that you
61+
are unhappy about. Even if we feel we have been misinterpreted or unfairly
62+
accused, the chances are good there was something we could have communicated
63+
better, and an apology is far more likely to bring healing than is a
64+
counter-accusation.
65+
66+
### Acknowledgements
67+
68+
We'd like to thank the communities and projects that established code of conducts and diversity statements as our inspiration, including these:
69+
70+
* A month before this document was first published, Michael Snoyman proposed
71+
a [Stack code of conduct](https://www.snoyman.com/blog/2018/11/proposal-stack-coc) with a motivation similar to ours.
72+
* The [GNU Kind Communication Guidelines](https://www.gnu.org/philosophy/kind-communication.html), published in October 2018, also express the positive tone we seek; [Stallman’s post](https://lwn.net/Articles/769167/) explains the intent.
73+
* The [Snowdrift community code of conduct](https://wiki.snowdrift.coop/community/conduct) also has a companion [Guidelines for healthy communication](https://wiki.snowdrift.coop/community/honor-users).
74+
* [Open code of conduct](https://github.com/todogroup/opencodeofconduct/blob/gh-pages/index.md)
75+
* [Pycon code of conduct](https://github.com/python/pycon-code-of-conduct/blob/master/code_of_conduct.md)
76+
* [Rust code of conduct](https://www.rust-lang.org/policies/code-of-conduct)
77+
* [TypeLevel code of conduct](https://typelevel.org/conduct.html)
78+
* [Contributor covenant](https://www.contributor-covenant.org/)
79+
80+
---

resources/content/pages/resources/resources-en.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,11 @@ resources_content:
66
### Haskell Foundation Technical Agenda
77
The [technical agenda](/technical-agenda) includes a list of projects that we expect the HF to cultivate and support, depending on resources. This list is meant to be suggestive, not definitive: as the HF continues to mature, we may find that other technical projects become more important than what is listed below. In particular, we expect the HF to support a function where we can collect feedback (encompassing instruments like surveys, interviews, and user studies), and then we hope to use that feedback to inform our technical priorities.
88
9+
### Guidelines For Respectful Communication
10+
The [guidelines for respectful communication](/guidelines-for-respectful-communication) guide how the we aim to comport ourselves and act with respect in the community.
11+
12+
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.
13+
914
### Supporting The Haskell Foundation
1015
1116
For public distribution. This document outlines the reasons for your organization to get involved with sponsorship for the Haskell Foundation.
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
import React from 'react'
2+
import Grid from '@material-ui/core/Grid'
3+
import Layout from '../components/Layout'
4+
import Page from '../components/Page'
5+
import RespectfulCommsPageQuery from '../queries/RespectfulCommsPageQuery'
6+
import Markdown from '@input-output-hk/front-end-core-components/components/Markdown'
7+
8+
export default () => (
9+
<RespectfulCommsPageQuery
10+
render={(content) => (
11+
<Layout>
12+
<Page title={content.about_page_title}>
13+
<Grid container spacing={2}>
14+
<Grid item xs={12}>
15+
<Markdown source={content.about_page_content} />
16+
</Grid>
17+
</Grid>
18+
</Page>
19+
</Layout>
20+
)}
21+
/>
22+
)
Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
import React from 'react'
2+
import PropTypes from 'prop-types'
3+
import { StaticQuery, graphql } from 'gatsby'
4+
import Language from '@input-output-hk/front-end-core-components/components/Language'
5+
6+
const RespectfulCommsPageQuery = ({ render }) => (
7+
<Language.Consumer>
8+
{({ key: lang }) => (
9+
<StaticQuery
10+
query={graphql`
11+
query {
12+
allFile(filter:{relativePath:{glob:"content/pages/guidelines-for-respectful-communication/*.md"}}) {
13+
nodes{
14+
relativePath,
15+
childMarkdownRemark{
16+
frontmatter {
17+
about_content {
18+
about_page_title
19+
about_page_content
20+
}
21+
}
22+
}
23+
}
24+
}
25+
}
26+
`}
27+
render={({ allFile }) => {
28+
const content = allFile.nodes.filter(node => node.relativePath === `content/pages/guidelines-for-respectful-communication/guidelines-for-respectful-communication-${lang}.md`).shift()
29+
if (!content || !content.childMarkdownRemark) throw new Error(`No guidelines-for-respectful-communication found for language ${lang}`)
30+
return render(content.childMarkdownRemark.frontmatter.about_content)
31+
}}
32+
/>
33+
)}
34+
</Language.Consumer>
35+
)
36+
37+
RespectfulCommsPageQuery.propTypes = {
38+
render: PropTypes.func.isRequired
39+
}
40+
41+
export default RespectfulCommsPageQuery

0 commit comments

Comments
 (0)