Re: [Haskell-community] Civility notes (was "Traversable instances for (, , ) a b")

Friends
I second what Tom says below.
Almost everyone expresses their views with respect, even when disagreeing. The exceptions are (in my guess) mostly unintentional, at least in the extent of the offence caused. That does not make them unimportant, because a slow slippage in our collective standards is, over time corrosive. But it does mean that we can draw breath, as Tom has helpfully done here, and without condemning anyone reset our standards.
I’ve been talking to a couple of people about whether it would be useful to have an explicit Haskell Community Code of Conduct. Many online communities have one (e.g. Rusthttps://www.rust-lang.org/en-US/conduct.html), and it might be helpful for everyone to have a concrete baseline rather than an unwritten standard. Any views on that?
Simon
From: Libraries [mailto:libraries-bounces@haskell.org] On Behalf Of Tom Murphy
Sent: 02 April 2017 19:18
To: Fumiaki Kinoshita

On Mon, 3 Apr 2017, Simon Peyton Jones via Libraries wrote:
I’ve been talking to a couple of people about whether it would be useful to have an explicit Haskell Community Code of Conduct. Many online communities have one (e.g. Rust), and it might be helpful for everyone to have a concrete baseline rather than an unwritten standard. Any views on that?
I think these Code of Conducts make things even worse because then some people start to check every word against these codes. Instead I suggest we make more use of humor. E.g. Carter Schonwald's comment about grumpy people made me think about renaming my prelude-compat package to grumpy-prelude. :-)

:) I look forward to the ways we all disagree. I personally worry that a code of conduct still has a crucial weakness, .... HUMANS. interpretation of natural language rules or human behavior always has an ambiguous element, and this is why any sufficiently not sure set of rules *must* have a legal enforcment and judicial infrastructure. (i think Tikhon articulates my perspective on code of conducts way better than I could ) On Mon, Apr 3, 2017 at 4:42 AM, Henning Thielemann < lemming@henning-thielemann.de> wrote:
On Mon, 3 Apr 2017, Simon Peyton Jones via Libraries wrote:
I’ve been talking to a couple of people about whether it would be useful
to have an explicit Haskell Community Code of Conduct. Many online communities have one (e.g. Rust), and it might be helpful for everyone to have a concrete baseline rather than an unwritten standard. Any views on that?
I think these Code of Conducts make things even worse because then some people start to check every word against these codes. Instead I suggest we make more use of humor. E.g. Carter Schonwald's comment about grumpy people made me think about renaming my prelude-compat package to grumpy-prelude. :-) _______________________________________________ Libraries mailing list Libraries@haskell.org http://mail.haskell.org/cgi-bin/mailman/listinfo/libraries

On 03.04.2017 10:42, Henning Thielemann wrote:
On Mon, 3 Apr 2017, Simon Peyton Jones via Libraries wrote:
I’ve been talking to a couple of people about whether it would be useful to have an explicit Haskell Community Code of Conduct. Many online communities have one (e.g. Rust), and it might be helpful for everyone to have a concrete baseline rather than an unwritten standard. Any views on that?
I think these Code of Conducts make things even worse because then some people start to check every word against these codes. Instead I suggest we make more use of humor. E.g. Carter Schonwald's comment about grumpy people made me think about renaming my prelude-compat package to grumpy-prelude. :-)
I agree with Henning. The discussion gets heated because people are passionate about Haskell; and the latter is a good thing. I rather stomach some insults on a mailing list than having a formal code of conduct. Severe violations of politeness can be pointed out without having such a formal code. We can apply common sense. -- Andreas Abel <>< Du bist der geliebte Mensch. Department of Computer Science and Engineering Chalmers and Gothenburg University, Sweden andreas.abel@gu.se http://www.cse.chalmers.se/~abela/

