Skip to content

Conversation

matdotcx
Copy link

@matdotcx matdotcx commented Oct 3, 2025

Summary

Major revision of community governance documentation to improve clarity, enforceability, and vendor participation guidelines.

New Documents

  • Code of Conduct v2.0 - Comprehensive CoC with clear enforcement levels
  • Community Guidelines - Practical participation guidance and best practices
  • Vendor Policy - Specific rules for commercial vendor participation

Key Improvements

Code of Conduct v2.0

  • 4-level violation structure (Minor - Moderate - Serious - Severe)
  • Specific consequences for each level
  • Clear reporting process (admin@macadmins.org, @admins mention, DMs)
  • Appeals process with 7-day review timeline and MAF Board final decision
  • Admin responsibilities and authority clearly defined
  • Progressive discipline framework
  • Response time expectations

Community Guidelines

  • Getting started guide for new members
  • Communication best practices (threads, DMs, reactions)
  • Technical discussion etiquette (asking and answering questions)
  • Debate and disagreement handling
  • Channel-specific guidance
  • Content sharing rules and self-promotion guidelines
  • Accessibility and inclusion considerations
  • Topics to approach carefully (politics, religion)
  • Privacy and data protection guidelines

Vendor Policy

  • Clear acceptable vs unacceptable vendor behaviors
  • DM guidelines (addresses cold-outreach problem)
  • Channel-specific rules for vendor participation
  • Competitor disparagement policy
  • Identity verification requirements
  • Enforcement aligned with CoC levels
  • Best practices with real examples
  • Partnership and sponsorship process

Contact Information Integrated

Uses the contact methods from monthly #announce posts:

Next Steps

  1. Review by Admin Team - Ensure enforcement procedures are practical
  2. Review by MAF Board - Approve governance changes
  3. Community Announcement - 30-day notice before enforcement
  4. Update macadmins.org/code-of-conduct website

Test Plan

  • Admin team reviews enforcement levels
  • MAF Board approves governance structure
  • Legal review of appeals process (if needed)
  • Community feedback period
  • Admin training on new procedures

matdotcx and others added 5 commits October 3, 2025 13:36
Major revision of community governance documentation including:

- Code of Conduct v2.0 with clear enforcement levels and procedures
- Community Guidelines with practical participation guidance
- Vendor Policy addressing commercial participation

Key improvements:
- 4-level violation structure with specific consequences
- Detailed reporting process (admin@macadmins.org, @admins, DMs)
- Appeals process with 7-day review timeline
- Admin responsibilities and authority clearly defined
- Comprehensive vendor participation guidelines
- Accessibility and inclusion considerations
- Channel-specific guidelines and best practices

All documents cross-reference and support admin enforcement procedures.
Changes:
- Remove user bot section - only MAF-approved bots allowed
- Update data retention - Business+ plan has full retention, not 90 days
- Threading guidance - most channels don't thread (predate feature)
- Technical help clarification - educate and lift up, not do work for free
- Add #politics private channel access instructions
- Add #jobs-board / #jobs-chat structure explanation
- Update all threading references to respect channel norms
Changes:
- Replace #github/#opensource with #vendor-announce channel
- Add vendor-announce channel purpose and guidelines
- Update #jobs to #jobs-board and #jobs-chat split
- Add salary disclosure requirements (legally mandated by location)
- Change "#random and Social Channels" to "Social Channels"
- Update job posting requirements and legal compliance
- Add vendor-announce example in good participation section
- Add missing salary disclosure example in bad participation section
Changes:
- Update all markdown links to use proper underscore filenames
  - code-of-conduct.md -> Code_of_Conduct.md
  - community-guidelines.md -> Community_Guidelines.md
  - vendor-policy.md -> Vendor_Policy.md
- Remove broken cross-repo runbooks links
- Update runbooks references to be admin-facing only
- Clean up external repository links
Copy link
Contributor

@grahampugh grahampugh left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for this, there's some great additions and modifications in this revision.

I'm not totally sure about splitting up the CoC and Guidelines. Is someone not following the guidelines violating the CoC?

There also seems to be a little too much overlap/repetition between vendor guidelines in the Guidelines page and those in the Vendor Policy.

I've left a few inline comments. Feel free to ignore!

- Current Admins are announced monthly in #announce
- Any Admin can help, or will connect you with the right person

2. **Use the @admins mention** in the channel (for urgent matters)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not sure this will work in a private channel? Worth checking what happens. If it doesn't work or does something like invite all admins, might be easier to clarify "public channel".

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It will prompt if none of the admins are in that channel, and offer to invite them.

