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

Community guidelines #47

Merged
merged 19 commits into from Sep 18, 2014

Conversation

Projects
None yet
@nathenharvey
Contributor

nathenharvey commented Aug 28, 2014

This is an initial draft. It's not complete but is far enough along that it's ready for more eyes and comments.

nathenharvey added some commits Aug 28, 2014

@coderanger

This comment has been minimized.

Show comment
Hide comment
@coderanger

coderanger Aug 28, 2014

Contributor

For posterity, here is the original CoC I adapted for the Chef community:

Code of Conduct
===============

Like the technical community as a whole, the Chef team and community is made
up of a mixture of professionals and volunteers from all over the world,
working on every aspect of the mission - including mentorship, teaching and 
connecting people.

Diversity is one of our huge strengths, but it can also lead to communication 
issues and unhappiness. To that end, we have a few ground rules that we ask 
people to adhere to when they're participating within this community and
project. These rules apply equally to founders, mentors and those seeking help 
and guidance.

This isn't an exhaustive list of things that you can't do. Rather, take it in
the spirit in which it's intended - a guide to make it easier to enrich all of
us and the technical communities in which we participate.

This code of conduct applies to all communication: this includes IRC, the
mailing list, the issue tracker, and any other forums which the community uses
for communication.

* Be welcoming, friendly, and patient.
* Be considerate. Your work will be used by other people, and you in turn will
  depend on the work of others. Any decision you take will affect users and
  colleagues, and you should take those consequences into account when making
  decisions.
* Be respectful. Not all of us will agree all the time, but disagreement is no
  excuse for poor behaviour and poor manners. We might all experience some
  frustration now and then, but we cannot allow that frustration to turn into a
  personal attack. It's important to remember that a community where people
  feel uncomfortable or threatened is not a productive one. Members of the
  Chef community should be respectful when dealing with other members as well
  as with people outside the Chef community.
* Be careful in the words that you choose. Remember that sexist, racist, and
  other exclusionary jokes can be offensive to those around you. Be kind to
  others. Do not insult or put down other participants. Behave professionally.
  Remember that harassment and sexist, racist, or exclusionary jokes are not 
  appropriate for the community.
* When we disagree, we try to understand why. Disagreements, both social and
  technical, happen all the time and Chef is no exception. It is important
  that we resolve disagreements and differing views constructively. Remember
  that we're different. The strength of Chef comes from its varied community,
  people from a wide range of backgrounds. Different people have different
  perspectives on issues. Being unable to understand why someone holds a
  viewpoint doesn't mean that they're wrong. Don't forget that it is human to
  err and blaming each other doesn't get us anywhere, rather offer to help
  resolving issues and to help learn from mistakes.


Original text courtesy of the `Speak Up!`_ project.

.. _`Speak Up!`: http://speakup.io/coc.html
Contributor

coderanger commented Aug 28, 2014

For posterity, here is the original CoC I adapted for the Chef community:

Code of Conduct
===============

Like the technical community as a whole, the Chef team and community is made
up of a mixture of professionals and volunteers from all over the world,
working on every aspect of the mission - including mentorship, teaching and 
connecting people.

Diversity is one of our huge strengths, but it can also lead to communication 
issues and unhappiness. To that end, we have a few ground rules that we ask 
people to adhere to when they're participating within this community and
project. These rules apply equally to founders, mentors and those seeking help 
and guidance.

This isn't an exhaustive list of things that you can't do. Rather, take it in
the spirit in which it's intended - a guide to make it easier to enrich all of
us and the technical communities in which we participate.

This code of conduct applies to all communication: this includes IRC, the
mailing list, the issue tracker, and any other forums which the community uses
for communication.

* Be welcoming, friendly, and patient.
* Be considerate. Your work will be used by other people, and you in turn will
  depend on the work of others. Any decision you take will affect users and
  colleagues, and you should take those consequences into account when making
  decisions.
* Be respectful. Not all of us will agree all the time, but disagreement is no
  excuse for poor behaviour and poor manners. We might all experience some
  frustration now and then, but we cannot allow that frustration to turn into a
  personal attack. It's important to remember that a community where people
  feel uncomfortable or threatened is not a productive one. Members of the
  Chef community should be respectful when dealing with other members as well
  as with people outside the Chef community.
