derickr / php-community-health

Repository for the PHP Code of Conduct process
21 stars 16 forks source link

CoC Suggestion: combines Contributor Covenant, PgSQL CoC, & SeaPHP UG CoC #14

Closed dshafik closed 8 years ago

dshafik commented 8 years ago

The goal of this is to bring the best parts from numerous sources together into a cohesive whole that:

It is intended to replace the covenant entirely.


PHP Project Code of Conduct (CoC):

  1. The CoC is to provide community guidelines for creating and enforcing a safe, respectful, productive, and collaborative place for any person who is willing to contribute in a safe, respectful, productive and collaborative way.
  2. The CoC is not about being offended. One should always assume good intentions. As with any diverse community, anyone can — and probably will — get offended at anything.
  3. A safe, respectful, productive and collaborative environment is free of personal attacks and disparaging remarks of any kind, this includes (but is not limited to): level of experience, gender, gender identity and expression, sexual orientation, disability, personal appearance, body size, race, ethnicity, age, religion, beliefs, politics, and nationality.
  4. Any sustained disruption of the collaborative space (mailing lists, wiki, bug tracker, official social media accounts) or when representing the PHP project shall be construed as a violation of the CoC and appropriate action will be taken by the CoC committee.
  5. The CoC is only about interaction with the PHP community. Your private and public lives outside of the PHP community are your own. However, we reserve the right to take your public conduct into account when considering your project related conduct.

    Encouraged Behavior

Examples of encouraged behavior include:

Our expectation is that we will treat each other, and others our community interacts with, with consideration, empathy, and respect. Our speech and behavior will be guided by a desire to create and maintain an inclusive community purposed towards sharing knowledge and encouraging enthusiasm for solving problems.

Unacceptable Behavior

Examples of unacceptable behaviour by participants include:

Project maintainers have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct, or to ban temporarily or permanently any contributor for other behaviours that they deem inappropriate, threatening, offensive, or harmful.

By adopting this Code of Conduct, project maintainers commit themselves to fairly and consistently applying these principles to every aspect of managing this project. Project maintainers who do not follow the Code of Conduct may be permanently removed from the project team.

This Code of Conduct applies both within project spaces and in public spaces when an individual is representing the project or its community — specifically, this means anywhere you are using your @php.net email address (e.g. via email or on a contact me slide), or are otherwise presenting yourself as an official representative of the PHP project.

Instances of abusive, harassing, or otherwise unacceptable behaviour may be reported by contacting a project maintainer at codeofconduct@php.net. All complaints will be reviewed and investigated as outlined here and will result in a response that is deemed necessary and appropriate to the circumstances. Maintainers are obligated to maintain confidentiality with regard to both the reporter of an incident, and the accused, and expect all parties to assist in ensuring this.

pbowyer commented 8 years ago

This is a great start @dshafik. One thing I would encourage - as I do all CoC providers - is to give concrete examples of the fuzzier areas (you've done better than most and have very few of these): e.g. give examples distinguishing personal attacks from respectful discourse (it varies from culture to culture: consider Japanese & Dutch approaches; would both se the other's 'respectful' discourse as that?). To whos level of respect is it set? As you rightly say in point 2 everyone will get offended at times - but who's going to be most :smile:

While your CoC doesn't fall into this trap, I wrote up my reasons for asking for clarity in An unintended side-effect of Code of Conducts

mprelude commented 8 years ago

This is clearly preferable to the covenant, I think the language could use some tightening but the intent is very positive.

I'm still against the "unethical & unprofessional" clause because it's so vague.

pmjones commented 8 years ago

@dshafik : If you would, please add to list of free-from-disparagement items: "age, religion, politics, beliefs, conscience, or nationality."

pmjones commented 8 years ago

@dshafik : Also, as has been suggested in other areas, definitions of "abuse" and "harassment" would be very useful.

philsturgeon commented 8 years ago

Other unethical or unprofessional conduct (i.e. anything that would be unacceptable in a professional context. Think: conference, not boardroom).

Dunno if this makes much sense to people who don't conference much. Think what would be acceptable at a reasonable sized company with any sort of standard HR policy.

mstaples commented 8 years ago

Possibly of interest; this is the part of the SeaPHP CoC of which I am proudest: "Our expectation is that we will treat each other, and others our community interacts with, with consideration, empathy, and respect. Our speech and behavior will be guided by a desire to create and maintain an inclusive community purposed towards sharing knowledge and encouraging enthusiasm for solving problems with PHP." Sort of language to clarify the guiding measure by which issues that come up might be examined.

dshafik commented 8 years ago

@pmjones I added beliefs, and politics. Honestly, even as a native English speaker, I don't understand conscience in this context, so I left that out.

@pbowyer, @pmjones: distinguishing between respectful discourse and personal attacks, and the definitions for abuse and harassment are tied together. I think it mostly comes down to the things already outlined, one-offs are abuse, persisted infractions are harassment.

@mstaples added that almost verbatim to the "Encouraged Behaviors" section. It could also be #6 in the opening list too.

