In this presentation, we examine what Codes of Conduct are in the context of open-source projects, their origins in the Social Justice movement, how they are weaponized by Social Justice proponents to threaten continued project membership against their political enemies, how to resist the introduction of a Code of Conduct to your project, and the possible consequences of your resistance.
4. 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
6. 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, Occultist, Code Witch
https://modelviewculture.com/pieces/the-new-normal-codes-of-
conduct-in-2015-and-beyond
7. 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
8. PHILOSOPHY
• Civilization/barbarism? Freedom/coercion?
• Oppressor/oppressed: social justice, intersectional
• 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
10. 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/
11. 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?)
12. 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?)
13. 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
15. 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
16. 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."
17. 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.
18. OTHER 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.
20. OBJECTIVES / OUTCOMES
• Outright rejection
• Standstill / stalemate
• Accept a less-totalizing COC (beware later attempts to modify)
• Once established, probably too late
21. 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
23. 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
24. 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."
25. 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.
26. 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}."
27. 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.
28. 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!"
29. 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.
30. 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.
31. 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."
32. 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."
33. OTHER ATTACKS
• "Why do you want to enable {$EVIL} ?" (Kafkatrap.)
• "It's inevitable." (Not really.)
• "It's a social activity with social rules."
(It's a team or cooperative activity.)
• "If you don't like the COC, contribute elsewhere."
(If you want a COC, you contribute elsewhere.)
• Free and open society means honoring others' freedoms.
• "You're not free from consequences!"
(Proper consequences are "arguments" not "incitements.")
35. 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*
resisters.
• Tempting to mock, or call
proposal ( totalitarian | fascist ).
36. 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
38. 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.
39. 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.
41. 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.
42. 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:
https://www.kernel.org/doc/html/v4.10/process/code-of-
conflict.html
•
43. DONEC QUIS NUNC
ALTERNATIVES
• RedHat/SELF:
"{$PROJECT} expects everyone to conduct themselves
professionally and respectfully."
• Vox Day COC:
"Article 1. This is the Code of Conduct.
Article 2. Anyone advocating or suggesting modifications to this
Code of Contact shall be immediately removed and banished from
this organization."
44. 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
46. CONCLUSION
• I hate politics, but this is a political battle.
• I hate conflict, but this is a defensive action.
• You have to push back against Social Justice COCs.
• You freedom of speech is under attack.
• If you don't defend it, who will?
• Nobody is coming to save you; you will have to save yourself.