your project needs a code of conduct, or else

46
YOUR PROJECT NEEDS A CODE OF CONDUCT ... OR ELSE PAUL M. JONES SELF 2016

Upload: paul-jones

Post on 21-Jan-2017

2.478 views

Category:

Internet


0 download

TRANSCRIPT

Page 1: Your Project Needs A Code Of Conduct, OR ELSE

YOUR PROJECT NEEDS A CODE OF CONDUCT

... OR ELSE

PAUL M. JONES SELF 2016

Page 2: Your Project Needs A Code Of Conduct, OR ELSE

TRIGGER WARNINGS

• "Free speech"

• "Identity group"

• Privileged, white, cis-gendered, heterosexual, male

• "Politics"

• Unfortunate but necessary

• A function of the topic

Page 3: Your Project Needs A Code Of Conduct, OR ELSE

INTRODUCTION

Page 4: Your Project Needs A Code Of Conduct, OR ELSE

OVERVIEW

• "Codes of Conduct" as applied to virtual (not physical) spaces

• Motivations and philosophy behind such codes

• "Contributor Covenant" and how it is applied

• How to resist "Contributor Covenant"

• Consequences of resistance

• Preventing the need to fight

Page 5: Your Project Needs A Code Of Conduct, OR ELSE

MOTIVATION AND PHILOSOPHY

Page 6: Your Project Needs A Code Of Conduct, OR ELSE

WHAT ARE CODES OF CONDUCT?

• Establish the ground rules for interactions between participants.

• Codify community values in terms of welcoming and inclusive spaces.

• Signal the intent of maintainers to create safe spaces for all members of the community regardless of race, religion, ethnicity, gender, sexual preference, or physical ability.

• Outline enforcement mechanisms for violations.

• Coraline Ada Ehmke, Intersectional Technologist & Transgender Feminist https://modelviewculture.com/pieces/the-new-normal-codes-of-conduct-in-2015-and-beyond

Page 7: Your Project Needs A Code Of Conduct, OR ELSE

MOTIVATION

• "From the onset open source has been inherently a political movement, a reaction against the socially damaging, anti-competitive motivations of governments and corporations. It began as a campaign for social liberty and digital freedom, a celebration of the success of communal efforts in the face of rampant capitalism. What is this if not a political movement?"

• Coraline Ada Ehmke, "Why Hackers Must Welcome Social Justice Advocates" https://medium.com/@coralineada/1f8d7e216b00

Page 8: Your Project Needs A Code Of Conduct, OR ELSE

PHILOSOPHY

• Social Justice: oppressor/oppressed, intersectionalism

• Not merely individual, but class-based and systemic

• The oppressed are morally superior

• The oppressors should submit to the will of the oppressed

• Seek not social equality, but social superiority and dominance

Page 9: Your Project Needs A Code Of Conduct, OR ELSE

EXAMPLES

Page 10: Your Project Needs A Code Of Conduct, OR ELSE

SOCIAL JUSTICE CODES OF CONDUCT

• Citizen Code of Conduct

• Open Code of Conduct

• Contributor Covenant (Coraline Ada Ehmke)

• http://contributor-covenant.org/version/1/4/

Page 11: Your Project Needs A Code Of Conduct, OR ELSE

CONTRIBUTOR COVENANT

• "Open and welcoming environment ... harassment-free ... regardless of age, body size, disability, ethnicity, gender identity and expression, level of experience, nationality, personal appearance, race, religion, or sexual identity and orientation." (Not ideas, politics, or conscience.)

• Unacceptable behavior includes "other conduct which could reasonably be considered inappropriate in a professional setting." (Arbitrary.)

• "Applies both within project spaces and in public spaces when an individual is representing the project or its community ... Representation of a project may be further defined and clarified by project maintainers." (When are you *not* representing the project?)

Page 12: Your Project Needs A Code Of Conduct, OR ELSE

PUNISHMENT

• "Ban temporarily or permanently any contributor for other behaviors that they deem inappropriate, threatening, offensive, or harmful." (Arbitrary.)

• "Project maintainers who do not follow or enforce the Code of Conduct in good faith may face temporary or permanent repercussions as determined by other members of the project's leadership." (Mutiny?)

Page 13: Your Project Needs A Code Of Conduct, OR ELSE

ENFORCEMENT

• Code itself is only half: need an enforcement mechanism!

• http://contributor-covenant.org/#enforcement

• Distinct lack of due process: privacy for accusers but not accused

• Anyone can bring charges on behalf of anyone else

• Very dependent on the enforcement team

Page 14: Your Project Needs A Code Of Conduct, OR ELSE

APPLICATION

Page 15: Your Project Needs A Code Of Conduct, OR ELSE

OPALGATE

• Elia Schito tweets his political opinions on transgenderism https://twitter.com/krainboltgreene/status/611569515315507200

• *Not* in a Opal-specific channel, but has "Opal Maintainer" in his Twitter profile

• Coraline tries to get him ejected for "hate", with mob support https://github.com/opal/opal/issues/941

