New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Chapel Code of Conduct? #8276

Open
bradcray opened this Issue Jan 23, 2018 · 14 comments

Comments

Projects
None yet
5 participants
@bradcray
Member

bradcray commented Jan 23, 2018

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).

@bradcray

This comment has been minimized.

Member

bradcray commented Jan 23, 2018

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):

@bradcray

This comment has been minimized.

Member

bradcray commented Jan 23, 2018

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/

@noakesmichael

This comment has been minimized.

Contributor

noakesmichael commented Jan 23, 2018

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.

@lydia-duncan

This comment has been minimized.

Member

lydia-duncan commented Jan 23, 2018

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.

@mppf

This comment has been minimized.

Member

mppf commented Jan 23, 2018

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.

@bradcray

This comment has been minimized.

Member

bradcray commented Jan 23, 2018

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)

@lydia-duncan

This comment has been minimized.

Member

lydia-duncan commented Jan 23, 2018

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.

@bradcray

This comment has been minimized.

Member

bradcray commented Jan 23, 2018

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).

@mppf

This comment has been minimized.

Member

mppf commented Jan 24, 2018

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’s 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’t 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.

@ben-albrecht

This comment has been minimized.

Contributor

ben-albrecht commented Jan 25, 2018

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

@chapel-lang chapel-lang deleted a comment from buddha314 Jan 26, 2018

@chapel-lang chapel-lang deleted a comment from bradcray Jan 26, 2018

@chapel-lang chapel-lang deleted a comment from buddha314 Jan 26, 2018

@chapel-lang chapel-lang deleted a comment from bradcray Jan 26, 2018

@chapel-lang chapel-lang deleted a comment from buddha314 Jan 26, 2018

@chapel-lang chapel-lang deleted a comment from buddha314 Jan 26, 2018

@lydia-duncan

This comment has been minimized.

Member

lydia-duncan commented Jan 26, 2018

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.

@lydia-duncan

This comment has been minimized.

Member

lydia-duncan commented Jan 26, 2018

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.

@bradcray

This comment has been minimized.

Member

bradcray commented Jan 26, 2018

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.

@mppf

This comment has been minimized.

Member

mppf commented Feb 23, 2018

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:

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment