
Updating the Go Code of Conduct - anastalaz
https://blog.golang.org/conduct-2018
======
furgooswft13
It seems the primary change was to make the scope of the CoC apply outside of
just chatter in project spaces. With that in mind lines like this seem
particularly troublesome:

> Discussing potentially offensive or sensitive issues; this all too often
> leads to unnecessary conflict.

I understand the want to avoid unnecessary unrelated conflict within the
project, but outside? "potentially offensive or sensitive issues" vary widely
between people and groups of people, as I'm sure we all know.

> political attacks

Well that won't end well, or have any hope of being evenly applied,
considering the omnipresence of partisan politicking especially in online
spaces. It is also by definition a "sensitive issue"

It just sounds like they want everyone involved in the project to be bland
generic PR people at all times.

That's the literal reading at least. However since CoC violations are filtered
through basically one person, personal biases will weigh heavily in how the
rules are applied.

Edit: Honestly this just reaffirms my belief that using anonymous accounts not
linked to your rl identity for non-work content is a Very Good Idea. But not
very in-vogue these days. Regardless of that even, internet mobs are very good
at finding out who the real person behind a meme-posting twitter account etc.
is.

~~~
Chaebixi
> That's the literal reading at least. However since CoC violations are
> filtered through basically one person, personal biases will weigh heavily in
> how the rules are applied.

Yeah. To me, that part of the explanation read something like "we found
democratic governance to be a lot of work, so we've given all our power to a
dictator to make things easier for ourselves."

Democratic and consensus-based governance is hard and takes work, but there
are well-understood reasons why it's a better way to run a community.

------
kevin_b_er
> First, the new code of conduct makes clear that people who participate in
> any kind of harassment or inappropriate behavior, even outside our project
> spaces, are not welcome in our project spaces. This means that the Code of
> Conduct applies outside the project spaces when there is a reasonable belief
> that an individual’s behavior may have a negative impact on the project or
> its community.

So, outsiders can muckrake and as long as they are loud enough, someone will
be removed?

~~~
asfasgasg
> So, outsiders can muckrake and as long as they are loud enough, someone will
> be removed?

No . . . one has to actually violate the code of conduct to be removed. If
there is no muck to be raked, then you should be in the clear.

~~~
Chaebixi
> If there is no muck to be raked, then you should be in the clear.

This argument seems equivalent to the idea there's nothing to fear from
surveillance if you have nothing to hide.

~~~
asfasgasg
I suppose it bears some structural similarities. "You don't need to worry
about X if Y." The X and Y are different, though, so as with many cases where
the variables change, the relationship may or may not hold.

------
guessmyname
It's not clear in the update so, will "real names" be still enforced?

I got banned three times from the Gopher's Slack workspace for using _" John
Smith"_ as my display name. Dave Cheney was one of the admins who decided to
block my account, we calmly discussed about it in private and came to the
conclusion that, because of security concerns, I would never disclose my real
identity. He stated that, as long as the code of conduct requires real names I
would not be able to participate in any type of discussion in that Slack
instance.

I have felt very sad because I continuously help the community by answering
questions on StackOverflow, /r/golang and #golang in two different Slack
workspaces where young people and professionals from other programming
communities share their willing to migrate to Go because of the tooling and —
according to many of them — the welcoming community, something that I also try
to promote, which is kind of ironic because I have felt exactly the opposite
since the enforcement of that document.

EDIT: As someone commented below, it seems that the admins of the Gophers
Slack workspace are not associated in any way with the Go team, at all, so
much that their code of conduct is completely different [1] and the only way
to sign up for an account there is still the same from +4 years ago [2] a form
that requires you to type your real name and agree with their community rules.

