This document covers best practices surround the naming, information fields, and roles for the chat channels. Today, we have the following type of chat channels (see chat channel mapping):
- Project channels (e.g., fabric-*, sawtooth-*)
- Working Group channels (e.g., architecture-wg, identity-wg)
- Special Interest Group channels (e.g., social-impact-sig, healthcare-sig)
- Community channels (e.g., community-*)
- Language-specific channels (e.g., russia, portuguese)
- Lab channels (e.g., labs, private-data-objects)
- Program channels (e.g., meetup, ambassador)
- Event channels (e.g., blockchain4good, hackfests)
- Devops channels (e.g., ci-pipeline, jenkins-robot)
Channel Naming
This section covers the best practices for naming for each of the different channel types.
Project Channels
- All project related channels must be named using the project name as the prefix.
- All projects should have a contributors channel (e.g., fabric-contributors, sawtooth-contributors). Naming must be consistent across all projects. Today, we have both
-contributor
and-dev
channels. - Project channels should be limited to ensure that people know where to look and eliminate fragmentation. The following channels should be created for all new projects:
- project
-maintainers
- Used by the maintainers to the project to discuss topics related to the direction and vision of the project. - project
-contributors
- Used by the contributors to the project to discuss topics related to the development of the project. - project
-end-users
- Used by the end users of the projects to discuss topics and questions related to how to use the project.
- project
Working Group Channels
- All working group related channels will be named using
-wg
as a suffix.
Special Interest Group Channels
- All special interest group related channels will be named using
-sig
as a suffix.
Community Channels
Language-specific Channels
Lab Channels
Program Channels
Event Channels
DevOps Channels
Channel Information
Chat allows the administrator to specify a "Topic", "Description", and "Announcement" via the room information. The following best practices will allow people to discover and properly use the channels.
- All channels must have a topic specified. This will be a short description of the channel.
- All channels must have a description specified. This will be a longer description that specifies information about how and for what this channel is used, as well as, when this channel should not be used.
- The "Announcement" field shall only be used when you want to call attention to something specific related to this channel. An example could be a new release of the project.
Roles
This section covers the best practices surrounding roles for the chat channels. Today, our chat program supports the following roles:
- Admin
- Moderator
- Owner
- User
By default, all users will have the User role. The other three roles should be granted only in these instances:
Channel Type | Group | Role |
---|---|---|
Project | Maintainers | Moderator |
Working Group | WG Chair | Moderator |
SIG | SIG Chair | Moderator |
SIG | Ecosystem Point of Contact | Owner |
Program | Responsible LF Staff | Owner |
All | LF Staff | Admin |
All (except program and SIG) | hyperledger-bot | Owner |
From the above, you will see the following:
- Some of our channel types will not have moderators. This is because there is no one person or set of people who act in this role.
- Ownership is only provided to LF Staff. Owners can perform the following tasks over and above moderators that should not be provided to the community: Archive Room, Delete Public Channels, Force Delete Message, Set Leader, Set Moderator, Set Owner, Set React when ReadOnly, Set ReadOnly.
- All channels, except program and SIG channels, will have the owner set to a Hyperledger-owned account to allow for administrators to leave channels that they created.