Personally, I would not be against a *short and simple* code of conduct that specifically addresses issues we have seen. I'm imagining clear guidelines that help people express themselves in a thoughtful and polite way. Something in the style of the Hacker News commenting guidelines[1] (at least the first four; the rest are specific to HN/Reddit-like sites). One of the best examples I've seen in the wild had a single rule: no personal attacks. It's simple to understand and follow with no risk of stifling or derailing real discussions, and yet unambiguously rules out the majority of rude comments I see online (ignoring spam and outright trolling). I do *not* like Rust's code of conduct specifically. It does not provide clear guidelines on civility/politeness and covers too many other things, including a lot of (often political) baggage. Why is the idea that "everything is a tradeoff" enshrined as a rule? The rule on politeness is clearly deemphasized: "Please be kind and courteous. There’s no need to be mean or rude." is so vague it may as well not be in the code of conduct. We should *assume* people set out to be kind and courteous and help them do that consistently. The "Citizen Code of Conduct" they link to has even more baggage and I believe it should *not* serve as the basis for anything we might adopt as a community. [1]: https://news.ycombinator.com/newsguidelines.html see section "In Comments" On Mon, Apr 3, 2017 at 1:13 AM, Simon Peyton Jones via Haskell-community < haskell-community@haskell.org> wrote:
Friends
I second what Tom says below.
Almost everyone expresses their views with respect, even when disagreeing. The exceptions are (in my guess) mostly unintentional, at least in the extent of the offence caused. That does not make them unimportant, because a slow slippage in our collective standards is, over time corrosive. But it does mean that we can draw breath, as Tom has helpfully done here, and without condemning anyone reset our standards.
I’ve been talking to a couple of people about whether it would be useful to have an explicit Haskell Community Code of Conduct. Many online communities have one (e.g. Rust https://www.rust-lang.org/en-US/conduct.html), and it might be helpful for everyone to have a concrete baseline rather than an unwritten standard. Any views on that?
Simon
*From:* Libraries [mailto:libraries-bounces@haskell.org] *On Behalf Of *Tom Murphy *Sent:* 02 April 2017 19:18 *To:* Fumiaki Kinoshita
*Cc:* libraries *Subject:* Civility notes (was "Traversable instances for (,,) a b") Hi Fumiaki!
I agree with you that some poorly-chosen words by a few people have soured this conversation, but please don't let that turn you completely off of the productive conversation most of us are attempting to have! I think it's largely been successful, too: even if many of us haven't changed our -1/+1 votes, I for one have had my ideas challenged and have a more nuanced view than before talking with everyone here.
Henning and Edward are two examples (one from each side of the +1/-1 chasm) who have been aided by this discussion, in making important progress to finding a middle ground (each in the form of proposed compiler changes).
To the rest of us: Fumiaki regretting having posted here is a pretty stark example of why speaking politely matters. People being scared away and feeling unwelcome is a real phenomenon, and we need to do our part to fix it. I'd propose:
- If you haven't read it already, SPJ recently wrote a heartfelt letter on the subject [0]. We've gotten better since then, but clearly we're not finished.
- Civility is a norm, and norms sometimes need to be enforced. From a distance, we all look bad (and unwelcoming!) if anyone is hostile and we don't make it clear it's not acceptable. Speak up! That said, everyone makes mistakes - try to give people space to apologize and move on.
- If someone says something insulting to you, please take that as a sign to become more polite, not less so. The downward spiral is real.
If you're called out for saying something regrettable (again, regardless of if you're +1 or -1 on this issue), *please* take our desire for civil conversation seriously. Responses like (I'm paraphrasing, and not trying to cite anyone specifically): "It was a joke (mostly)" and "It's your fault if you didn't get the joke" are worse than not writing anything at all. Ideal would be a quick "Sorry!"
Thanks, all!
Tom
[0] https://mail.haskell.org/pipermail/haskell/2016-September/024995.html
On Sun, Apr 2, 2017 at 12:11 PM, Fumiaki Kinoshita
wrote: The discussion has diverged to flaming due to a few offensive people. I guess I shouldn't have posted a proposal here, I should have submitted a patch instead.
2017-03-23 19:53 GMT+09:00 Fumiaki Kinoshita
: It's surprising that they are missing (forgive me, I'm not here to make people grumpy).
_______________________________________________ Libraries mailing list Libraries@haskell.org http://mail.haskell.org/cgi-bin/mailman/listinfo/libraries
_______________________________________________ Haskell-community mailing list Haskell-community@haskell.org http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-community

On Mon, Apr 03, 2017 at 01:52:38AM -0700, Tikhon Jelvis wrote:
Personally, I would not be against a *short and simple* code of conduct that specifically addresses issues we have seen. I'm imagining clear guidelines that help people express themselves in a thoughtful and polite way. Something in the style of the Hacker News commenting guidelines[1] (at least the first four; the rest are specific to HN/Reddit-like sites).
You might be interested in Ruby's COC [1] too. They had a discussion some time ago and Matz&co requirements were "short and to the point". Indeed it's very clear to read. [1] https://www.ruby-lang.org/en/conduct/

On Mon, Apr 03, 2017 at 11:32:01AM +0200, Francesco Ariis wrote:
On Mon, Apr 03, 2017 at 01:52:38AM -0700, Tikhon Jelvis wrote:
Personally, I would not be against a *short and simple* code of conduct that specifically addresses issues we have seen. I'm imagining clear guidelines that help people express themselves in a thoughtful and polite way. Something in the style of the Hacker News commenting guidelines[1] (at least the first four; the rest are specific to HN/Reddit-like sites).
You might be interested in Ruby's COC [1] too. They had a discussion some time ago and Matz&co requirements were "short and to the point". Indeed it's very clear to read.
+1 to having an explicit code of conduct. All communities have such a code; some are merely unwritten and harder to scrutinize. For a slightly longer example that is still rather clear, Snowdrift.coop has its code here: https://wiki.snowdrift.coop/community/conduct. It can be summarized as, "Act with honor and good will, assume good faith, and do not use hostile language." It's very similar to Ruby's code, with Ruby's first item captured in "act with honor and good will", and Ruby's second and forth items captured in "do not use hostile language". I like that they both include the assumption of good faith.

agreed with Tikhon's points, they say it way better than I could
On Mon, Apr 3, 2017 at 4:52 AM, Tikhon Jelvis
Personally, I would not be against a *short and simple* code of conduct that specifically addresses issues we have seen. I'm imagining clear guidelines that help people express themselves in a thoughtful and polite way. Something in the style of the Hacker News commenting guidelines[1] (at least the first four; the rest are specific to HN/Reddit-like sites).
One of the best examples I've seen in the wild had a single rule: no personal attacks. It's simple to understand and follow with no risk of stifling or derailing real discussions, and yet unambiguously rules out the majority of rude comments I see online (ignoring spam and outright trolling).
I do *not* like Rust's code of conduct specifically. It does not provide clear guidelines on civility/politeness and covers too many other things, including a lot of (often political) baggage. Why is the idea that "everything is a tradeoff" enshrined as a rule? The rule on politeness is clearly deemphasized: "Please be kind and courteous. There’s no need to be mean or rude." is so vague it may as well not be in the code of conduct. We should *assume* people set out to be kind and courteous and help them do that consistently. The "Citizen Code of Conduct" they link to has even more baggage and I believe it should *not* serve as the basis for anything we might adopt as a community.
[1]: https://news.ycombinator.com/newsguidelines.html see section "In Comments"
On Mon, Apr 3, 2017 at 1:13 AM, Simon Peyton Jones via Haskell-community < haskell-community@haskell.org> wrote:
Friends
I second what Tom says below.
Almost everyone expresses their views with respect, even when disagreeing. The exceptions are (in my guess) mostly unintentional, at least in the extent of the offence caused. That does not make them unimportant, because a slow slippage in our collective standards is, over time corrosive. But it does mean that we can draw breath, as Tom has helpfully done here, and without condemning anyone reset our standards.
I’ve been talking to a couple of people about whether it would be useful to have an explicit Haskell Community Code of Conduct. Many online communities have one (e.g. Rust https://www.rust-lang.org/en-US/conduct.html), and it might be helpful for everyone to have a concrete baseline rather than an unwritten standard. Any views on that?
Simon
*From:* Libraries [mailto:libraries-bounces@haskell.org] *On Behalf Of *Tom Murphy *Sent:* 02 April 2017 19:18 *To:* Fumiaki Kinoshita
*Cc:* libraries *Subject:* Civility notes (was "Traversable instances for (,,) a b") Hi Fumiaki!
I agree with you that some poorly-chosen words by a few people have soured this conversation, but please don't let that turn you completely off of the productive conversation most of us are attempting to have! I think it's largely been successful, too: even if many of us haven't changed our -1/+1 votes, I for one have had my ideas challenged and have a more nuanced view than before talking with everyone here.
Henning and Edward are two examples (one from each side of the +1/-1 chasm) who have been aided by this discussion, in making important progress to finding a middle ground (each in the form of proposed compiler changes).
To the rest of us: Fumiaki regretting having posted here is a pretty stark example of why speaking politely matters. People being scared away and feeling unwelcome is a real phenomenon, and we need to do our part to fix it. I'd propose:
- If you haven't read it already, SPJ recently wrote a heartfelt letter on the subject [0]. We've gotten better since then, but clearly we're not finished.
- Civility is a norm, and norms sometimes need to be enforced. From a distance, we all look bad (and unwelcoming!) if anyone is hostile and we don't make it clear it's not acceptable. Speak up! That said, everyone makes mistakes - try to give people space to apologize and move on.
- If someone says something insulting to you, please take that as a sign to become more polite, not less so. The downward spiral is real.
If you're called out for saying something regrettable (again, regardless of if you're +1 or -1 on this issue), *please* take our desire for civil conversation seriously. Responses like (I'm paraphrasing, and not trying to cite anyone specifically): "It was a joke (mostly)" and "It's your fault if you didn't get the joke" are worse than not writing anything at all. Ideal would be a quick "Sorry!"
Thanks, all!
Tom
[0] https://mail.haskell.org/pipermail/haskell/2016-September/024995.html
On Sun, Apr 2, 2017 at 12:11 PM, Fumiaki Kinoshita
wrote: The discussion has diverged to flaming due to a few offensive people. I guess I shouldn't have posted a proposal here, I should have submitted a patch instead.
2017-03-23 19:53 GMT+09:00 Fumiaki Kinoshita
: It's surprising that they are missing (forgive me, I'm not here to make people grumpy).
_______________________________________________ Libraries mailing list Libraries@haskell.org http://mail.haskell.org/cgi-bin/mailman/listinfo/libraries
_______________________________________________ Haskell-community mailing list Haskell-community@haskell.org http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-community
_______________________________________________ Libraries mailing list Libraries@haskell.org http://mail.haskell.org/cgi-bin/mailman/listinfo/libraries