* Be careful in the words that you choose. Remember that sexist, racist, and
  other exclusionary jokes can be offensive to those around you. Be kind to
  others. Do not insult or put down other participants. Behave professionally.
  Remember that harassment and sexist, racist, or exclusionary jokes are not 
  appropriate for the community.
* When we disagree, we try to understand why. Disagreements, both social and
  technical, happen all the time and Chef is no exception. It is important
  that we resolve disagreements and differing views constructively. Remember
  that we're different. The strength of Chef comes from its varied community,
  people from a wide range of backgrounds. Different people have different
  perspectives on issues. Being unable to understand why someone holds a
  viewpoint doesn't mean that they're wrong. Don't forget that it is human to
  err and blaming each other doesn't get us anywhere, rather offer to help
  resolving issues and to help learn from mistakes.


Original text courtesy of the `Speak Up!`_ project.

.. _`Speak Up!`: http://speakup.io/coc.html
@btm

This comment has been minimized.

Show comment
Hide comment
@btm

btm Aug 28, 2014

Member

This is heavily adapted from the ChefConf Code of Conduct and I think it's going to need a lot of work to move it away from being about an event, and away from Chef Software being the responsible party.

This process is going to require a lot of trust on a victim's part. I don't want to be reporting incidents to Chef Software and have anyone fearing/believing that person is putting the company before the victim. I'm okay with people who are Chef Software employees being that that role, but I don't think we should be explicitly putting the company in that role through its employees.

I'm willing to do some heavy editing tonight if folks agree.

Member

btm commented Aug 28, 2014

This is heavily adapted from the ChefConf Code of Conduct and I think it's going to need a lot of work to move it away from being about an event, and away from Chef Software being the responsible party.

This process is going to require a lot of trust on a victim's part. I don't want to be reporting incidents to Chef Software and have anyone fearing/believing that person is putting the company before the victim. I'm okay with people who are Chef Software employees being that that role, but I don't think we should be explicitly putting the company in that role through its employees.

I'm willing to do some heavy editing tonight if folks agree.

@nathenharvey

This comment has been minimized.

Show comment
Hide comment
@nathenharvey

nathenharvey Aug 28, 2014

Contributor

It is, indeed mostly the ChefConf Code of Conduct with some edits. I felt it would be better to get something up sooner rather than later and fully agree with your comments, @btm!

Contributor

nathenharvey commented Aug 28, 2014

It is, indeed mostly the ChefConf Code of Conduct with some edits. I felt it would be better to get something up sooner rather than later and fully agree with your comments, @btm!

btm added some commits Aug 29, 2014

Update motiviation
Provides unique verbage that more closely fits the template.
Delete "short version"
This summarizes other text. Perhaps it is ultimately valuable, but if so I believe
we should add it as an amendment after we've come to agreement on the long form.
Shuffle around guidelines
Creates a separate section outlining unacceptable behavior.
Remove staff procedures
This is too heavily written around employees/staff rather than community leaders.
Perhaps a formal process is really necessary for an initial version of this, but
if we're going to lean on the Chef Software Community Team initially to handle
this we're probably best adding procedures as we work out the process for who should
handle complaints.
Update the focus of the incident handling process
The Chef Community Team can be the designated community advocates until we
establish a process and training for others to fill those roles.
@btm

This comment has been minimized.

Show comment
Hide comment
@btm

btm Aug 29, 2014

Member

A pull request against @nathenharvey's repo/branch seemed like the best way to visualize heavy edits. I tried to make changes in commits grouped somewhat by logic. nathenharvey#1

Member

btm commented Aug 29, 2014

A pull request against @nathenharvey's repo/branch seemed like the best way to visualize heavy edits. I tried to make changes in commits grouped somewhat by logic. nathenharvey#1

@mivok

This comment has been minimized.

Show comment
Hide comment
@mivok

mivok Aug 29, 2014

I think it's important that we provide guidance to community leaders, and have some form of process in place, based on http://geekfeminism.wikia.com/wiki/Conference_anti-harassment/Policy#Internal_version_for_conference_staff (which the deleted text appears to). It's important that community leaders deal with reports appropriately and having something written down will help with that, and I'm concerned that adding it in later will end up with a lot of the good parts that have currently been removed staying that way.