**Response:**
- Temporary suspension (1-30 days)
- Formal documentation
- Required commitment to follow CoC
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Everyone has to commit to this.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I was imagining that this was a formal, "commit to this and if you break it, we're removing you without appeal". action.

- Temporary suspension (1-30 days)
- Formal documentation
- Required commitment to follow CoC
- Review before reinstatement
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Wondering what new information we should expect on a blocked user that would require a review?

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'd like to leave this open, because we can't really foresee all situations, but I'd like to have the option of new information.

@kitzy
Copy link
Contributor

kitzy commented Oct 4, 2025

No one asked for my opinion on this but I'm going to give it anyway.

The current version feels human. It talks about Mac Admin work being "more art than science" and acknowledges we're "here to learn as professionals." The proposed version reads like an HR manual. You can be professional without being sterile.

A Code of Conduct isn't just rules and punishments. It's a community charter that teaches values, sets expectations, provides practical guidance, and builds trust. The current version does this better despite being less formally structured.

- Provide context (OS version, device model, MDM, etc.)
- Include error messages or logs (use snippets for long text)
- Post in the most relevant channel
- We're here to educate and help you learn, not do your work for you
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This comes across as gatekeeping. It's valid to want people to show effort, but the phrasing could be more welcoming: "We're happy to guide you through solving problems—please share what you've already tried so we can help more effectively."

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Totally fair. What do we think of this?

Asking Questions
We love helping! To get you the best answer quickly:

  • Context helps us help you (OS version, device model, MDM, etc.)
  • Error messages or logs are really helpful (use snippets for long text)
  • A quick search of Slack history might already have your answer
  • Share what you've already tried—it helps us understand where you're stuck

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I like that a lot more.


### Your Data

- The Mac Admins Slack is on a Business+ plan with full message and file retention
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is critical information that appears only in the Community Guidelines. This should be prominent in the main Code of Conduct or have its own privacy policy section. Members need to know upfront that nothing gets deleted.

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think this would be best to include in the README.md in the top of the directory, since that's where most folks will land.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Agreed.

- Don't proselytize
- Admins may intervene if discussions become contentious

**Controversial Topics:**
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Who decides what constitutes a controversial topic?

@matdotcx
Copy link
Author

matdotcx commented Oct 8, 2025

@kitzy @grahampugh updates made - please let me know what your thoughts are.

Specifically @kitzy - I agree, the current version does feel more homey and comfortable, and it worked wonderfully for a long time, but we're closing in on 80k members with some 12k active monthly - and it's not any longer fit for purpose because of that. Folks push boundaries, make outrageous claims, and are draining the current Admin team of the will to live.

I'd posit that we need to have something more formal, but we can inject some humanity back in; that's why it's in git, I suppose, so we can all contribute. I'm not a dictator, I'm just trying to stem the bleeding 🫠

@matdotcx matdotcx changed the title Add: Code of Conduct v2.0 and Community Governance Policies Add: Code of Conduct v4.0 and Community Governance Policies Oct 8, 2025
Copy link

@tbridge tbridge left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Are we aiming for "Any conduct that could reasonably be considered inappropriate in a professional setting" to be a catch-all for things that aren't specifically mentioned above? There are a wide number of geographies and cultures represented by the Slack, and professional setting ranges widely.

@tbridge
Copy link

tbridge commented Oct 8, 2025

With regard to admin behavior, is "Admins who do not follow or enforce this Code of Conduct, or who abuse their position, may face temporary or permanent removal from the Admin team" not going far enough perhaps, and discipline may need to include temporary or permanent suspension from the Slack?

- Search before asking - your question may be answered already

**Be Respectful of Time**
- Don't use @channel or @here unless absolutely necessary
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We don't currently allow @channel or @here unless you're an admin.


### Technical Discussions

**Asking Questions**
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe also "Don't ask to ask. Just ask your questions, it's easier, and questions are absolutely welcome and expected."

- Potential temporary channel restrictions

#### Level 3: Serious Violation
**Examples:** Harassment, discriminatory behavior, repeated moderate violations, doxxing, threats, impersonation (including vendor impersonation or astroturfing)
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should this also include data scraping?

**Not Allowed:**
- Pure sales pitches disguised as conference announcements
- Repeatedly posting about the same event

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do we want a section here for posting in #meetups ? Essentially ensuring the event is open to those who wish to attend, that you can't post an invite that is only eligible for their own customers to attend, etc?

