Chapel: Chapel Code of Conduct?

Created on 23 Jan 2018  路  14Comments  路  Source: chapel-lang/chapel

Should Chapel have a Code of Conduct? The main downside would seem to be "how much effort will it take to agree upon a code of conduct?" But that's not really a great excuse.

This issue is intended as a place where people can propose codes of conduct to use as models (or adopt wholesale).

Docs Design

Most helpful comment

I think it's important that we adopt some sort of code of conduct.

Why?

From https://help.github.com/articles/adding-a-code-of-conduct-to-your-project/

Adopt a code of conduct to define community standards, signal a welcoming and inclusive project, and outline procedures for handling abuse.

Or from https://opensource.guide/code-of-conduct/

Why do I need a code of conduct?

A code of conduct is a document that establishes expectations for behavior for your project鈥檚 participants. Adopting, and enforcing, a code of conduct can help create a positive social atmosphere for your community.

Codes of conduct help protect not just your participants, but yourself. If you maintain a project, you may find that unproductive attitudes from other participants can make you feel drained or unhappy about your work over time.
A code of conduct empowers you to facilitate healthy, constructive community behavior. Being proactive reduces the likelihood that you, or others, will become fatigued with your project, and helps you take action when someone does something you don鈥檛 agree with.

Finally https://www.contributor-covenant.org/ summarizes some problems with meritocracy and then says:

An easy way to begin addressing this problem is to be overt in our openness, welcoming all people to contribute, and pledging in return to value them as human beings and to foster an atmosphere of kindness, cooperation, and understanding.

But, you might say, we all already know what being nice is, why do we need a code of conduct?

It's important to outline how we can handle misbehaving individuals or even just misunderstandings before they happen. That will make dealing with such events much more straightforward.

I think our project should be accepting and welcoming of anybody who is interested and able to contribute. Having a code of conduct is just a way of formalizing that sentiment.

All 14 comments

Speaking personally, my preference would be to have one that is short and sweet, doesn't read like a legal document, sets unambiguous expectations, and feels like a no-brainer to anyone we'd want contributing. Basically, something short enough that people will read it, clear enough that they'll understand it, and obvious enough that it'll feel like a no-brainer to civilized, tasteful people. Some other Codes of Conduct that I've read which capture this spirit for me include:

As a counterexample, I was curious about the Apache code of conduct (given that we use their CLAs) and found it overwhelming enough that I didn't make it through it (which seems like a bad sign):

GitHub has this to say about Codes of Conduct: https://help.github.com/articles/adding-a-code-of-conduct-to-your-project/

And it links to this, which seems like a good guide: https://opensource.guide/code-of-conduct/

Personally, I am not a fan of such things though I have some understanding of the appeal
and, sadly, even the need.

I imagine that there will be a day when the project decides it needs one and can afford
the time to develop one and set up the committee to enforce it. If/when that happens
then I think it should as short/specific as possible. I believe that the StackOverflow
"be nice" document is one of the better templates.

A lot of the examples provided had individuals from outside the project leadership monitoring or available to be reached, in case of issues with the more powerful members. While I don't expect us to overstep, I think such a system would do much to establish confidence that the guidelines would actually be followed.

Here are some more we can learn from:

I'm pretty happy with the Rust one in particular.

Now, my personal preference is to start with Contributor Covenant which has the dual advantages of being designed for use by other projects (as compared to say Stack Overflow's code) and also being relatively short. The HTML version is rendered in an enormous font but I find the text version https://www.contributor-covenant.org/ to fit on a page. and be reasonably concise.

One trick the ACCU conference used in their code of conduct is to have the main page be short & refer to other pages for details (in particular the links about reporting, which are not short). We could certainly use a similar tactic to make the main code of conduct shorter.

I think one of the main purposes of a code of conduct is defining what somebody should do if they wish to report unacceptable behavior / want help with such a situation. I think in order to be effective at that, we'll need to have a few project members who are willing to be individually contacted in the event of a problem. By having more than one and having them able to be contacted individually (vs on a mailing list, say), we can allow for people bringing up a problem they had with any individual's behavior.

A lot of the examples provided had individuals from outside the project leadership monitoring or available to be reached

Who do you think would be appropriate to serve in such a role today? Does "outside the project leadership" mean "outside of the Cray Chapel team" (which seems challenging) or simply "someone other than Brad"? (which is much easier)

A lot of the examples provided had individuals from outside the project leadership monitoring or available to be reached

Who do you think would be appropriate to serve in such a role today? Does "outside the project leadership" mean "outside of the Cray Chapel team" (which seems challenging) or simply "someone other than Brad"? (which is much easier)

The example that brought this up to me had a mix of 3 people, with some individuals on the core team and some individuals that were not (I am assuming to remove some potential for association bias). I think we would want to have multiple people monitoring this anyways.

some individuals on the core team and some individuals that were not

OK, thanks. Same question as before: Who outside of the core team do you think would be appropriate for such a role today? (feel free to email the names if you don't want to call them out in public).

I think it's important that we adopt some sort of code of conduct.

Why?

From https://help.github.com/articles/adding-a-code-of-conduct-to-your-project/

Adopt a code of conduct to define community standards, signal a welcoming and inclusive project, and outline procedures for handling abuse.

Or from https://opensource.guide/code-of-conduct/

Why do I need a code of conduct?

A code of conduct is a document that establishes expectations for behavior for your project鈥檚 participants. Adopting, and enforcing, a code of conduct can help create a positive social atmosphere for your community.

Codes of conduct help protect not just your participants, but yourself. If you maintain a project, you may find that unproductive attitudes from other participants can make you feel drained or unhappy about your work over time.
A code of conduct empowers you to facilitate healthy, constructive community behavior. Being proactive reduces the likelihood that you, or others, will become fatigued with your project, and helps you take action when someone does something you don鈥檛 agree with.

Finally https://www.contributor-covenant.org/ summarizes some problems with meritocracy and then says:

An easy way to begin addressing this problem is to be overt in our openness, welcoming all people to contribute, and pledging in return to value them as human beings and to foster an atmosphere of kindness, cooperation, and understanding.

But, you might say, we all already know what being nice is, why do we need a code of conduct?

It's important to outline how we can handle misbehaving individuals or even just misunderstandings before they happen. That will make dealing with such events much more straightforward.

I think our project should be accepting and welcoming of anybody who is interested and able to contribute. Having a code of conduct is just a way of formalizing that sentiment.

As an additional motivation, I really want a full bar on our community standards checklist.

I'm in favor of having a code of conduct. There's some important things that should be kept in mind as we go through this process:

This is not motivated by an individual's current behavior or actions. I think it is fair to say that most disputes/issues of this kind have been handled reasonably well in the past. However, as our community grows, that may not always be the case. It is far easier to resolve a larger dispute when guidelines are already in place, and doing so is more likely to allow all parties to continue participating in our community (as opposed to one party feeling targeted by the guidelines added).

Ben's point about the community standards checklist to me indicates that such a document is considered a general best practice for all projects.

We don't want to rush through this process. Everyone in the community is valuable, and it would be a shame to drive anyone away through a misunderstanding when creating this practice. Perhaps it would be good to create an anonymous form for those that are worried about a particular behavior of their own, or to set up a meeting with someone involved to express these concerns and ensure they are met?

Odd as it may seem, the goal of a set of rules in this regard is for our community to be welcoming to all that are willing to welcome others. There may be times when all of us will need a gentle reminder. Establishing a code of conduct does not mean we will be less forgiving of unintentional transgression, it means that we think that those who have been hurt should be heard and that we have a process in place for moving forward.

Brad's point about keeping it "short and sweet" can still apply here, but I do think it is important that we have a system in place for when things need to escalate quickly.

I think we should have one too. I'm thinking this might be a good ramp-up task for our new team member who arrives next week.

RGSoC has pointed me to these documents describing how another open-source project got better at welcoming newcomers:

and therein is a link about code of conduct and why it matters:

and that even links to this document about how to design a code of conduct:

Was this page helpful?
0 / 5 - 0 ratings