mivok commented on 9af7775 Aug 29, 2014

I think it's important that we provide guidance to community leaders, and have some form of process in place, based on http://geekfeminism.wikia.com/wiki/Conference_anti-harassment/Policy#Internal_version_for_conference_staff (which the deleted text appears to). It's important that community leaders deal with reports appropriately and having something written down will help with that, and I'm concerned that adding it in later will end up with a lot of the good parts that have currently been removed staying that way.

This comment has been minimized.

Show comment
Hide comment
@btm

btm Aug 29, 2014

I'd like that conversation to be from the ground up though. I don't like starting with procedures built around the interests of an entity.. I'm all for starting off with this having procedures that we expect the 'community advocates' (the term I used in here) to follow, but I think those are going to look significantly different if they're done right.

In comparison:

  1. we could handle incidents individually like the conferences, where someone emails a community advocate and they take whatever steps they feel are necessary with that information. it ultimately dies in their inbox with their decision.

  2. we have some kind of expectation of documentation when there is a punitive action taken against a community member. For instance...

Alice is a potential user asking questions about Chef on IRC. 
Mallory is a community member who is answering some of those questions.
Wendy is a Community Advocate, who handles community incidents.
Bob is another existing community member.

Alice makes a comment that appears defamatory of Chef to Mallory.
Mallory sends Alice a private message threatening her for what she said.
Alice reports the incident to Wendy, who investigates.
Wendy determines that Mallory should be banned from the IRC channel for her behavior.
Bob thinks Mallory has always been helpful, and wants to know why she was banned.

Where are the facts documented? Are they public? If not, who can access them and when?

btm replied Aug 29, 2014

I'd like that conversation to be from the ground up though. I don't like starting with procedures built around the interests of an entity.. I'm all for starting off with this having procedures that we expect the 'community advocates' (the term I used in here) to follow, but I think those are going to look significantly different if they're done right.

In comparison:

  1. we could handle incidents individually like the conferences, where someone emails a community advocate and they take whatever steps they feel are necessary with that information. it ultimately dies in their inbox with their decision.

  2. we have some kind of expectation of documentation when there is a punitive action taken against a community member. For instance...

Alice is a potential user asking questions about Chef on IRC. 
Mallory is a community member who is answering some of those questions.
Wendy is a Community Advocate, who handles community incidents.
Bob is another existing community member.

Alice makes a comment that appears defamatory of Chef to Mallory.
Mallory sends Alice a private message threatening her for what she said.
Alice reports the incident to Wendy, who investigates.
Wendy determines that Mallory should be banned from the IRC channel for her behavior.
Bob thinks Mallory has always been helpful, and wants to know why she was banned.

Where are the facts documented? Are they public? If not, who can access them and when?

This comment has been minimized.

Show comment
Hide comment
@mivok

mivok Aug 29, 2014

That makes sense. My concerns mostly stem from the desire to avoid choosing well-meaning policies that are actually detrimental to those affected, and to do this by starting with something recommended by those who deal with these issues constantly, e.g. the geekfeminism policies.

mivok replied Aug 29, 2014

That makes sense. My concerns mostly stem from the desire to avoid choosing well-meaning policies that are actually detrimental to those affected, and to do this by starting with something recommended by those who deal with these issues constantly, e.g. the geekfeminism policies.

* **Be welcoming, inclusive, friendly, and patient.**
* **Be considerate.**
* **Be respectful.**
* **Be professional.**

This comment has been minimized.

@stevendanna

stevendanna Sep 4, 2014

Member

I apologize in advance if this is pedantic bike-shedding. Are there aspects of being a professional that we care about that aren't encompassed by being considerate and respectful? This word stood out to me in this list simply because many people participate in free and open source software communities as something a bit separate from their professional lives.

@stevendanna

stevendanna Sep 4, 2014

Member

I apologize in advance if this is pedantic bike-shedding. Are there aspects of being a professional that we care about that aren't encompassed by being considerate and respectful? This word stood out to me in this list simply because many people participate in free and open source software communities as something a bit separate from their professional lives.

