Issue #12004 has been updated by Jay S.


First off, thank you to mods for re-opening account registration. I would like to jump in and comment on this, since I was not able to before.

Coraline Ada Ehmke wrote:
> It's not about my values, it's about our shared values. I'm encouraging us to figure them out, write them down, and enforce them.  

I am okay with writing down our values. I believe that a document that codifies "MINASWAN" would not in itself be a controversial thing to add to Ruby core. I've seen other projects and communities on the internet write down and let people know the things they stand for.

But here's the thing: writing down your values is a "mission statement", not a "code of conduct". **Coraline's CoC does not lay out "values"**. Reading through the Contributor Covenant, all I see is the policing of, and proposed enforcement of, various behaviors. I would ask Coraline the following question: exactly what *are* the values proposed by her CoC? Noting that "harassment-free" is not a "value".

This is why really like the Fedora mission statement-- it actually discusses a code in terms of real values, and not in terms of how they are policed. Please pick one that looks like Fedora's.

If Ruby adopts some kind of document expressing its values, I would not want to see the added burden of describing enforcement of those who fail to follow these values. There are many reasons why I would not want to see this:

1. YAGNI - we can cross the bridge of encoding rules of enforcement when we get there. There is no strong evidence to suggest that moderators of this community will not be able to keep out bad actors without any enforcement guidelines.

2. Moreover, we have already seen that moderators *can* enforce guidelines when necessary, and it doesn't even require a CoC to do it. As evidenced in this very thread, troll accounts were successfully removed when overtly trolling. Note that **no other behavior in this thread was policed** except for the troll account, which is what we would have expected to happen, even with a CoC,

3. This leads me to my last point: **it avoids selective enforcement and abuse**. Any encoding of enforcement rules brings about many opportunities for abuse. I've read this entire thread, and without putting words in anyone's mouths, I'm fairly confident that there were a number of occasions when participants like Coraline and Kurtis would have loved to yell "ban this user, they broke rule X!" simply because they did not like what was being said. The reality is that an objective read-through of this thread shows no overt malice (outside of the intentionally malicious troll account, which was banned without the need for CoC), simply rational beings having passionate disagreements. There were a couple of incidents where parties (on both sides of the discussion) were skating on pretty thin ice, but this isn't a justification for a CoC, but rather, a reason for not having such a document.

Matz, I'm not sure if you agree, but let me back up and say that I do not believe anybody who has participated in this thread so far deserves to be exiled from the Ruby community. I don't even believe anybody needs to attend some sort of "educational seminar to remind them of their cultural privilege" for the things they said. This very discussion shows that Ruby thrives as a MINASWAN community without the need of enforcement. Although passionate, everybody on here was able to restrain themselves, stay on topic, and if this didn't happen, other helpful folks guided things in the right direction. This was done completely without the need for some layer of management-type oversight. 

Quite simply: nobody on Ruby's mailing list has been harassed or marginalized. Not in this thread, and not in any thread to date. I've been on the mailing list for quite some time as a lurker. I have seen many very heated exchanges, but I've never seen anything that came close to requiring any form of moderator action. It's great to have a document to point people at to remind them of the etiquette of a mailing list / issue tracker, but nobody has overtly (or repeatedly) violated the etiquette without it being rectified in the very thread.

I believe that if a CoC (with enforcable penalties) had existed prior to this discussion, you would have seen a number of requests to enforce such a CoC on both ends for this thread. If you agree with the above, you would also believe that these requests would be knee-jerk reactions to statements that others would have misinterpreted as malicious when they were not. Again: no CoC rules (even as per Coraline's listing) have *actually* been broken here.

Finally, Matz, I want to make a specific point about the very fundamental concept of enforceability, something you have raised yourself. At the very least, I would make a request:

If enforcement is added to the CoC, please be very specific about what the boundaries of what "the community" entails. Specifically, I ask that you list the code repositories and/or websites in which enforcement can occur. I would imagine that for Ruby it would be:

* http://*.ruby-lang.org
* http://github.com/ruby/*

No other venue should fall under the jurisdiction of this CoC, because quite simply, you do not act as admin for any other property besides these two places. This means that any enforced rules on this issue tracker, for instance, should not apply to a community member's ability to publish RubyGems. These are two separate organizations. Again, if you choose to add enforcement (please don't), at least codify where they can be enforced.

That said, and here lies the problem, you can't actually stop anyone from publishing RubyGems, just as you can't stop anyone from submitting a PR to Ruby or commenting on issues, as is the reality the internet we live in. I don't see how saying, "Emily P. is no longer allowed to contribute code to Ruby" is going to stop Emily P. from committing to Ruby if she chose to do so under an alias. Because of this simple fact, I can only conclude that the goal of enforcement for Coraline is to give her the ability to publicly shame those she disagrees with by virtue of having "Emily P. cannot contribute to Ruby" as part of the public record. It doesn't actually change Emily's abilities to contribute in any real terms, it just allows for people like Coraline and her Twitter followers to use the enforcement as a badge for their cause. 

Quite simply, I don't see how enforcement would actually work. YAGNI.

----------------------------------------
Misc #12004: Code of Conduct
https://bugs.ruby-lang.org/issues/12004#change-56776

* Author: Coraline Ada Ehmke
* Status: Assigned
* Priority: Normal
* Assignee: Yukihiro Matsumoto
----------------------------------------
I am the creator of the Contributor Covenant, a code of conduct for Open Source projects. At last count there are over 13,000 projects on Github that have adopted it. This past year saw adoption of Contributor Covenant by a lot of very large, very visible projects, including Rails, Github's Atom text editor, Angular JS, bundler, curl, diaspora, discourse, Eclipse, rspec, shoes, and rvm. The bundler team made code of conduct integration an option in the gem creation workflow, putting it on par with license selection. Many open source language communities have already adopted the code of conduct, including Elixir, Mono, the .NET foundation, F#, and Apple's Swift. RubyTogether also adopted a policy to only fund Ruby projects that had a solid code of conduct in place.

Right now in the PHP community there is a healthy debate about adopting the Contributor Covenant. Since it came from and has been so widely adopted by the Ruby community at large, I think it's time that we consider adopting it for the core Ruby language as well.

Our community prides itself on niceness. What a code of conduct does is define what we mean by nice. It states clearly that we value openness, courtesy, and compassion. That we care about and want contributions from people who may be different from us. That we pledge to respect all contributors regardless of their race, gender, sexual orientation, or other factors. And it makes it clear that we are prepared to follow through on these values with action when and if an incident arises.

I'm asking that we join with the larger Ruby community in supporting the adoption of the Contributor Covenant for the Ruby language. I think that this will be an important step forward and will ensure the continued welcoming and supportive environment around Ruby. You can read the full text of the Contributor Covenant at http://contributor-covenant.org/version/1/3/0/ and learn more at http://contributor-covenant.org/. 

Thanks for your consideration and I look forward to hearing your thoughts.


---Files--------------------------------
Screen Shot 2016-01-22 at 6.45.23 PM.png (595 KB)
Ruby_Code_of_Conduct_Numbers.png (119 KB)
Ruby_Code_of_Conduct_Discussion.png (143 KB)


-- 
https://bugs.ruby-lang.org/

Unsubscribe: <mailto:ruby-core-request / ruby-lang.org?subject=unsubscribe>
<http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-core>