Page 16: Your Project Needs A Code Of Conduct, OR ELSE

AWESOME-DJANGO

• https://archive.is/dgilk

• Roberto Rosario denies one or more pull requests

• An issue to apply the Contributor Covenant is made and denied

• Threats ensue: "I will be forwarding the content of this issue to the Chair to evaluate your continued presence in the DSF."

Page 17: Your Project Needs A Code Of Conduct, OR ELSE

ABUSE OF THE COVENANT?

• "The Covenant is about safety, welcoming, respect, inclusiveness!"

• No; threats and intimidation are the *intended use*

• Motte and bailey: http://slatestarcodex.com/2014/11/03/all-in-all-another-brick-in-the-motte/

• Gives leverage over political enemies; totalitarian.

Page 18: Your Project Needs A Code Of Conduct, OR ELSE

RECENT INTRODUCTIONS

• Ruby: https://bugs.ruby-lang.org/issues/12004

• PHP: https://wiki.php.net/rfc/adopt-code-of-conduct

• If you favor the Contributor Covenant, then accept it.

• If not, then resist it.

Page 19: Your Project Needs A Code Of Conduct, OR ELSE

FIGHTING & RESISTANCE

Page 20: Your Project Needs A Code Of Conduct, OR ELSE

OBJECTIVES / OUTCOMES

• Outright rejection

• Standstill / stalemate

• Accept a less-totalizing COC (beware later attempts to modify)

• Once established, probably too late

Page 21: Your Project Needs A Code Of Conduct, OR ELSE

BE PREPARED

• Act immediately; proponents want it passed fast, without discussion

• Emotionally and psychologically draining

• Might be fine in technical talk, but here the proponents will be awful

• Vicious, vitriolic, vindictive

Page 22: Your Project Needs A Code Of Conduct, OR ELSE

ATTACKS & DEFENSES

Page 23: Your Project Needs A Code Of Conduct, OR ELSE

INCREDULITY

• "Wow, just wow ... "

• "I can't even, I literally just can't even ... "

• "It's {$CURRENT_YEAR} and people still think ... "

• These are expressions of an emotional or mental state

• Incredulity is not an argument

Page 24: Your Project Needs A Code Of Conduct, OR ELSE

KAFKATRAP

• EVIL="(racism | sexism | homophobia | transphobia | oppression)"

• "Your refusal to acknowledge that you are guilty of {$EVIL} confirms that you are guilty of {$EVIL}."

• "Even if you do not feel yourself to be guilty of {$EVIL}, you are guilty because you have benefited from the {$EVIL} behavior of others in the system."

Page 25: Your Project Needs A Code Of Conduct, OR ELSE

KAFKATRAP

• Via ESR at http://esr.ibiblio.org/?p=2122

• Goal is to induce guilt in the subject via self-doubt.

• Manipulates subject into supporting the kafkatrapper.

• Results in self-censorship, and spreading it to others.

• Works only because of the subject's good will.

Page 26: Your Project Needs A Code Of Conduct, OR ELSE

KAFKATRAP

• "Skepticism about any particular anecdotal account of {$EVIL}, or any attempt to deny that the particular anecdote implies a systemic problem in which you are one of the guilty parties, is itself sufficient to establish your guilt."

• "The act of arguing against the theory of anti-{$EVIL} demonstrates that you are either {$EVIL} or do not understand the theory of anti-{$EVIL}, and your argument can therefore be dismissed as either corrupt or incompetent."

• "Designated victims of {$EVIL} who question any part of the theory of {$EVIL} demonstrate by doing so that they are not authentic members of the victim class, so their experience can be discounted and their thoughts dismissed as internalized {$EVIL}."

Page 27: Your Project Needs A Code Of Conduct, OR ELSE

KAFKATRAP

• "Your insistence on applying rational skepticism in evaluating assertions of pervasive {$EVIL} itself demonstrates that you are {$EVIL}."

• "The act of demanding a definition of {$EVIL} that can be consequentially checked and falsified proves you are {$EVIL}."

• "Arguing against a Code of Conduct shows the need for a Code of Conduct."

• "You are the {$EVIL} a Code of Conduct will protect against."

• Point out the kafkatrap and its mode of operation.

Page 28: Your Project Needs A Code Of Conduct, OR ELSE

WE'RE JUST BEING LOGICAL

• "It's only (logical | reasonable | rational) to have a COC."

• Logic can only be invoked when starting from true premises; then proceed through syllogisms to a conclusion.

• They *presume* the premises and go directly to conclusion.

• Ask for the true premises, and follow-on syllogisms, and watch them squirm; they have the burden of proof.

• "You are {$EVIL} for questioning what is obvious!"

Page 29: Your Project Needs A Code Of Conduct, OR ELSE

YOU'RE NOT BEING LOGICAL

• "Your opposition is (illogical | irrational | unreasonable)."

• They're not using logic, so you don't have to either.

• If they want to claim "logic" then make them adhere to the form.

• "But I'm a (scientist | engineer | programmer), I do logic all day!"

• Maybe in your technical work, but not in your social interactions.