This comment has been minimized.

@adamhjk

adamhjk Sep 17, 2014

Contributor

Oddly enough, I actually find myself reacting the same way. We are sometimes deeply un-professional - ohai is named after what a cat says when you startle it, for example. :) I think considerate and respectful cover most of the ground.

@adamhjk

adamhjk Sep 17, 2014

Contributor

Oddly enough, I actually find myself reacting the same way. We are sometimes deeply un-professional - ohai is named after what a cat says when you startle it, for example. :) I think considerate and respectful cover most of the ground.

@stevendanna

This comment has been minimized.

Show comment
Hide comment
@stevendanna

stevendanna Sep 4, 2014

Member

This process is going to require a lot of trust on a victim's part. I don't want to be reporting incidents to Chef Software and have anyone fearing/believing that person is putting the company before the victim. I'm okay with people who are Chef Software employees being that that role, but I don't think we should be explicitly putting the company in that role through its employees.

It would be great if we could find a trusted member of the community that doesn't work with Chef who would be willing to work with Nathan and Mary in this context. I'm sure that there are many hurdles to creating such a position, but it would probably go a long way in creating a process that the entire community can trust. [0]

[0] I, of course, trust Nathan and Mary, but that is because I know Nathan, trust him, and trust his judgement of others.

Member

stevendanna commented Sep 4, 2014

This process is going to require a lot of trust on a victim's part. I don't want to be reporting incidents to Chef Software and have anyone fearing/believing that person is putting the company before the victim. I'm okay with people who are Chef Software employees being that that role, but I don't think we should be explicitly putting the company in that role through its employees.

It would be great if we could find a trusted member of the community that doesn't work with Chef who would be willing to work with Nathan and Mary in this context. I'm sure that there are many hurdles to creating such a position, but it would probably go a long way in creating a process that the entire community can trust. [0]

[0] I, of course, trust Nathan and Mary, but that is because I know Nathan, trust him, and trust his judgement of others.

@nathenharvey

This comment has been minimized.

Show comment
Hide comment
@nathenharvey

nathenharvey Sep 8, 2014

Contributor

I will host a Google Hangout for anyone interested in discussing this PR further. We'll discuss and expand on this PR during the meeting.

Wednesday, September 10 at 19:00 UTC

Please email me directly if you'd like to receive a calendar invite and the URL for the meeting.

Thanks,
Nathen

Contributor

nathenharvey commented Sep 8, 2014

I will host a Google Hangout for anyone interested in discussing this PR further. We'll discuss and expand on this PR during the meeting.

Wednesday, September 10 at 19:00 UTC

Please email me directly if you'd like to receive a calendar invite and the URL for the meeting.

Thanks,
Nathen

@btm

This comment has been minimized.

Show comment
Hide comment
@btm

btm Sep 10, 2014

Member

This meeting that @nathenharvey mentions has been moved to Monday 9/15 at the same time.

Member

btm commented Sep 10, 2014

This meeting that @nathenharvey mentions has been moved to Monday 9/15 at the same time.

nathenharvey added some commits Sep 15, 2014

@coderanger

This comment has been minimized.

Show comment
Hide comment
@coderanger

coderanger Sep 15, 2014

Contributor

Some other language I like that should be seen at least:

When we disagree, we consult others

Disagreements, both social and technical, happen all the time. When they occur, we seek to resolve disagreements and differing views constructively and with the help of the community and community processes. We use the core developer team and the [...] as resources to help chart the right course for [...]. When disagreements escalate, we ask our community leaders to step in to moderate, mediate, and help resolve tense situations.

And from the Django code of conduct:

Be careful in the words that you choose. We are a community of professionals, and we conduct ourselves professionally. Be kind to others. Do not insult or put down other participants. Harassment and other exclusionary behavior aren't acceptable. This includes, but is not limited to:

  • Violent threats or language directed against another person.
  • Sexist, racist, or otherwise discriminatory jokes and language.
  • Posting sexually explicit or violent material.
  • Posting (or threatening to post) other people's personally identifying information ("doxing").
  • Personal insults, especially those using racist or sexist terms.
  • Unwelcome sexual attention.
  • Advocating for, or encouraging, any of the above behavior.
  • Repeated harassment of others. In general, if someone asks you to stop, then stop.