[1]
[https://github.com/gobridge/CodeOfConduct](https://github.com/gobridge/CodeOfConduct)

[2]
[https://invite.slack.golangbridge.org](https://invite.slack.golangbridge.org)

~~~
asfasgasg
There's no reference to real names in the new code of conduct. I'm not sure if
there was in the old one either. Perhaps the Slack channel has additional
rules.

~~~
4ad
Contributing to Go has always required real names for the purpose of signing
the CLA.

We have had some big problems with a contributor that wouldn't want to reveal
his name in the early Go days (for anyone interested search for the atom
symbol).

------
whalesalad
I find things like this very strange... why do we need to formally state that
we should be decent human beings?

~~~
geofft
Explicit is better than implicit. Different communities/subcultures have
different standards of desirable and undesirable behavior - some communities
believe that heated and emotionally intense debate is the right way to get a
good result and "decent human beings" have a thick skin and try not to get
offended, some believe that this precludes good results and "decent human
beings" are empathetic and try not to offend.

Since contributing or maintaining an open-source project is a pretty intense
commitment to interpersonal interactions (if we all knew what code was right,
we wouldn't need maintainers), it's good to know what beliefs a community has
about desirable and undesirable means of interpersonal interaction before you
commit to joining it.

Note that as a corollary, I think it's important that there exist communities
have codes of conduct that _aren 't_ based on the Contributor Covenant etc.
Linux's Code of Conflict is a pretty good example:
[https://www.kernel.org/doc/html/v4.12/process/code-of-
confli...](https://www.kernel.org/doc/html/v4.12/process/code-of-
conflict.html) If that doesn't sound like it describes a community you'd
enjoy, maybe it's good to know that well before you burn out on contributing
to Linux (as many technically-prolific contributors have done). If it does,
great, you'll enjoy the project and the mailing list.

~~~
ThrustVectoring
>Explicit is better than implicit.

Not necessarily. Being explicit has tradeoffs, both costs and benefits. One of
the big costs is that it empowers people to behave antisocially on the "right"
side of the explicit line drawn, and teaches people what they can get away
with. Like, real life law grants broad discretion to human judges for exactly
this reason - so that people playing bullshit games can get benchslapped for
it.

------
dijit
I am historically[0], categorically opposed[1] to the cargo cult surrounding
Code of Conducts.. However, this one is quite fair and toothless.

It's not against any people or even _for_ any people- It seems rather devoid
of political affiliation..

It's just about attempting to be fair when interacting with people.. which we
should all be doing anyway.

[https://golang.org/conduct](https://golang.org/conduct)

[0]: [https://blog.dijit.sh/freebsd-i-guess-we-weren-t-destined-
to...](https://blog.dijit.sh/freebsd-i-guess-we-weren-t-destined-to-be)

[1]: [https://blog.dijit.sh/moving-away-from-
github](https://blog.dijit.sh/moving-away-from-github)

~~~
geofft
I would think then that you should be _supportive_ of codes of conduct: you
know up front that you have a fundamental distrust of the FreeBSD project
leadership and GitHub organizational leadership, and _not_ of the Go project's
leadership, precisely because they have different codes of conduct saying
different things.

(I'm opposed to cargo-culting codes of conduct for this exact reason. By all
means, copy the Contributor Covenant word-for-word, but only if you truly
agree with every word!)

~~~
dijit
That is a fair point, using it as a litmus test of what technology leaderships
believe.

However, I have this crazy idea that a technologies worth is not tied to the
political affiliation of the creator or maintainer. I would like us all to
focus on the technology and less on the individual or group.. I imagined it
would be easy- as on the internet, nobody can tell you're a dog.

But apparently I'm wrong.

~~~
geofft
I don't think you're wrong - the technology's _worth_ isn't tied to the
politics of the creator or maintainer. It's important that free software is
free for literally anyone to use without discrimination, and I think you'd
find very few supporters of CoCs who disagree with that (at least, among those
who also identify themselves with the free software or open source movements).

But the problem is that the way technologies _are developed_ is inherently not
a technical problem, it's a social problem. If it were a technical problem,
we'd have code writing and reviewing code, not humans. (I've never heard a
single open-source project saying "The problem is that our maintainers have
too much free time and there are too many high-quality patches to merge.")
It's about how humans interact, and how humans work in community, and how
humans provide each other feedback. And this unavoidably brings up all sorts
of weird human behaviors that have very little to do with technology.

As a random example, I'm writing this comment from the OpenStack Summit, which
is an in-person event that you probably want to be attending if you're
involved with development of OpenStack. If you can't get a visa to the country
where it is, that's a problem. If the conference venue is located somewhere
with laws about bathrooms and gender assigned at birth, and you refuse to use
the bathroom that matches the gender assigned you at birth, you probably won't
be at the venue for the entire day. Should the project care about these
things? Should it decide that these laws are bad and we value our contributors
who have these constraints enough to find a locality without them? This has
_zero_ to do with technology, but (apparently) we've decided that technical
projects give better results with in-person meetings, and if you're going to
be expected to attend in-person meetings, you want to know whether the
community will have your back.

Nobody cares if you're a dog, _if_ you can interact with the other humans (or
dogs) on the project in a productive way. An obvious (and entirely
unfortunate) example is how the language of almost all open-source communities
is English; if your native language is something else, you'd better pick up a
working understanding of technical English. If you're a dog (or a human) who
can't do that, and you try to work inside a technical community, people will
care - not about who you are, but about how you interact.

But again, this is all about how technologies are developed. If you just want
to use it, nobody cares if you're a dog or a corporation or a missile guidance
system. And if you want to fork the project (which is really a misnomer, what
is being forked is _the community_ ), you may. And if you produce patches that
are worthwhile and license them freely, and someone in the original community
wants to engage that community in cherry-picking your patches, they may.