Page 30: Your Project Needs A Code Of Conduct, OR ELSE

IT'S PREVENTATIVE

• "The COC is to help prevent incidents."

• "The COC is to help resolve possible future incidents."

• Have "incidents" happened before? Which ones?

• Is there reason to believe a COC would have helped?

• Has a COC prevented or resolved "incidents" elsewhere?

• Remember: this is *online*. Conferences do not count.

Page 31: Your Project Needs A Code Of Conduct, OR ELSE

GREATER OPENNESS

• "We want to be open to the largest number of contributors possible."

• Estimates on current openness level (% of internet), how many will be added by a COC (new % of internet) ?

• Who has felt turned-away by lack of COC (with what contributions)?

• Who do we lose by having a COC?

• "Not just *more* contributors, but more *identity classes* of contributors."

Page 32: Your Project Needs A Code Of Conduct, OR ELSE

BE CONSTRUCTIVE

• "You can't just be 'against' things; you need to be constructive!"

• "If you don't like the COC, help make it better!"

• What is "constructive" depends on what you want to "construct."

• Not your responsibility to "fix" someone else's code.

• It can be rejected as an unnecessary "feature."

Page 33: Your Project Needs A Code Of Conduct, OR ELSE

OTHER ATTACKS

• "Why do you hate ... so much ?" (Kafkatrap.)

• "Why do you want to enable {$EVIL} ?" (Kafkatrap.)

• "It's inevitable." (Not really.)

• "If you don't like the COC, contribute elsewhere." (If you want a COC, you contribute elsewhere.)

• "You're not free from consequences!" (Proper consequences are "arguments" not "incitements.")

Page 34: Your Project Needs A Code Of Conduct, OR ELSE

CONDUCTING OPERATIONS

Page 35: Your Project Needs A Code Of Conduct, OR ELSE

HOW TO FIGHT

• Follow your venue rules as closely as possible.

• Patience; collect replies in a single email.

• Critique ideas, not people & traps.

• Address the proposer directly.

• Coordinate with *actual* supporters.

• Tempting to mock, or call proposal ( totalitarian | fascist ).

Page 36: Your Project Needs A Code Of Conduct, OR ELSE

NEVER APOLOGIZE

• No such thing as "doing" something {$EVIL}

• There is only "being" {$EVIL}

• Apology is admitting you are {$EVIL}

• Used as basis for further attacks

• Never resign -- make them force you out

Page 37: Your Project Needs A Code Of Conduct, OR ELSE

CONSEQUENCES

Page 38: Your Project Needs A Code Of Conduct, OR ELSE

DURING AND AFTER

• You will be denounced and disparaged.

• You will be lied about and smeared as {$EVIL}.

• There will be calls to expel you from that and other projects.

• Your employment and career will be threatened outright.

• Consider warning your employer and those close to you.

Page 39: Your Project Needs A Code Of Conduct, OR ELSE

UNOFFICIAL, INFORMAL SANCTION

• Your proposals and papers will be rejected.

• The people you used to associate with, won't any more.

• You will always be remembered with resentment by proponents.

• The fight will have to be its own reward.

Page 40: Your Project Needs A Code Of Conduct, OR ELSE

PREVENTION

Page 41: Your Project Needs A Code Of Conduct, OR ELSE

PREEMPTIVE ACTION

• Easier to prevent in BDFL projects.

• Harder to prevent in "democratic" or "decentralized" projects.

• Once power is available, it will be pursued.

• Nature seeks to fill a vacuum; people seek to fill a power vacuum.

• Fill the "Code of Conduct" vacuum preemptively.

Page 42: Your Project Needs A Code Of Conduct, OR ELSE

ALTERNATIVES

• Code of Merit: http://code-of-merit.org

• NCoC: https://github.com/domgetter/NCoC

• Ruby Community Conduct Guideline: https://www.ruby-lang.org/en/conduct/

• Linux Code of Conflict

• Software Engineering Code of Ethics and Professional Practice: http://www.acm.org/about/se-code

Page 43: Your Project Needs A Code Of Conduct, OR ELSE

PRINCIPLES

• Limits scope to project channels only

• Protects freedom of speech and association outside of project

• Eliminates references or protections based on group identity

• Concentrate on shared project goals, not differing identity groups

• Removes arbitrary policing power and protects due process

Page 44: Your Project Needs A Code Of Conduct, OR ELSE

CONCLUSION

Page 45: Your Project Needs A Code Of Conduct, OR ELSE

CONCLUSION

• "Codes of Conduct" as applied to virtual (not physical) spaces

• Motivations and philosophy behind such codes

• "Contributor Covenant" and how it is applied

• How to resist "Contributor Covenant"

• Consequences of resistance

• Preventing the need to fight

Page 46: Your Project Needs A Code Of Conduct, OR ELSE

THANKS!

• http://paul-m-jones.com

• http://paul-m-jones.com/archives/6214 (On The Proposed PHP Code Of Conduct)

• http://paul-m-jones.com/archives/6220 (You Do Not Have A Right To Contribute)

• @pmjones