Defining Community Spaces in Your Code of Conduct
How to define where your code of conduct applies. Covers GitHub repos, Discord, social media, conferences, and the line between community and personal spaces.
Detailed Explanation
Defining Community Spaces
The scope section of your code of conduct must clearly define where it applies. Ambiguity about scope is one of the most common sources of confusion when enforcing a code of conduct.
Typical Community Spaces
Most open source projects have some combination of:
Repository Spaces
- GitHub/GitLab issues and pull requests
- Code review comments
- Wiki pages
- Commit messages
Communication Channels
- Discord or Slack servers
- Mailing lists
- IRC channels
- Forum posts (Discourse, GitHub Discussions)
Events
- Conferences and meetups
- Hackathons
- Online workshops or webinars
- Sprint events
Social Media
- Official project accounts
- Hashtag conversations
- Blog posts on official channels
The Representation Clause
Most codes of conduct include a "representation" clause: the code also applies when someone is officially representing the community. This covers:
- Using an official project email address
- Posting from official social media accounts
- Speaking as a designated representative at events
- Wearing official project merchandise at conferences
Where the Line Gets Blurry
Some situations are harder to categorize:
- Personal social media — Generally outside scope unless someone uses their project role to intimidate
- Private messages — In scope if they use project communication tools; out of scope on personal platforms unless harassing a community member
- Forks and derivatives — Usually out of scope unless they interact with the main community
- Off-topic channels — Still in scope if they are part of official community spaces
Best Practice: Be Explicit
List your community spaces directly in your code of conduct:
This Code of Conduct applies to:
- GitHub repositories under the @myproject organization
- The #myproject Discord server
- The myproject mailing list
- Any event organized under the myproject name
Use Case
Communities with multiple communication channels that need to clearly define where their code of conduct applies, especially when expanding from GitHub-only to multi-platform communities.