+1 on Tikhon's points as well. Short and sweet. Get to the point. Leave it at that. The bigger it is, the more there is to argue about! On Wed, Apr 5, 2017 at 11:41 AM, Carter Schonwald < carter.schonwald@gmail.com> wrote:
agreed with Tikhon's points, they say it way better than I could
On Mon, Apr 3, 2017 at 4:52 AM, Tikhon Jelvis
wrote: Personally, I would not be against a *short and simple* code of conduct that specifically addresses issues we have seen. I'm imagining clear guidelines that help people express themselves in a thoughtful and polite way. Something in the style of the Hacker News commenting guidelines[1] (at least the first four; the rest are specific to HN/Reddit-like sites).
One of the best examples I've seen in the wild had a single rule: no personal attacks. It's simple to understand and follow with no risk of stifling or derailing real discussions, and yet unambiguously rules out the majority of rude comments I see online (ignoring spam and outright trolling).
I do *not* like Rust's code of conduct specifically. It does not provide clear guidelines on civility/politeness and covers too many other things, including a lot of (often political) baggage. Why is the idea that "everything is a tradeoff" enshrined as a rule? The rule on politeness is clearly deemphasized: "Please be kind and courteous. There’s no need to be mean or rude." is so vague it may as well not be in the code of conduct. We should *assume* people set out to be kind and courteous and help them do that consistently. The "Citizen Code of Conduct" they link to has even more baggage and I believe it should *not* serve as the basis for anything we might adopt as a community.
[1]: https://news.ycombinator.com/newsguidelines.html see section "In Comments"
On Mon, Apr 3, 2017 at 1:13 AM, Simon Peyton Jones via Haskell-community
wrote: Friends
I second what Tom says below.
Almost everyone expresses their views with respect, even when disagreeing. The exceptions are (in my guess) mostly unintentional, at least in the extent of the offence caused. That does not make them unimportant, because a slow slippage in our collective standards is, over time corrosive. But it does mean that we can draw breath, as Tom has helpfully done here, and without condemning anyone reset our standards.
I’ve been talking to a couple of people about whether it would be useful to have an explicit Haskell Community Code of Conduct. Many online communities have one (e.g. Rust https://www.rust-lang.org/en-US/conduct.html), and it might be helpful for everyone to have a concrete baseline rather than an unwritten standard. Any views on that?
Simon
*From:* Libraries [mailto:libraries-bounces@haskell.org] *On Behalf Of *Tom Murphy *Sent:* 02 April 2017 19:18 *To:* Fumiaki Kinoshita
*Cc:* libraries *Subject:* Civility notes (was "Traversable instances for (,,) a b") Hi Fumiaki!
I agree with you that some poorly-chosen words by a few people have soured this conversation, but please don't let that turn you completely off of the productive conversation most of us are attempting to have! I think it's largely been successful, too: even if many of us haven't changed our -1/+1 votes, I for one have had my ideas challenged and have a more nuanced view than before talking with everyone here.
Henning and Edward are two examples (one from each side of the +1/-1 chasm) who have been aided by this discussion, in making important progress to finding a middle ground (each in the form of proposed compiler changes).
To the rest of us: Fumiaki regretting having posted here is a pretty stark example of why speaking politely matters. People being scared away and feeling unwelcome is a real phenomenon, and we need to do our part to fix it. I'd propose:
- If you haven't read it already, SPJ recently wrote a heartfelt letter on the subject [0]. We've gotten better since then, but clearly we're not finished.
- Civility is a norm, and norms sometimes need to be enforced. From a distance, we all look bad (and unwelcoming!) if anyone is hostile and we don't make it clear it's not acceptable. Speak up! That said, everyone makes mistakes - try to give people space to apologize and move on.
- If someone says something insulting to you, please take that as a sign to become more polite, not less so. The downward spiral is real.
If you're called out for saying something regrettable (again, regardless of if you're +1 or -1 on this issue), *please* take our desire for civil conversation seriously. Responses like (I'm paraphrasing, and not trying to cite anyone specifically): "It was a joke (mostly)" and "It's your fault if you didn't get the joke" are worse than not writing anything at all. Ideal would be a quick "Sorry!"
Thanks, all!
Tom
[0] https://mail.haskell.org/pipermail/haskell/2016-September/02 4995.html
On Sun, Apr 2, 2017 at 12:11 PM, Fumiaki Kinoshita
wrote: The discussion has diverged to flaming due to a few offensive people. I guess I shouldn't have posted a proposal here, I should have submitted a patch instead.
2017-03-23 19:53 GMT+09:00 Fumiaki Kinoshita
: It's surprising that they are missing (forgive me, I'm not here to make people grumpy).
_______________________________________________ Libraries mailing list Libraries@haskell.org http://mail.haskell.org/cgi-bin/mailman/listinfo/libraries
_______________________________________________ Haskell-community mailing list Haskell-community@haskell.org http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-community
_______________________________________________ Libraries mailing list Libraries@haskell.org http://mail.haskell.org/cgi-bin/mailman/listinfo/libraries
_______________________________________________ Libraries mailing list Libraries@haskell.org http://mail.haskell.org/cgi-bin/mailman/listinfo/libraries