@philsturgeon You aren't incorrect, but I dislike your suggestion too — can we try for something better? :)

philsturgeon commented 8 years ago

I wasn't really making a suggestion just pointing out that what's there is a bit odd. Not gonna put too much effort in on this one as the existing CoC was fine, but I'd like this to be a decent alternative all the same. :)

Phil Sturgeon Sent from my iPhone and there's probably typos because I'm probably at the pub.

On Jan 23, 2016, at 3:07 PM, Davey Shafik notifications@github.com wrote:

@pmjones I added beliefs, and politics. Honestly, even as a native English speaker, I don't understand conscience in this context, so I left that out.

@pbowyer, @pmjones: distinguishing between respectful discourse and personal attacks, and the definitions for abuse and harassment are tied together. I think it mostly comes down to the things already outlined, one-offs are abuse, persisted infractions are harassment.

@mstaples added that almost verbatim to the "Encouraged Behaviors" section. It could also be #6 in the opening list too.

@philsturgeon You aren't incorrect, but I dislike your suggestion too — can we try for something better? :)

— Reply to this email directly or view it on GitHub.

Jean85 commented 8 years ago

Wow I really like this proposal! Good work @dshafik.

smalyshev commented 8 years ago

Please see also mine at https://github.com/derickr/php-community-health/pull/18

smalyshev commented 8 years ago

"Project maintainers who do not follow or enforce the Code of Conduct may be permanently removed from the project team." - I think this is problematic. E.g. I may never do anything to enforce CoC - either because others do it or because there is no incidents requiring enforcements, but this is certainly no grounds to removal. I propose to remove "or enforce" part.

smalyshev commented 8 years ago

" specifically, this means anywhere you are using your @php.net email address" - this sounds too wide, people can use this address as mere forwarder or subscribe to unrelated lists with it...

"are otherwise presenting yourself as an official representative of the PHP project" - we do not really have "official representatives" (except for RMs maybe). I'd just drop "representing" part - if we ever need to deal with it, we'll deal with it specifically.

dshafik commented 8 years ago

@smalyshev I concur on the "enforce", it absolutely can be seen the way you took it. It's meant to mean those who actively do not enforce it, rather than passively. That is "Oh, such and such is my friend and is way too important to remove…". Having said that, I agree, that should be removed.

As for representing, I think it's critical that we cover email addresses. If I, for example, go on a third party mailing list and — using my @php.net email — proudly proclaim that I'm against Muslims, and then suddenly there's a news article on The Register "PHP GROUP HATES MUSLIMS!", how we do handle that?

Any time you use your @php.net email address you should understand that you are representing the group (we all have an official position: contributor, or member).

ETA: removed the enforce wording.

smalyshev commented 8 years ago

how we do handle that?

The same way we'd handle any journalistic misrepresentation - by telling the truth to people capable of and interested in hearing it, and ignoring the rest. We should not be guided by something we can be falsely accused in - false accusations are by definition not the product of actual behavior.

Jean85 commented 8 years ago

I agree with Davey... Using a @php.net email warrants the CoC enforcement. You are using a project-provided asset to access a service, so you are actively representing the project.

mprelude commented 8 years ago

Surely using an @php.net e-mail address is the most obvious case of representing PHP. If that doesn't count as "representing the project" then we should probably just drop the "representing the project" clause entirely.

Aldarone commented 8 years ago

I have a small issue with this list :

level of experience, gender, gender identity and expression, sexual orientation, disability, personal appearance, body size, race, ethnicity, age, religion, beliefs, politics, and nationality.

Especially about the « beliefs, politics » part.

With the example of @dshafik hating muslims (Sorry, you started it :wink: ), he could easily argue that it's his right to believe such thing and by the CoC's own word, this belief shall be respected.

smalyshev commented 8 years ago

@mprelude dropping it is fine with me. @Aldarone and this is exactly the problem with these lists. It encourages arguing about things that have very little to do with actual intent of the document, as something that would improve collaboration. Instead of splitting hairs and arguing about semantics of each word, we should be asking ourselves: a) is there a conflict b) does it hurt the collaboration on the project and c) what is the best way to resolve it.

mprelude commented 8 years ago

@Aldarone I would use the term "political beliefs".

As for your example, I absolutely believe that @dshafik has the right to believe whatever he wants about Muslims & Islam, what he doesn't have the right to do is discriminate against Muslims in PHP spaces (protected by the religious beliefs clause) or ramble about Islam in PHP spaces (off topic).

If a user isn't allowed to have strong views on Islam, then should we extend that to strong views on creationism, abortion, economics? At what point do we stop trying to police what you're allowed to think and focus on what is conductive to good collaboration in our shared space?

Aldarone commented 8 years ago

@smalyshev The original list from the Contributor Covenant does not comes out of nowhere though, it is designed to effectively protect the people that are commonly harrassed : The discriminated minorities and women. Those are the ones (not the ONLY ones, but the majority) having a hard time being acknowledged when some people are acting like dicks.

The problem of not having such a list to encompass their struggles is that when you reach stage "c)" in your workflow, the best way to resolve the conflict is too often by asking them not to be so sensitive because they are hurting the collaboration on the project.

@mprelude I prefer that term too but I am still in favor of removing it. The « level of experience, gender, gender identity and expression, sexual orientation, disability, personal appearance, body size, race, ethnicity, age, religion, and nationality » are intimate notions in essence. They are just facts about someone, with no power to impact the outside world on their own.

On the contrary, political beliefs are « world changing » notions. Political beliefs can, and will, oppose to one another because they define our vision of the world we want to live in and the action we are willing to take in order to make this world come true and, sometimes they are fundamentally incompatible.

Finally, I think the goal of a CoC should be to protect « what the people are » and not « what the people are fighting for » (with the exception perhaps of… their right to be treated as equal ?) and that's why those intimate notion have their place in such a list but not the « political ones. »

And about @dshafik's… retrograde views about muslims, I agree with what you said. (But maybe we should stop… We're THAT close from getting him into trouble :smile: )

pmjones commented 8 years ago

@Aldarone:

religion, and nationality are intimate notions in essence. ... political beliefs are « world changing » notions.

Religious beliefs are not world-changing? Often, political and religious belief interact with each other. If you wish to protect religious belief and expression, you must simultaneously protect political belief and expression.

smalyshev commented 8 years ago

@Aldarone our CoC relates to our community. In our community, nobody is "commonly harassed", at least I did not see any evidence of such so far. If you have it, please provide it. I'm not sure what you mean by "encompass their struggles", but if you do not trust this community to be able to identify and combat abuse (again, based on no evidence, but you have right to such opinion) I do not see how appealing to the same community with a list would help any. Lists are not magic, ultimately everything rests on what we as a community deem acceptable. There is no reason to suppose we do deem acceptable or anytime in the past deemed acceptable any harassment, be it "majority", "minority" or anybody else. I think we all intend to keep it this way.

Political beliefs can, and will, oppose to one another

But not in our project spaces. If you can collaborate, do it here. If you can not, do it outside.

mprelude commented 8 years ago

@Aldarone I'm not sure how you can argue political beliefs are world changing and religious beliefs are not. Religious conflict is relevant in every era of world history, from before year 0 to the present day, and religion has shaped ethics and culture for millennia. I don't see how it can be harmful to expect people not to attack or belittle others' political beliefs on a project which has nothing to do with politics.

I also don't think it's valuable to seek to differentiate between traits which people have chosen, and traits which are 'innate'. Body size and level of experience are (typically) a result of our choices, not the circumstances of our birth, yet we rightly see fit to protect people for those characteristics because we want to be an inclusive community.

It is not logically inconsistent to hold that people are entitled to a political belief, entitled not to be harassed or bullied for it in PHP spaces, but that if their beliefs are in violation of the code of conduct that they are not entitled to share them in PHP spaces.

ramsey commented 8 years ago

I think we should focus on enforcing the code of conduct for actions that are in violation of it, not for people's political or religious beliefs. If those political or religious beliefs cause them to make actions that violate the code of conduct, then the code of conduct should be enforced. Otherwise, if they maintain those beliefs yet take no action that would violate the code of conduct, then we can live peaceably together.

pmjones commented 8 years ago

@ramsey Donating to a political cause is, or is not, an "action" ? No, merely being allowed to "think" things without being able to speak or act on them politically is something close to prior restraint.

ramsey commented 8 years ago

Isn't a code of code, by it's very definition, prior restraint? As I said earlier, I want to see the code of conduct limited to specific spaces governed by the project. In these spaces, I do not see a problem with prior restraint as part of maintaining a diverse and welcoming community. Attempting to extend beyond the boundaries of these spaces, though, creates a less welcoming environment, I think.

pmjones commented 8 years ago

I want to see the code of conduct limited to specific spaces governed by the project.

On this we agree.

ieatkillerbees commented 8 years ago

Talking about prior restraint is not helpful here. The PHP group is not the MPAA of the 1940s. If a contributor were to donate to political causes in the name of the PHP group, then that would clearly be an action that falls in the scope of the CoC... I don't think anyone's proposing that they would make such donations in the name of the project.

The current language states "anywhere you are using your @php.net email address...or are presenting yourself as an official representative of the PHP project"

To my understanding, that means contributors are free to donate to anything they like, provided they not do it "as an official representative of the PHP project" or using their @php.net email address. Neither of these restraints can be reasonably understood to restrict any contributor from acting.

Jean85 commented 8 years ago

I agree with @ramsey and @squinones. Actions should be the focal point of the CoC: we should encourage positive actions and restrain negative ones. If someone is/believes/thinks something shouldn't matter at any moment in our project, the only important things should be actions; harassing and hate speech are (negative) actions, collaborating and discussing in a productive manner are (positive) actions.

derickr commented 8 years ago

I think I like this one more as well. It still requires some more work (for example, what's "project maintainers". I have copied it / will copy it to code-of-conduct.rst, after splitting up the documents.