Contributor

coderanger commented Sep 15, 2014

Some other language I like that should be seen at least:

When we disagree, we consult others

Disagreements, both social and technical, happen all the time. When they occur, we seek to resolve disagreements and differing views constructively and with the help of the community and community processes. We use the core developer team and the [...] as resources to help chart the right course for [...]. When disagreements escalate, we ask our community leaders to step in to moderate, mediate, and help resolve tense situations.

And from the Django code of conduct:

Be careful in the words that you choose. We are a community of professionals, and we conduct ourselves professionally. Be kind to others. Do not insult or put down other participants. Harassment and other exclusionary behavior aren't acceptable. This includes, but is not limited to:

  • Violent threats or language directed against another person.
  • Sexist, racist, or otherwise discriminatory jokes and language.
  • Posting sexually explicit or violent material.
  • Posting (or threatening to post) other people's personally identifying information ("doxing").
  • Personal insults, especially those using racist or sexist terms.
  • Unwelcome sexual attention.
  • Advocating for, or encouraging, any of the above behavior.
  • Repeated harassment of others. In general, if someone asks you to stop, then stop.

nathenharvey added some commits Sep 16, 2014

nathenharvey
Updates after a hangout with a number of community members:
* Roles now defined
* Punitive actions listed
* Documentation and appeals are included
@adamleff

This comment has been minimized.

Show comment
Hide comment
@adamleff

adamleff Sep 16, 2014

Contributor

👍

Contributor

adamleff commented Sep 16, 2014

👍

@nathenharvey

This comment has been minimized.

Show comment
Hide comment
@nathenharvey

nathenharvey Sep 16, 2014

Contributor

Do you know of other communities or guidelines that outline roles similar to the roles we've defined here (decider, ombudsperson, and advocates)?

Contributor

nathenharvey commented Sep 16, 2014

Do you know of other communities or guidelines that outline roles similar to the roles we've defined here (decider, ombudsperson, and advocates)?

@coderanger

This comment has been minimized.

Show comment
Hide comment
@coderanger

coderanger Sep 16, 2014

Can we drop the "inhumane"? Sounds very poetic but not super fitting for this kind of prose.

coderanger commented on new/community_guidelines.md in 1aafd50 Sep 16, 2014

Can we drop the "inhumane"? Sounds very poetic but not super fitting for this kind of prose.

@adamhjk

This comment has been minimized.

Show comment
Hide comment
@adamhjk

adamhjk Sep 17, 2014

Contributor

Just to make it formal, pending anything that comes up in tomorrows community meeting, I am 👍 to our adopting this RFC. Immediately upon its adoption, I also nominate @nathenharvey as the ombudsman.

Contributor

adamhjk commented Sep 17, 2014

Just to make it formal, pending anything that comes up in tomorrows community meeting, I am 👍 to our adopting this RFC. Immediately upon its adoption, I also nominate @nathenharvey as the ombudsman.

nathenharvey
Incorporate comments for the community
thanks to @coderanger and @yzl for these suggestions!
@coderanger

This comment has been minimized.

Show comment
Hide comment
@coderanger

coderanger Sep 18, 2014

Contributor

👍 :shipit:

Contributor

coderanger commented Sep 18, 2014

👍 :shipit:

coderanger added a commit that referenced this pull request Sep 18, 2014

@coderanger coderanger merged commit 07257be into chef:master Sep 18, 2014

@pmocek

This comment has been minimized.

Show comment
Hide comment
@pmocek

pmocek Feb 10, 2015

This conflicts with the footer on the Chef docs site (on which this page is published, which states:

Documentation for current versions of Chef. Send feedback to docs@chef.io.
This work is licensed under a Creative Commons Attribution 3.0 Unported
License.

pmocek commented on a768113 Feb 10, 2015

This conflicts with the footer on the Chef docs site (on which this page is published, which states:

Documentation for current versions of Chef. Send feedback to docs@chef.io.
This work is licensed under a Creative Commons Attribution 3.0 Unported
License.

@nathenharvey nathenharvey deleted the nathenharvey:community_guidelines branch Sep 10, 2016

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