-
Notifications
You must be signed in to change notification settings - Fork 16
Add: Code of Conduct v4.0 and Community Governance Policies #24
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Conversation
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
There was a problem hiding this 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!
Code_of_Conduct.md
Outdated
- 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) |
There was a problem hiding this comment.
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".
There was a problem hiding this comment.
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.
Code_of_Conduct.md
Outdated
**Response:** | ||
- Temporary suspension (1-30 days) | ||
- Formal documentation | ||
- Required commitment to follow CoC |
There was a problem hiding this comment.
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.
There was a problem hiding this comment.
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.
Code_of_Conduct.md
Outdated
- Temporary suspension (1-30 days) | ||
- Formal documentation | ||
- Required commitment to follow CoC | ||
- Review before reinstatement |
There was a problem hiding this comment.
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?
There was a problem hiding this comment.
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.
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. |
Community_Guidelines.md
Outdated
- 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 |
There was a problem hiding this comment.
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."
There was a problem hiding this comment.
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
There was a problem hiding this comment.
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 |
There was a problem hiding this comment.
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.
There was a problem hiding this comment.
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.
There was a problem hiding this comment.
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:** |
There was a problem hiding this comment.
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?
@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 🫠 |
There was a problem hiding this 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.
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 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
|
||
### Technical Discussions | ||
|
||
**Asking Questions** |
There was a problem hiding this comment.
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) |
There was a problem hiding this comment.
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 | ||
|
There was a problem hiding this comment.
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>
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:
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.
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. |
@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? |
@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. |
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. |
Summary
Major revision of community governance documentation to improve clarity, enforceability, and vendor participation guidelines.
New Documents
Key Improvements
Code of Conduct v2.0
Community Guidelines
Vendor Policy
Contact Information Integrated
Uses the contact methods from monthly #announce posts:
Next Steps
Test Plan