Skip to content
Schuyler Duveen edited this page Apr 19, 2022 · 1 revision

Norms and Guidelines

This document was ratified on April 7th, 2022 after the Operations meeting according to the Change Process.

By participating in the Progressive Coders Network you commit to abide by these norms and hold yourself responsible for upholding them.

We want our community to be supportive, welcoming, powerful and inclusive. We should come to this space as Progressives and people that want to demonstrate our values and these norms and learn them more deeply as we work with others and in discussion.

If you are called with a magic word/phrase, then you should perform the expected response ASAP.

If you read nothing else, learn the magic phrases and know to lookup the expected response if you see/hear it, and then read through the Progressive Values section to understand the space you will help cultivate with us.

Channel Discourse Guidelines

True for all channels including #general-chit-chat and even #dumpster-fire and Zoom chats

  • Use Threads! – rather than a main channel, especially if the conversation is between a small set of people – this helps with channel readability.
  • Demonstrate progressive values in the spaces so that newcomers will recognize a progressive space.
  • Prefer progressive news sources - we want to promote places to get news that reflect our progressive values. When you share a link, you also are sharing the source and the values it represents.
  • Contextualize Shared Video Links - because video links require our time to consume (and moderate), it’s inappropriate to share a video link without saying why it’s important to you or why you’re interested in a progressive-oriented discussion.
  • We’re not the whole Internet – Not everything is appropriate for ProgCode (even #dumpster-fire) -- the Internet is a big place, and many conversations/links will be better-suited for other forums. This space is for progressive-oriented and progressive-framed conversations when discussing political news (news or links without any context are not conducive to the mission of ProgCode or community standards for productive dialogue).
  • Focus on root issues - It's ok to be angry at politicians/political events, but we are interested in accountability for the powerful, not pejorative or personal attacks on the people – but on the root causes of their behavior and solutions to address them.
  • No lewd or sexual jokes at all - make a different joke and move that stuff elsewhere. This space should be welcoming of all genders and parents should be comfortable welcoming their adolescent children in this space to learn tech and progressive values.

Norms and Magic Words

Across mediums, Slack, Zoom and beyond, each norm comes with a ‘magic phrase’ that someone can invoke during a discussion or any work – either in public or private. Our goal here is to be simple, so these are easy to learn and participate with.

Official Moderators and Project Leads are especially encouraged to monitor channels and discussions for moments to use a magic phrase, but everyone in the community is empowered to use these magic phrases to reinforce our shared progressive values.

“Let’s hear from everyone” / “Let’s hear from others”

  • What it means:
    1. It does NOT mean that the previous speaker(s) were wrong about anything, necessarily talking too much, or someone that's been quiet specifically must speak next.
    2. It DOES mean that it's a good moment in the meeting for folks to embrace the norm of "move up, move back" -- balancing succinct and purposeful talking/contributing with active listening and vice versa.
    3. We should also be sensitive to the full context of past discussions and someone's experience. If someone has been silent for many past meetings (different from someone new to the space) but is speaking more now, maybe that is good. We should also be sensitive to people with experiences of marginalization -- maybe they have never or rarely been in a supportive space before! That said, a group is better when we balance our participation.
    4. Further reading: Collective Intelligence
  • Expected Response 5. Emoji-affirm in Slack or visually nod/thumbs-up in Zoom to acknowledge the magic phrase and then possibly check your participation level

“Impact”

  • What it means:
    1. This says that someone may have been impacted by the words/topic/link. This is similar to “oops/ouch” norms, but we think the language here is a little more direct (and might feel a little less self-conscious to exercise) but if someone uses these terms, that’s ok and also consider them ‘magic’
    2. This statement does not necessarily imply 'guilt' or fault.
    3. If your words had negative impact, then consider apologizing if someone specific in the space might have felt impacted/targeted with your words, but recognize with our consent values that an impacted person does not owe you attention.
  • How to self-moderate
    1. Be continuously mindful that a discussion can and SHOULD include people from different experiences – avoid all -Isms, and think how to demonstrate constructive presence in the space to someone less experienced than you (we have some participating teenagers and people with kids on zoom calls!)
    2. Use trigger warnings when appropriate. Possibly triggering content should always be behind a link or inside a slack thread reply with the top message – we suggest disabling the auto-image for triggering links.
    • Use Trigger warnings for at least:
      war | assault | trauma | vaccines | death
  • Expected Response
    1. Slack i. Emoji-affirm the statement (heart, thumbs-up, progcode-logo, etc) i. Consider editing or deleting your message i. Consider an apology
    2. Zoom i. The previous speaker (or whoever it was directed toward) should say or type "I appreciate you" and then NOTHING ELSE. This statement is meant only as an acknowledgement of the "magic word" but does not either necessarily admit fault/”guilt” nor does it constitute an apology. Of course, if someone else is speaking, then don’t interrupt them for the response – e.g. you can then type it out. i. The meeting facilitator (including if it was directed toward the facilitator) will decide if it should be addressed further and other attendees should support that decision – i.e. continue with the agenda. i. Any apology should not take time from the meeting (unless the facilitator suggests otherwise) i. Generally apologies are better when they are heart-felt and the person making it has had a moment to think on the events.

“I-statements please”

  • What it means:
    1. Use this phrase when you see a discussion/argument heading toward personal attacks and/or someone posting with negative and/or non-constructive frames.
    2. An "I statement" starts "I feel...." or "When ...., I feel ..." and specifically avoids generalizations, "You ..." statements. It speaks about personal experience and feelings and how the topic is personal to you.
    3. Shifting to this mode should be a prompt toward de-escalation.
  • How to self-moderate: 4. Avoiding personal attacks is NOT the least we can do. We can do more. Even when describing someone’s behavior, it is helpful and often more impactful by describing the specific impact it has on yourself and why/when. 5. If you can start seeing yourself in the American Chopper Meme – or even before! – then it also might be a good moment to use the “Emotional Labor” magic phrase below with a colleague or moderator and/or to consider how to de-escalate.
  • Expected Response:
    1. Slack i. Always Emoji-affirm the magic-phrase (heart, thumbs-up, ok-hand, raising-hand, progcode-logo, socialist pizza) i. All relevant participants should make sure their next statement is an "I statement", in-public and/or in a private chat i. Participants should make an effort toward de-escalation with consensus
    2. Zoom i. Be specifically mindful of the facilitator – e.g. if they want to shift topics or have marked an amount of time for something in the agenda, make sure to respect that i. If you have made a ‘you-statement’ or spoken in a generalization, also make sure to give space/time to who you were talking about if they are present. i. Shift to “I-statements” – describing why something affects you directly, and listen to others

“Emotional Labor” or “E-labor” (for short)

  • What it means: Emotional labor is work supporting other people emotionally or minimizing our own needs for others' comfort/emotional well-being and exercising or communicating Emotional Intelligence into a discussion or space.
    1. While most of these norms/magic words are about moderating our/others impact or impact to the discussion, this one should be invoked for assistance or support
    2. You should use this word if/when you find yourself doing a lot, especially too much, emotional labor – you should DM a supportive colleague in the space or the meeting. If there is not one (like if you’re new!), consider DMing the meeting facilitator/Project Lead or a Moderator
    3. If you identify people may be doing too much/seem stressed/are burned out, look for opportunities to reach out to them to show your concern and offer your support
  • How to self-moderate:
    1. We are literally in this space to support each other. However, be mindful how much you are leaning someone emotionally and try to balance that with supporting them.
  • Expected Response 2. Try to acknowledge it with an emoji or “ACK” (acknowledge) or other visual/text cue 3. Often this will be in a private DM -- it may be asking for help -- that might just be encouragement/support after the person DID emotional labor OR it might be suggesting that they are tired or are not in a good space to do (more) emotional labor that they're identifying in the space. A good first step is to ask “How can I help?” 4. If you are the facilitator, you can either support the person yourself or delegate (likely in-private) someone you trust to support the person 5. Moderators in Slack should provide support and work on balancing solutions for a particular channel, likely keeping the requesting party anonymous and maybe not even that there was a request itself.

“This is a 501c3 space”

  • What it means: Progressive Coders Network is a 501(c)3 non-profit, which means it is a non-partisan space to advocate progressive values, but that has restrictions on what kind of advocacy it can support especially around elections.
  • How to self-moderate:
    1. A 501(c)(3) organization may not engage in electoral activities, and its assets may not be used to affect the outcome of an election. That distinguishes it from a 501(c)(4) or 527 organization. All three - c3, c4, & 527 - may engage in public policy and social issue activity.
    2. That does not restrict individual members from expressing opinions in the workspace about issues involving or the consequences of politicians' actions. If the context of the comment appears to have an electoral purpose (e.g., "We can't allow Candidate X to be re-elected."), then it would constitute advocacy and should not be allowed.
    3. But a comment such as "Representative Y's opposition to a $15 minimum wage is hurting the economy" is issue-based and relevant to the social and charitable purpose of ProgCode.
    4. Related, but not directly connected to our 501c3 status, gratuitous criticisms of persons, unconnected with a specific action or policy should be avoided and be kept to a minimum and considered expendable.
  • Expected Response
    1. Slack i. Delete or edit the relevant comments to uphold a non-partisan space.
    2. Zoom i. Cease advocating for or speaking against candidates and defer to facilitator.

Progressive Values

Besides upholding these values personally, let’s try to demonstrate these values in our discussions

  • Justice: We are committed to fighting, dismantling, and oppressive systems and structures, including economic injustice, racism, patriarchy, homophobia, transphobia, and militarism and build better institutions.
  • Equity: We want to build policies and institutions that promote life, health, and wealth equitably and promote and enable Economic Justice, Environmental Justice, Civil Rights, Racial Justice, Human RIghts, Universal Healthcare, Criminal Justice Reform, Immigration Rights, Voting Rights, Reproductive Rights, Labor Organizing, Indigenous Sovereignty, Equity and Equality
  • Progress: We believe society can change for the better with mutual support, political participation, and activism.
  • Consent: We believe people can and should participate with full “FRIES” consent – both in our work with each other and elsewhere. (Freely given, Reversible, Informed, Enthusiastic, Specific)
  • Contextual: We believe many of our beliefs and habits are situated in the culture we inhabit. Because society can change to be better, we ourselves might be challenged to improve some of our beliefs and habits and welcome that.
  • Feminism: We believe in gender equity in power, wealth and respect. True to the Feminist movement’s tenets we also believe:
    • The marginalized in society have special vantage points on how to improve society and their perspectives and experiences are important to center.
    • The personal is political and personal stories are valuable to the progressive movement.
    • Pluralism: We embrace the value of diversity and inclusion both within political movements and the body politic. A diverse coalition is a strength – e.g. a Green New Deal is more valuable because it brings environmentalism and anti-racism together. Frames of seeing these issues ‘in tension’ is not progressive.
    • Further Reading: bell hooks’ Feminist Theory from margin to center
    • Further Reading: Toward a Feminist Theory of Hospitality
  • Intersectionalism: We believe (from empirical evidence) that intersectional impacts occur for people with multiple marginalized/disempowered identities and are committed to a culture which acknowledges and fights against this.
  • Many Paths: We believe that experience does give us insight into how we need support from each other, ourselves, and the world, but not always about the best tactical path for success for others with different experiences and opportunities.
  • Respect Emotional Triggers: We are not here to troll each other. Respecting our past experiences includes being mindful and acknowledging impact of our words.

Default Channels (#general-chit-chat, #dumpster-fire, etc)

All these channels (including #dumpster-fire)

Channel Description
#ask-the-team Talk with the board, staff, and project leaders about anything related to Prog Code’s mission or strategy.
#dumpster-fire A free-for-all, no holds barred fight on the state of politics. Burn tires, spew negativities, then after let's work on empowering the grassroots. Let off steam, but constructively!
NOTE: this and all channels are still subject to the above Discourse Guidelines and magic phrases
#general-chit-chat A place for non-work-related flimflam, faffing, hodge-podge or jibber-jabber you'd prefer to keep out of more focused work-related channels.
This space should represent our Progressive Values well, so new entrants can feel and understand the values of the community.
#introduction Introduce yourself to the community!
#jobs-and-vols Solicit and seek opportunities, both volunteer and paid
#operations Discuss and engage on ProgCode operational planning and development. Primary initial destination for community members interested in contributing directly to the core ProgCode mission. We answer questions about community norms/guidelines here, too!

If you have questions or suggestions about these Norms and Guidelines, come to this channel!
#pitch-zone Feel free to pitch any mission aligned ideas to the community!
#call-to-action Fundraisers and call to actions. Reachout to the community to effect change outside

Basic Decency

This is from the older (and still active) Progressive Coders Network - Community Guidelines

The Progressive Coders Network Community Slack should be a safe place for everybody regardless of

  • gender, gender identity or gender expression, sexual orientation, disability, physical appearance (including but not limited to body size), race, age, nationality & national origin, religion, class and/or economic background, specific political leaning (as mentioned above, this organization does not discriminate on political leanings, but advocates the values that the Progressive movement embraces)

As someone who is part of this Slack, you agree that:

  • We are collectively and individually committed to safety and inclusivity.
  • We have zero tolerance for abuse, harassment, or discrimination.
  • We respect people’s boundaries and identities.
  • We refrain from using language that can be considered oppressive (systemically or otherwise), eg. sexist, racist, homophobic, transphobic, ableist, classist, etc. - this includes (but is not limited to) various slurs.
  • We avoid using offensive topics as a form of humor.

We actively work towards:

  • Being a safe community
  • Cultivating a network of support & encouragement for each other
  • Encouraging responsible and varied forms of expression

We condemn:

  • Stalking, doxxing, or publishing private information
  • Threats of harm
  • We have zero tolerance for abuse, harassment, or discrimination
  • Anything that compromises people’s safety
  • Solicitation (Note: Solicitation for fundraising is limited in #call-to-action channel)

These things are NOT OK.

If you say something that is found offensive, and you are called out on it, let’s:

  • Listen without interruption.
  • Believe what the person is saying & do not attempt to disqualify what they have to say.
  • Ask for tips / help with avoiding making the offense in the future.
  • Apologize and ask forgiveness.

Script to introduce norms in a zoom meeting

(30sec) Short script for meetings with all experienced attendees:

Let’s affirm our community norms. We want to come to this space being supportive, welcoming, powerful and inclusive. Our magic phrases at https://progco.de/guidelines are

  1. “Let’s hear from everyone”
  2. “Impact”
  3. “I-statements” during arguments
  4. “Emotional Labor”
  5. “This is a 501c3 space”

Let’s acknowledge and balance that and help each other with reminders if we need to adjust our behavior.

(~3 min) Longer script especially for meetings with one or more new attendees

Our community norms for ProgCode meetings and slack are available at https://progco.de/guidelines. We want to come to this space being supportive, welcoming, powerful and inclusive. We have a few magic phrases that everyone is encouraged to invoke if they think it’s appropriate and a moderation team on our slack.

First is “Let’s hear from everyone” - sometimes described as “move up, move back” – if you notice yourself participating too much, then move into active listening and if you have been quiet then consider moving in and participating. If you think the conversation might be unbalanced say or type “Let’s hear from everyone” which doesn’t mean what was just said was wrong or even that participant should participate less, or someone specifically should participate more, but rather let’s all remember this norm and be attentive to our participation.

Second is “Impact” - if someone says something that impacts you negatively or you think might have impacted someone else negatively, then you’ll say "Impact" to remind each other that we want to be mindful of our words and how they impact others. If someone says "impact" after something you've said, then you should respond “I appreciate you” (though please don’t interrupt someone else that’s talking and please follow the facilitator's lead after that). That's not admitting guilt, or anything -- our norms suggest that if you want to apologize for your words, then it's better to do so after the meeting or in-private.

Third is “I-statements please” - if two or more people are going head-to-head and it's not feeling constructive than say "I-statements please" which suggests that if the discussion is to continue, then the speakers should speak in "I-statements" like "When X happens, I feel..." rather than "you XYZ" or speaking about people in categories.

Fourth is "Emotional labor" -- this will often be said in a private DM. It requests some support or assistance in emotional labor that they're doing. If you are feeling like you're taking on more emotional burdens for others in the space without support, then please reach out to someone. If you are new or don't know who to ask, then please DM the facilitator or someone on the [Moderation team] TKTK.

Fifth, and finally, "This is a 501c3 space" -- That means we may not use it to advocate or oppose specific electoral candidates. But a comment such as "Representative Y's opposition to a $15 minimum wage is hurting the economy" is issue-based and relevant to the social and charitable purpose of ProgCode.

Please take some time if you haven't already to read the full guidelines. They talk about specific channels in Slack and how we want to represent our Progressive Values in ProgCode spaces.

Moderation Team

Moderator powers and responsibilities

  • Powers (that Moderators should enable in Slack)
    • Deleting posts
      • Moderators should first flag posts at-issue with the relevant ‘magic words’ in a comment, either on the post, or in-private and request to modify or delete the post.
      • If there’s no appropriate response from the community member or the comment is particularly egregious then the Moderation team can delete on their own. Before deleting, moderators should take a screenshot and will retain it on guidance from the Directors.
      • Moderation decisions should involve at least two moderators – unless the rest of the moderation team is unavailable and something is urgent, in which case moderators should review decisions together afterwards.
      • Expected responses are expected of community members even when the moderation team deleted the post themselves (e.g. in DM to moderators).
  • Responsibilities:
    • Scan the DefaultChannels once-a-day
    • Watching for and tracking repeated violations of our norms and recommending User Bans to Directors when appropriate
    • Moderators may be called to moderate a project channel either in a particular case where someone calls it to their attention, or in a case where moderation help is regularly needed. In these cases, moderators should be in contact with Project Leads in those channels (even if/when – especially when – a Project Lead needs moderation and/or Norm guidance themselves)
    • Moderators will mark their accounts with an agreed way to indicate they are a moderator (e.g. :mindful-emoji: after their display name)
  • There should be a private #moderators channel – that channel should only be about content that needs moderation consideration
  • General channels should include a pinned link for the current list of Moderators and Directors and also to these community guidelines

User Banning

  • This should be exceedingly rare.
  • Users might be banned when repeated or extreme violations of these Norms and Guidelines occur – e.g.,. demanding too much attention of the moderation team or the community, especially in cases where the community member does not follow-through with Expected Responses for magic phrases.
  • At least two moderators should be involved.
  • Moderators will bring up a ban to the Directors, which can be private, and the Directors will decide to activate the ban or not.
  • Because of the sensitivity of some scenarios around user bans (either for legal, personal, or victim wishes) user bans will often not be disclosed to the whole progcode community, but might just be communicated to #onboarding team and relevant project leads. To avoid these scenarios, documents around a user ban should not be retained past 6 months.
  • Moderators may but are not obliged to help mediate or organize mediation after a user ban if the parties involved are both interested and consenting.

Process to create and maintain the Moderators team

  • Directors will take all reasonable means to make sure there are at least 5 moderators that are active in ProgCode.
  • Anyone interested in moderation, should express interest in the #operations channel or to a moderator.
  • Any two project leads can nominate a moderator.
  • There should be a goal of diversity and inclusion to make sure the moderation team represents the wider progressive community across marginalized voices such as gender, race and other axes.
    • Any two members from marginalized backgrounds can nominate themselves or someone else to the moderation team (recognizing that moderation is work, time and attention).
  • Nominations can be affirmed by the ProgCode community (standard procedure)
  • Directors may have final say on who is on the team.