- Replaced vague "professional setting" catch-all with objective standard: "conduct that creates a hostile, intimidating, or exclusionary environment"
- Clarified that admin misconduct consequences can include both removal from admin role and suspension from Slack workspace
- Added explicit MAF Board authority for determining consequences

This addresses concerns about cultural relativism in the catch-all and ensures accountability extends to Slack participation, not just admin status.

Co-Authored-By: Claude <noreply@anthropic.com>
@matdotcx
Copy link
Author

matdotcx commented Oct 8, 2025

Thanks @tbridge for the feedback. I've pushed changes addressing both concerns:

Catch-all Clause (Issue 1)

Replaced the vague "professional setting" standard with more objective language:

Before: "Any conduct that could reasonably be considered inappropriate in a professional setting"

After: "Any conduct that creates a hostile, intimidating, or exclusionary environment for community members (including sustained patterns of behavior that may individually seem minor but collectively undermine community safety)"

This addresses your concern about cultural relativism—"professional" varies widely across geographies and cultures, so we now use an objective standard focused on environmental impact and harm rather than subjective cultural norms.

Admin Accountability (Issue 2)

Expanded the "Admin Accountability" section to explicitly clarify that consequences for misconduct can include both removal from the admin role AND suspension from the Slack workspace:

New section: "Consequences of Misconduct" which lists:

  • Temporary or permanent removal from the Admin team
  • Temporary or permanent suspension from the Slack workspace
  • Other corrective action determined by the MAF Board

Pushed to the branch. Let me know if you'd like further refinements!

- Add data scraping as unacceptable behavior in Code of Conduct: "Scraping, harvesting, or collecting member data without authorization (including email addresses, usernames, profiles, or workspace metadata)"
- Clarify in Vendor Policy #conferences section that data harvesting and email collection from events without consent is prohibited

This closes the gap on preventing unauthorized bulk data collection both in general CoC and specifically for vendor/event contexts.
- Events posted in #meetups must be open to all community members
- Prohibit vendor-exclusive, customer-only, or invite-only events
- Clarify that internal company meetings should not be posted
- Require transparency about vendor sponsorship or hosting

This ensures meetups are community-focused and prevents vendors from using the channel for exclusive lead generation.
@kitzy
Copy link
Contributor

kitzy commented Oct 9, 2025

Specifically @kitzy - I agree, the current version does feel more homey and comfortable, and it worked wonderfully for a long time, but we're closing in on 80k members with some 12k active monthly - and it's not any longer fit for purpose because of that. Folks push boundaries, make outrageous claims, and are draining the current Admin team of the will to live.

I'd posit that we need to have something more formal, but we can inject some humanity back in; that's why it's in git, I suppose, so we can all contribute. I'm not a dictator, I'm just trying to stem the bleeding 🫠

I can certainly understand wanting to reduce the load on the admin team, and as it's been MANY years since I've been involved with the admin team I'm not even going to pretend to know what it's like these days.

That said, my gut is telling me that the tone of the CoC likely isn't the root cause of the issue. If I had to take a wild guess, it's that the people causing trouble likely aren't reading the CoC at all. I don't think stripping the humanity out of the CoC is going to have the effect we want. The people who care enough to read it are usually the ones who are already trying to be good citizens. The ones testing limits or picking fights will ignore it no matter how formal or friendly it sounds.

If anything, a colder and more bureaucratic tone might just make the community feel less worth protecting for the folks who actually care. My hunch is that the solution isn’t just in rewriting policy, it’s in how we enforce it, communicate it, and model the culture we want.

I believe the CoC should serve less as a rulebook and more as a cultural signal, a reminder of who we are when we’re at our best, and a reference point for when someone steps out of line.

@tbridge
Copy link

tbridge commented Oct 9, 2025

@kitzy is it possible that where the human detail belongs is in the README.md file that is the description of values that are supported by the CoC, Vendor Guidelines, etc?

@kitzy
Copy link
Contributor

kitzy commented Oct 9, 2025

@tbridge I think the human feel belongs everywhere. My concern is that if we're linking directly to things like the CoC and vendor guidelines from Slack, not everyone will see the readme.

Also, feel free to take my opinions here with a huge grain of salt. It's been many years since I've been involved in the administration of this Slack and I'm just one very opinionated person.

@kitzy
Copy link
Contributor

kitzy commented Oct 9, 2025

After reflecting on some private feedback, I’ve realized that given my role at a vendor that also happens to be the MAF’s largest sponsor, it's inappropriate for me to weigh in on the CoC or other administrative matters. I’m going to step back from this discussion out of respect for that boundary.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants