All, It's encouraging to see people working hard to improve and expand on the proposed Code of Conduct for PHP. The strenuous and passionate debates aside, I'm pleased to see so many people working on this together.
I want to propose a scenario that I came across this morning, that might work well as a thought exercise for us as a group in considering how we would APPLY the Code of Conduct to specific members. This morning, Gary Hockin posted a pull request to the Doctrine project, proposing a rename from "Doctrine" to "Shitty". The full pull request is here: https://github.com/doctrine/doctrine2/pull/5626 He then tagged one of the maintainers personally. It was a master stroke of humor and trolling between two friends. The PR was closed as "Cant Fix" due to "licensing issues" and "namespace conflicts." There are several things at issue here: 1. This was an obvious attempt at trolling the Doctrine maintainers, a masterful stroke by a master (and well-known) troll who had no ill-intent. But it was still trolling, violating the CoC. 2. The vulgarity used to rename the project would generally be considered in most circles to be "unprofessional behavior." 3. Tagging the maintainer could be construed as a "personal attack" on that person's work. GeeH is well-known and well-respected in the community. There's no doubt that in some capacity, he represents the community, especially since he speaks regularly at conferences and events. In addition, by reading the comments, it's clear that not everyone got the joke at first (see comments by "nuxwin" on the thread). If someone came to the mediation team with a complaint that this pull request made them feel "unsafe", how would we as a community respond? The Code of Conduct, as written, makes no exception for the intent of the person involved. This is an important problem, because intent ("mens rea" in Latin, for "guilty mind") is typically required to convict people of criminal acts in much of the world. For example, you cannot be convicted of murder unless you had intent to kill the person (or should have known that your actions created the grave risk of death). Our current code makes no exception for intent. Instead, "if you broke it, you're guilty". The second problem here is the fact that all of us probably know that GeeH was kidding, and would make that point to anyone who complained. This is actually a HUGE problem. Being known to the community actually becomes a benefit for people, because their past history is known, and thus they might receive more favorable treatment than those we don't know. Finally, the current Code of Conduct permits any person to complain, even if they weren't a party to the original incident. It permits this by not explicitly restricting it. Even though it should be (and is to the reasonable person) clear that this was a joke, any person in the community could complain and have an argument. I think these are fixable problems. I propose the following: * The Code of Conduct should specifically state that a person who is not a direct party to the alleged incident is not permitted to make a complaint. * We should require that any person who is accused of violating the Code of Conduct clearly have intent to do so. This is a harder standard to prove, but one that should help us from having to deal with edge cases. A death threat is a clear-cut case of intent, for example. * The Code of Conduct should be modified so that abiding or not abiding by it is demonstrable with evidence, taking "feelings" out of it entirely. For example, a person shouldn't be in violation of the code because someone "feels harassed/trolled/etc", it should be because they're ACTUALLY harassed/trolled/etc. * The Code of Conduct should bar filing a claim of harassment if harassment from both parties towards one another can be demonstrated. This avoids a race to the courthouse by one side to punish the other in an argument. Open to suggestions/comments on this. I'll work on pull requests to Derrick's repo over the next couple of days to let folks share their thoughts. Brandon