Rust's code of conduct (and the conduct of leaders) have been very successful at creating a welcoming community. However, those rules were there from the start. What's crucial is that a code of conduct is really agreed upon by a community and its elders. So thanks to Simon Peyton Jones for starting this conversation. In particular, a CoC to address known issues (not just in the present discussion) would probably be easier to agree on.
We should *assume* people set out to be kind and courteous and help them do that consistently.
The guideline I find useful is "assume good faith" (used for instance in Wikipedia), as long as you don't have extraordinary evidence. And that's a guidelines that needs to be stated. Opinions on politeness in the wild are much more varied. How polite do you need to be, if somebody insists on being wrong? And with actual trolls?
Why is the idea that "everything is a tradeoff" enshrined as a rule?
I don't know if it's a strict rule there, how strict it should be, or
whether it works in a CoC. But I find it a very good guideline for educated
debate. I learned it (implicitly) in my academic PL training: PL design is
founded on math but is no science yet. Debate in hard sciences is different.
Because this rule is in fact fundamental to establish respect under
disagreement. The Rust CoC says "There is *seldom* a right answer." If a
question has a right answer, the others become wrong, misguided, heretics,
.... idiots... OK, you can censor the word "idiot", but that won't help
much. Or you can admit that reasonable people might disagree on `Foldable
((,) a)` (as most already agree), and give that as a guideline, just as
"assume good faith". That doesn't make "2 + 2 = 5" legitimate of
course—some "common sense" is still needed.
"There is *seldom* a right answer" is an unstated rule in academic papers
(where it's implied by peer review), and it IMHO works rather well there,
even on the few academics who will loudly proclaim elsewhere there is a
right answer.
Indeed, I don't want to misrepresent SPJ, but I feel he is often happy to
talk about Haskell tradeoffs when they're there, even when others loudly
proclaim Haskell is strictly and clearly better than X.
Cheers,
Paolo
On Apr 3, 2017 10:55, "Tikhon Jelvis"
Personally, I would not be against a *short and simple* code of conduct that specifically addresses issues we have seen. I'm imagining clear guidelines that help people express themselves in a thoughtful and polite way. Something in the style of the Hacker News commenting guidelines[1] (at least the first four; the rest are specific to HN/Reddit-like sites).
One of the best examples I've seen in the wild had a single rule: no personal attacks. It's simple to understand and follow with no risk of stifling or derailing real discussions, and yet unambiguously rules out the majority of rude comments I see online (ignoring spam and outright trolling).
I do *not* like Rust's code of conduct specifically. It does not provide clear guidelines on civility/politeness and covers too many other things, including a lot of (often political) baggage. Why is the idea that "everything is a tradeoff" enshrined as a rule? The rule on politeness is clearly deemphasized: "Please be kind and courteous. There’s no need to be mean or rude." is so vague it may as well not be in the code of conduct. We should *assume* people set out to be kind and courteous and help them do that consistently. The "Citizen Code of Conduct" they link to has even more baggage and I believe it should *not* serve as the basis for anything we might adopt as a community.
[1]: https://news.ycombinator.com/newsguidelines.html see section "In Comments"
On Mon, Apr 3, 2017 at 1:13 AM, Simon Peyton Jones via Haskell-community < haskell-community@haskell.org> wrote:
Friends
I second what Tom says below.
Almost everyone expresses their views with respect, even when disagreeing. The exceptions are (in my guess) mostly unintentional, at least in the extent of the offence caused. That does not make them unimportant, because a slow slippage in our collective standards is, over time corrosive. But it does mean that we can draw breath, as Tom has helpfully done here, and without condemning anyone reset our standards.
I’ve been talking to a couple of people about whether it would be useful to have an explicit Haskell Community Code of Conduct. Many online communities have one (e.g. Rust https://www.rust-lang.org/en-US/conduct.html), and it might be helpful for everyone to have a concrete baseline rather than an unwritten standard. Any views on that?
Simon
*From:* Libraries [mailto:libraries-bounces@haskell.org] *On Behalf Of *Tom Murphy *Sent:* 02 April 2017 19:18 *To:* Fumiaki Kinoshita
*Cc:* libraries *Subject:* Civility notes (was "Traversable instances for (,,) a b") Hi Fumiaki!
I agree with you that some poorly-chosen words by a few people have soured this conversation, but please don't let that turn you completely off of the productive conversation most of us are attempting to have! I think it's largely been successful, too: even if many of us haven't changed our -1/+1 votes, I for one have had my ideas challenged and have a more nuanced view than before talking with everyone here.
Henning and Edward are two examples (one from each side of the +1/-1 chasm) who have been aided by this discussion, in making important progress to finding a middle ground (each in the form of proposed compiler changes).
To the rest of us: Fumiaki regretting having posted here is a pretty stark example of why speaking politely matters. People being scared away and feeling unwelcome is a real phenomenon, and we need to do our part to fix it. I'd propose:
- If you haven't read it already, SPJ recently wrote a heartfelt letter on the subject [0]. We've gotten better since then, but clearly we're not finished.
- Civility is a norm, and norms sometimes need to be enforced. From a distance, we all look bad (and unwelcoming!) if anyone is hostile and we don't make it clear it's not acceptable. Speak up! That said, everyone makes mistakes - try to give people space to apologize and move on.
- If someone says something insulting to you, please take that as a sign to become more polite, not less so. The downward spiral is real.
If you're called out for saying something regrettable (again, regardless of if you're +1 or -1 on this issue), *please* take our desire for civil conversation seriously. Responses like (I'm paraphrasing, and not trying to cite anyone specifically): "It was a joke (mostly)" and "It's your fault if you didn't get the joke" are worse than not writing anything at all. Ideal would be a quick "Sorry!"
Thanks, all!
Tom
[0] https://mail.haskell.org/pipermail/haskell/2016-September/024995.html
On Sun, Apr 2, 2017 at 12:11 PM, Fumiaki Kinoshita
wrote: The discussion has diverged to flaming due to a few offensive people. I guess I shouldn't have posted a proposal here, I should have submitted a patch instead.
2017-03-23 19:53 GMT+09:00 Fumiaki Kinoshita
: It's surprising that they are missing (forgive me, I'm not here to make people grumpy).
_______________________________________________ Libraries mailing list Libraries@haskell.org http://mail.haskell.org/cgi-bin/mailman/listinfo/libraries
_______________________________________________ Haskell-community mailing list Haskell-community@haskell.org http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-community
_______________________________________________ Haskell-community mailing list Haskell-community@haskell.org http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-community

I'm also +1 to a CoC, although have less of an opinion on what shape it should take. CoCs are an effective way of making people who may feel like outsiders to a community feel more welcome. The Haskell community is amazing and inclusive but not the most diverse, and projects which are doing better on that front largely all have CoCs. In terms of what shape it takes: there are lots of off-the-shelf ones for different needs: I'd suggest picking one of them. Tom
El 5 abr 2017, a las 11:44, Paolo Giarrusso
escribió: Rust's code of conduct (and the conduct of leaders) have been very successful at creating a welcoming community. However, those rules were there from the start.
What's crucial is that a code of conduct is really agreed upon by a community and its elders. So thanks to Simon Peyton Jones for starting this conversation. In particular, a CoC to address known issues (not just in the present discussion) would probably be easier to agree on.
We should *assume* people set out to be kind and courteous and help them do that consistently.
The guideline I find useful is "assume good faith" (used for instance in Wikipedia), as long as you don't have extraordinary evidence. And that's a guidelines that needs to be stated. Opinions on politeness in the wild are much more varied. How polite do you need to be, if somebody insists on being wrong? And with actual trolls?
Why is the idea that "everything is a tradeoff" enshrined as a rule?
I don't know if it's a strict rule there, how strict it should be, or whether it works in a CoC. But I find it a very good guideline for educated debate. I learned it (implicitly) in my academic PL training: PL design is founded on math but is no science yet. Debate in hard sciences is different.
Because this rule is in fact fundamental to establish respect under disagreement. The Rust CoC says "There is *seldom* a right answer." If a question has a right answer, the others become wrong, misguided, heretics, .... idiots... OK, you can censor the word "idiot", but that won't help much. Or you can admit that reasonable people might disagree on `Foldable ((,) a)` (as most already agree), and give that as a guideline, just as "assume good faith". That doesn't make "2 + 2 = 5" legitimate of course—some "common sense" is still needed.
"There is *seldom* a right answer" is an unstated rule in academic papers (where it's implied by peer review), and it IMHO works rather well there, even on the few academics who will loudly proclaim elsewhere there is a right answer.
Indeed, I don't want to misrepresent SPJ, but I feel he is often happy to talk about Haskell tradeoffs when they're there, even when others loudly proclaim Haskell is strictly and clearly better than X.
Cheers, Paolo
On Apr 3, 2017 10:55, "Tikhon Jelvis"
wrote: Personally, I would not be against a *short and simple* code of conduct that specifically addresses issues we have seen. I'm imagining clear guidelines that help people express themselves in a thoughtful and polite way. Something in the style of the Hacker News commenting guidelines[1] (at least the first four; the rest are specific to HN/Reddit-like sites). One of the best examples I've seen in the wild had a single rule: no personal attacks. It's simple to understand and follow with no risk of stifling or derailing real discussions, and yet unambiguously rules out the majority of rude comments I see online (ignoring spam and outright trolling).
I do *not* like Rust's code of conduct specifically. It does not provide clear guidelines on civility/politeness and covers too many other things, including a lot of (often political) baggage. Why is the idea that "everything is a tradeoff" enshrined as a rule? The rule on politeness is clearly deemphasized: "Please be kind and courteous. There’s no need to be mean or rude." is so vague it may as well not be in the code of conduct. We should *assume* people set out to be kind and courteous and help them do that consistently. The "Citizen Code of Conduct" they link to has even more baggage and I believe it should *not* serve as the basis for anything we might adopt as a community.
[1]: https://news.ycombinator.com/newsguidelines.html see section "In Comments"
On Mon, Apr 3, 2017 at 1:13 AM, Simon Peyton Jones via Haskell-community
wrote: Friends I second what Tom says below.
Almost everyone expresses their views with respect, even when disagreeing. The exceptions are (in my guess) mostly unintentional, at least in the extent of the offence caused. That does not make them unimportant, because a slow slippage in our collective standards is, over time corrosive. But it does mean that we can draw breath, as Tom has helpfully done here, and without condemning anyone reset our standards.
I’ve been talking to a couple of people about whether it would be useful to have an explicit Haskell Community Code of Conduct. Many online communities have one (e.g. Rust), and it might be helpful for everyone to have a concrete baseline rather than an unwritten standard. Any views on that?
Simon
From: Libraries [mailto:libraries-bounces@haskell.org] On Behalf Of Tom Murphy Sent: 02 April 2017 19:18 To: Fumiaki Kinoshita
Cc: libraries Subject: Civility notes (was "Traversable instances for (,,) a b") Hi Fumiaki!
I agree with you that some poorly-chosen words by a few people have soured this conversation, but please don't let that turn you completely off of the productive conversation most of us are attempting to have! I think it's largely been successful, too: even if many of us haven't changed our -1/+1 votes, I for one have had my ideas challenged and have a more nuanced view than before talking with everyone here. Henning and Edward are two examples (one from each side of the +1/-1 chasm) who have been aided by this discussion, in making important progress to finding a middle ground (each in the form of proposed compiler changes).
To the rest of us: Fumiaki regretting having posted here is a pretty stark example of why speaking politely matters. People being scared away and feeling unwelcome is a real phenomenon, and we need to do our part to fix it. I'd propose:
- If you haven't read it already, SPJ recently wrote a heartfelt letter on the subject [0]. We've gotten better since then, but clearly we're not finished. - Civility is a norm, and norms sometimes need to be enforced. From a distance, we all look bad (and unwelcoming!) if anyone is hostile and we don't make it clear it's not acceptable. Speak up! That said, everyone makes mistakes - try to give people space to apologize and move on. - If someone says something insulting to you, please take that as a sign to become more polite, not less so. The downward spiral is real.
If you're called out for saying something regrettable (again, regardless of if you're +1 or -1 on this issue), *please* take our desire for civil conversation seriously. Responses like (I'm paraphrasing, and not trying to cite anyone specifically): "It was a joke (mostly)" and "It's your fault if you didn't get the joke" are worse than not writing anything at all. Ideal would be a quick "Sorry!"
Thanks, all! Tom
[0] https://mail.haskell.org/pipermail/haskell/2016-September/024995.html
On Sun, Apr 2, 2017 at 12:11 PM, Fumiaki Kinoshita
wrote: The discussion has diverged to flaming due to a few offensive people. I guess I shouldn't have posted a proposal here, I should have submitted a patch instead. 2017-03-23 19:53 GMT+09:00 Fumiaki Kinoshita
: It's surprising that they are missing (forgive me, I'm not here to make people grumpy). _______________________________________________ Libraries mailing list Libraries@haskell.org http://mail.haskell.org/cgi-bin/mailman/listinfo/libraries
_______________________________________________ Haskell-community mailing list Haskell-community@haskell.org http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-community
_______________________________________________ Haskell-community mailing list Haskell-community@haskell.org http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-community
Haskell-community mailing list Haskell-community@haskell.org http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-community

On Wed, 5 Apr 2017, amindfv@gmail.com wrote:
I'm also +1 to a CoC, although have less of an opinion on what shape it should take. CoCs are an effective way of making people who may feel like outsiders to a community feel more welcome. The Haskell community is amazing and inclusive but not the most diverse, and projects which are doing better on that front largely all have CoCs.
In terms of what shape it takes: there are lots of off-the-shelf ones for different needs: I'd suggest picking one of them.
Tom
+1 to a CoC. My sentiments almost exactly mirror Tom's. In addition, one thing that I really like about the Python community is that in addition to a CoC, which I see as a means document (i.e. it is by adhering to the CoC that we create the community that we want), they also have a diversity statement, which I see as an ends document (i.e. an aspirational statement about what the community we want should be). I encourage us to adopt a similar approach. In fact, I imagine that eventually we would have multiple means of working towards our ends; in addition to a CoC, we could have, for example, policies to promote respect and inclusivity in our Summer of Code projects. Best, Jack [0] https://www.python.org/community/diversity/

+1 for a CoC, for the reason that written guidelines are easy to point
someone to rather than reiterating the same guidelines in different ways
every now and then. However, it should be very succinct. Though these are
pretty much common sense guidelines, some of us need to be sensitized
towards them.
-harendra
On 5 April 2017 at 23:38, Jack Hill
On Wed, 5 Apr 2017, amindfv@gmail.com wrote:
I'm also +1 to a CoC, although have less of an opinion on what shape it
should take. CoCs are an effective way of making people who may feel like outsiders to a community feel more welcome. The Haskell community is amazing and inclusive but not the most diverse, and projects which are doing better on that front largely all have CoCs.
In terms of what shape it takes: there are lots of off-the-shelf ones for different needs: I'd suggest picking one of them.
Tom
+1 to a CoC. My sentiments almost exactly mirror Tom's.
In addition, one thing that I really like about the Python community is that in addition to a CoC, which I see as a means document (i.e. it is by adhering to the CoC that we create the community that we want), they also have a diversity statement, which I see as an ends document (i.e. an aspirational statement about what the community we want should be). I encourage us to adopt a similar approach. In fact, I imagine that eventually we would have multiple means of working towards our ends; in addition to a CoC, we could have, for example, policies to promote respect and inclusivity in our Summer of Code projects.
Best, Jack
[0] https://www.python.org/community/diversity/
_______________________________________________ Haskell-community mailing list Haskell-community@haskell.org http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-community
participants (12)
-
amindfv@gmail.com
-
Andreas Abel
-
Bryan Richter
-
Carter Schonwald
-
Elliot Cameron
-
Francesco Ariis
-
Harendra Kumar
-
Henning Thielemann
-
Jack Hill
-
Paolo Giarrusso
-
Simon Peyton Jones
-
Tikhon Jelvis