From ee93b957441530dfe2a79f77b44a042c047f167a Mon Sep 17 00:00:00 2001 From: Erick Zhao Date: Wed, 12 Nov 2025 16:36:11 -0800 Subject: [PATCH 1/8] chore: consolidate Slack info in top-level policy doc --- policy/slack.md | 91 ++++++++++++++++++++++++----- wg-community-safety/slack-access.md | 22 ------- wg-infra/policy/access/slack.md | 29 --------- 3 files changed, 77 insertions(+), 65 deletions(-) delete mode 100644 wg-community-safety/slack-access.md delete mode 100644 wg-infra/policy/access/slack.md diff --git a/policy/slack.md b/policy/slack.md index df50f0a90..c82698e64 100644 --- a/policy/slack.md +++ b/policy/slack.md @@ -1,32 +1,95 @@ # ElectronHQ Slack Workspace -The people working on Electron organize their work using Slack, a "hub for teamwork". Even if you've worked with Slack before, it might be a good idea to review some of the guidelines about what's considered good etiquette in our workspace. +The people working on Electron organize their work using Slack, a "hub for teamwork". +Even if you've worked with Slack before, it might be a good idea to review some of the guidelines +about what's considered good etiquette in our workspace. ## Guidelines -### Reacji and "Post as Announcement" +### Mentions: `@here` and `@channel` -You can "react" to messages with emoji. Apps and bots can, in turn, [perform operations in response to an emoji reaction](https://reacji-channeler.builtbyslack.com/). We in the Electron organization have a powerful emoji, the pineapple :pineapple:. Whenever you react to a message with a pineapple emoji, the message will be cross-posted to the #announcements channel. +Slack allows users to ping everyone present in a channel using three groups: `@here` for all +active members in a channel and `@channel` for everyone in a channel. While we haven't disabled those +groups, _do not use them unless absolutely necessary_. Push notifications are the equivalent of +texting someone. Only use `@`-mentions with exactly the people you _need to reach_. -### Mentions: `@here`, `@channel`, and `@everyone` - -Slack allows users to ping everyone present in a channel using three groups: `@here` for all currently active members in a channel, `@channel` for everyone in a channel, and `@everyone` for literally everyone. While we haven't disabled those groups, _do not use them unless absolutely necessary_. Push notifications are the equivalent of texting someone, only use `@`-mentions with exactly the people you _need to reach_. - -* Do not use **@everyone**. * Do not use **@here** or **@channel** in channels with more than 10 users – and then only if you want to reach all those people. ### Channel Names -Slack uses channels to organize work into "chat rooms". You can read more about Slack channels and [how to use them here](https://slack.com/resources/using-slack/how-to-organize-your-slack-channels). In order to organize channels, we're using _prefixes_. We recommend that you consider using one when creating new channels: +Slack uses channels to organize work into "chat rooms". You can read more about Slack channels and +[how to use them here](https://slack.com/resources/using-slack/how-to-organize-your-slack-channels). +In order to organize channels, we're using _prefixes_. We recommend that you consider using one when +creating new channels: * `announce-`: Announcement channels, not used for general chatter – and excellent for following along. -* `proj-`: Project-specific channels, like `proj-typescript` or `proj-newsletter`. -* `bot-`: Channels used by bots and apps, like `bot-twitter` or `bot-electron-repo`. -* `idea-`: A channel about a project that's not quite a project yet, but worthy of its own channel. +* `bot-`: Channels used by bots and apps, like `#bot-twitter` or `#bot-electron-repo`. +* `devel-`: Channels for evergreen Electron development topics, like `#devel-linux` or `#devel-fiddle`. +* `proj-`: Timeboxed project-specific channels, like `#proj-protect-the-supply-chain`. +* `idea-`: Channels for projects that aren't quite a project yet, but worthy of their own channel. * `wg-`: Channels for governance working groups. * `event-`: Channels for individual events. -* `app-`: Channels for specific apps, like `app-slack`. +* `app-`: Channels for specific apps, like `#app-slack`. ### Prefer Channels, Avoid Direct Messages -Keeping communication and decision-making processes allows future contributors to learn how, and why, decisions were made. Preserving context and allowing other contributors, both future and present, to catch up is one of the big benefits of using Slack. With that in mind, we heavily recommend that you use channels and avoid direct messages. +Keeping communication and decision-making processes allows future contributors to learn how, and why, +decisions were made. Preserving context and allowing other contributors, both future and present, +to catch up is one of the big benefits of using Slack. With that in mind, we heavily recommend that +you use channels and avoid direct messages. + +### Private Slack Channels + +Private channels are discouraged unless there is a clear need, e.g. for sensitive information such +as discussion of vulnerability reports. + +### Shared Slack Channels + +For communicating with larger groups of [collaborators](../../../charter/README.md#definitions) from +external companies sometimes it is more appropriate to create a single shared channel than it is to +invite everyone individually as a guest. + +All shared channels should be public and have to be approved by a Slack Owner before they can be +linked. If a shared private channel needs to be created, a reason should be provided when requesting +the channel. + +## Access + +### Owners + +All members of the Administrative Working Group shall be granted the "Owner" role in Slack. + +Certain members of the Infrastructure Working Group can be granted the "Owner" role in Slack. +Adding members of the Infrastructure Working Group as owners requires a vote from the Administrative Working Group. + +Current infra owners are listed below: + +| Name | Slack Handle | Date Granted | +|------|-----------------|--------------| +| Shelley Vohr | @codebytere | 09-28-2022 | +| Samuel Attard | @marshallofsound | 09-28-2022 | + +Slack requires a single Primary Owner, who will be selected by the Admin WG. +[Samuel Attard](https://github.com/marshallofsound) is the current Primary Owner of the ElectronHQ workspace. + +### Admins + +All members of the [Community & Safety Working Group](../wg-community-safety/README.md) have the +"Admin" role in Slack. + +### Members + +All [maintainers](../../../charter/README.md#definitions) shall have a full-access Slack account on Electron HQ. + +### Guests + +All Multi-Channel and Single-Channel Guests must fill out the [ElectronHQ Slack Maintainer Group form](https://electronjs.org/maintainers/join) +before gaining Slack access. Once this form is filled out, the [Community & Safety Working Group](../wg-community-safety/README.md) +will review the request. If the request is approved, the guest will be added to the applicable channel(s). + +Before a Guest is added to a channel, a message must be posted to that channel stating the intent to +add that guest to the channel after 24 hours and asking for concerns to be raised. Every channel +member must have 24 hours to raise concerns about the guest being added to the channel regardless +of timezone. After 24 hours without any concerns raised, the guest may be added to the channel. +It must be announced in the channel that the guest was added to ensure that all current members are +aware a new guest is now in that channel. \ No newline at end of file diff --git a/wg-community-safety/slack-access.md b/wg-community-safety/slack-access.md deleted file mode 100644 index 4722ec57d..000000000 --- a/wg-community-safety/slack-access.md +++ /dev/null @@ -1,22 +0,0 @@ -# Slack Access - -## Owners - -All members of the Administrative Working Group shall be granted the "Owner" role in Slack. - -Certain members of the Infrastructure Working Group can be granted the "Owner" role in Slack. Adding members of the Infrastructure Working Group as owners requires a vote from the Administrative Working Group. - -Current infra owners are listed below: - -| Name | Slack Handle | Date Granted | -|------|-----------------|--------------| -| Shelley Vohr | @codebytere | 09-28-2022 | -| Samuel Attard | @marshallofsound | 09-28-2022 | - -## Admins - -All members of the Community & Safety Working Group shall be granted the "Admin" role in Slack. - -## Multi-Channel / Single-Channel Guests - -All Multi-Channel / Single-Channel Guests must fill out the [ElectronHQ Slack Maintainer Group form](https://electronjs.org/maintainers/join) before gaining Slack access. Once this form is filled out the Community & Safety Working Group will review the request. If the request is approved, the guest will be added to the applicable channel(s). diff --git a/wg-infra/policy/access/slack.md b/wg-infra/policy/access/slack.md deleted file mode 100644 index 009d168b7..000000000 --- a/wg-infra/policy/access/slack.md +++ /dev/null @@ -1,29 +0,0 @@ -# Slack - -## Slack Owners / Admins - -Slack requires a single Primary Owner, who will be selected by the Admin WG. [Samuel Attard](https://github.com/marshallofsound) is the current Primary Owner of the Slack Workspace. - -Slack Owners / Admins are assigned as per the [Community & Safety Working Group Documentation](../../../wg-community-safety/slack-access.md) - -## Full Users - -All [maintainers](../../../charter/README.md#definitions) shall have a full-access Slack account on Electron HQ. - -## Multi-Channel / Single-Channel Guests - -In a variety of situations, some [collaborators](../../../charter/README.md#definitions) may be added as Guests to the Electron HQ Slack. The process for requesting guest access for a collaborator is detailed in the [Community & Safety Working Group Documentation](../../../wg-community-safety/slack-access.md). - -* People attending Mini-Summits or Hackweeks should be added as single-channel guests to the related `event-*` channel. - -Before a Guest is added to a channel, a message must be posted to that channel stating the intent to add that guest to the channel after 24 hours and asking for concerns to be raised. Every channel member must have 24 hours to raise concerns about the guest being added to the channel regardless of timezone. After 24 hours without any concerns raised, the guest may be added to the channel. It must be announced in the channel that the guest was added to ensure that all current members are aware a guest is now in that channel. - -## Private Slack Channels - -Private channels are discouraged unless there is a clear need, e.g. for sensitive information such as discussion of vulnerability reports. - -## Shared Slack Channels - -For communicating with larger groups of [collaborators](../../../charter/README.md#definitions) from external companies sometimes it is more appropriate to create a single shared channel than it is to invite everyone individually as a guest. - -All shared channels should be public and have to be approved by a Slack Owner before they can be linked. If a shared private channel needs to be created, a reason should be provided when requesting the channel. From 99da579c6d6597c91afde3667cc32cb5cf2546cc Mon Sep 17 00:00:00 2001 From: Erick Zhao Date: Wed, 12 Nov 2025 16:53:42 -0800 Subject: [PATCH 2/8] okay, maybe 2 docs? --- policy/slack.md | 50 +++++---------------------------- wg-infra/policy/access/slack.md | 48 +++++++++++++++++++++++++++++++ 2 files changed, 55 insertions(+), 43 deletions(-) create mode 100644 wg-infra/policy/access/slack.md diff --git a/policy/slack.md b/policy/slack.md index c82698e64..1956bc5df 100644 --- a/policy/slack.md +++ b/policy/slack.md @@ -4,6 +4,11 @@ The people working on Electron organize their work using Slack, a "hub for teamw Even if you've worked with Slack before, it might be a good idea to review some of the guidelines about what's considered good etiquette in our workspace. +## Access + +For details on Slack access (e.g. member roles and inviting new guests), see the +[Infrastructure WG policy document](../wg-infra/policy/access/slack.md). + ## Guidelines ### Mentions: `@here` and `@channel` @@ -40,8 +45,8 @@ you use channels and avoid direct messages. ### Private Slack Channels -Private channels are discouraged unless there is a clear need, e.g. for sensitive information such -as discussion of vulnerability reports. +Private channels are discouraged unless there is a clear need (e.g. for sensitive information such +as discussion of vulnerability reports). ### Shared Slack Channels @@ -52,44 +57,3 @@ invite everyone individually as a guest. All shared channels should be public and have to be approved by a Slack Owner before they can be linked. If a shared private channel needs to be created, a reason should be provided when requesting the channel. - -## Access - -### Owners - -All members of the Administrative Working Group shall be granted the "Owner" role in Slack. - -Certain members of the Infrastructure Working Group can be granted the "Owner" role in Slack. -Adding members of the Infrastructure Working Group as owners requires a vote from the Administrative Working Group. - -Current infra owners are listed below: - -| Name | Slack Handle | Date Granted | -|------|-----------------|--------------| -| Shelley Vohr | @codebytere | 09-28-2022 | -| Samuel Attard | @marshallofsound | 09-28-2022 | - -Slack requires a single Primary Owner, who will be selected by the Admin WG. -[Samuel Attard](https://github.com/marshallofsound) is the current Primary Owner of the ElectronHQ workspace. - -### Admins - -All members of the [Community & Safety Working Group](../wg-community-safety/README.md) have the -"Admin" role in Slack. - -### Members - -All [maintainers](../../../charter/README.md#definitions) shall have a full-access Slack account on Electron HQ. - -### Guests - -All Multi-Channel and Single-Channel Guests must fill out the [ElectronHQ Slack Maintainer Group form](https://electronjs.org/maintainers/join) -before gaining Slack access. Once this form is filled out, the [Community & Safety Working Group](../wg-community-safety/README.md) -will review the request. If the request is approved, the guest will be added to the applicable channel(s). - -Before a Guest is added to a channel, a message must be posted to that channel stating the intent to -add that guest to the channel after 24 hours and asking for concerns to be raised. Every channel -member must have 24 hours to raise concerns about the guest being added to the channel regardless -of timezone. After 24 hours without any concerns raised, the guest may be added to the channel. -It must be announced in the channel that the guest was added to ensure that all current members are -aware a new guest is now in that channel. \ No newline at end of file diff --git a/wg-infra/policy/access/slack.md b/wg-infra/policy/access/slack.md new file mode 100644 index 000000000..92dfb864f --- /dev/null +++ b/wg-infra/policy/access/slack.md @@ -0,0 +1,48 @@ +# Slack + +## Owners + +All members of the Administrative Working Group shall be granted the "Owner" role in Slack. + +Certain members of the Infrastructure Working Group can be granted the "Owner" role in Slack. +Adding members of the Infrastructure Working Group as owners requires a vote from the Administrative Working Group. + +Current infra owners are listed below: + +| Name | Slack Handle | Date Granted | +|------|-----------------|--------------| +| Shelley Vohr | @codebytere | 09-28-2022 | +| Samuel Attard | @marshallofsound | 09-28-2022 | + +Slack requires a single Primary Owner, who will be selected by the Admin WG. +[Samuel Attard](https://github.com/marshallofsound) is the current Primary Owner of the ElectronHQ workspace. + +## Admins + +All members of the [Community & Safety Working Group](../../../wg-community-safety/README.md) have the +"Admin" role in Slack. + +## Members + +All [maintainers](../../../README.md#definitions) shall have a full-access Slack account on Electron HQ. +When offboarding from governance, emeritus maintainers shall have their Slack accounts converted into +Multi-Channel Guests. + +## Guests + +All Multi-Channel and Single-Channel Guests must fill out the [ElectronHQ Slack Maintainer Group form](https://electronjs.org/maintainers/join) +before gaining Slack access. Once this form is filled out, the [Community & Safety Working Group](../../../wg-community-safety/README.md) +will review the request. If the request is approved, the guest will be added to the applicable channel(s). + +> [!IMPORTANT] +> **Adding guests to non-default channels** +> +> Before a Guest is added to a channel, a message must be posted to that channel stating the intent to +> add that guest to the channel after 24 hours and asking for concerns to be raised. +> +> Every channel member must have 24 hours to raise concerns about the guest being added to the +> channel regardless of timezone. After 24 hours without any concerns raised, the guest may be added +> to the channel. +> +> It must be announced in the channel that the guest was added to ensure that all current members are +> aware a new guest is now in that channel. From 28b4f980d0f0e2155839006cbb145ca4c0cfd6d1 Mon Sep 17 00:00:00 2001 From: Erick Zhao Date: Wed, 12 Nov 2025 16:56:39 -0800 Subject: [PATCH 3/8] okay one more --- policy/slack.md | 14 +------------- wg-infra/policy/access/slack.md | 34 +++++++++++++++++++++------------ 2 files changed, 23 insertions(+), 25 deletions(-) diff --git a/policy/slack.md b/policy/slack.md index 1956bc5df..956c2405e 100644 --- a/policy/slack.md +++ b/policy/slack.md @@ -36,24 +36,12 @@ creating new channels: * `event-`: Channels for individual events. * `app-`: Channels for specific apps, like `#app-slack`. -### Prefer Channels, Avoid Direct Messages +### Prefer Public Channels Keeping communication and decision-making processes allows future contributors to learn how, and why, decisions were made. Preserving context and allowing other contributors, both future and present, to catch up is one of the big benefits of using Slack. With that in mind, we heavily recommend that you use channels and avoid direct messages. -### Private Slack Channels - Private channels are discouraged unless there is a clear need (e.g. for sensitive information such as discussion of vulnerability reports). - -### Shared Slack Channels - -For communicating with larger groups of [collaborators](../../../charter/README.md#definitions) from -external companies sometimes it is more appropriate to create a single shared channel than it is to -invite everyone individually as a guest. - -All shared channels should be public and have to be approved by a Slack Owner before they can be -linked. If a shared private channel needs to be created, a reason should be provided when requesting -the channel. diff --git a/wg-infra/policy/access/slack.md b/wg-infra/policy/access/slack.md index 92dfb864f..0eac34ae6 100644 --- a/wg-infra/policy/access/slack.md +++ b/wg-infra/policy/access/slack.md @@ -34,15 +34,25 @@ All Multi-Channel and Single-Channel Guests must fill out the [ElectronHQ Slack before gaining Slack access. Once this form is filled out, the [Community & Safety Working Group](../../../wg-community-safety/README.md) will review the request. If the request is approved, the guest will be added to the applicable channel(s). -> [!IMPORTANT] -> **Adding guests to non-default channels** -> -> Before a Guest is added to a channel, a message must be posted to that channel stating the intent to -> add that guest to the channel after 24 hours and asking for concerns to be raised. -> -> Every channel member must have 24 hours to raise concerns about the guest being added to the -> channel regardless of timezone. After 24 hours without any concerns raised, the guest may be added -> to the channel. -> -> It must be announced in the channel that the guest was added to ensure that all current members are -> aware a new guest is now in that channel. +### Adding Guests to New Channels + +Before a Guest is added to a channel, a message must be posted to that channel stating the intent to +add that guest to the channel after 24 hours and asking for concerns to be raised. + +Every channel member must have 24 hours to raise concerns about the guest being added to the +channel regardless of timezone. After 24 hours without any concerns raised, the guest may be added +to the channel. + +It must be announced in the channel that the guest was added to ensure that all current members are +aware a new guest is now in that channel. + +### Shared Slack Channels + +For communicating with larger groups of [collaborators](../../../README.md#definitions) from +external companies, sometimes it is more appropriate to create a single shared channel than it is to +invite everyone individually as a guest. + +All shared channels should be public and have to be approved by a Slack Owner before they can be +linked. If a shared private channel needs to be created, a reason should be provided when requesting +the channel. + From a5065d568b732ed855bd7aef4bf44a291decedb6 Mon Sep 17 00:00:00 2001 From: Erick Zhao Date: Wed, 12 Nov 2025 16:58:34 -0800 Subject: [PATCH 4/8] remove newline --- wg-infra/policy/access/slack.md | 1 - 1 file changed, 1 deletion(-) diff --git a/wg-infra/policy/access/slack.md b/wg-infra/policy/access/slack.md index 0eac34ae6..a9c40a7a9 100644 --- a/wg-infra/policy/access/slack.md +++ b/wg-infra/policy/access/slack.md @@ -55,4 +55,3 @@ invite everyone individually as a guest. All shared channels should be public and have to be approved by a Slack Owner before they can be linked. If a shared private channel needs to be created, a reason should be provided when requesting the channel. - From ea24f69a00d8efe1a50d4e2ae575618274702d51 Mon Sep 17 00:00:00 2001 From: Erick Zhao Date: Wed, 12 Nov 2025 17:07:14 -0800 Subject: [PATCH 5/8] add backlink --- wg-infra/policy/access/slack.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/wg-infra/policy/access/slack.md b/wg-infra/policy/access/slack.md index a9c40a7a9..b4e85b219 100644 --- a/wg-infra/policy/access/slack.md +++ b/wg-infra/policy/access/slack.md @@ -1,5 +1,9 @@ # Slack +> [!TIP] +> For details on Slack usage (e.g. channels and etiquette), see the +> [general Slack policy document](../../policy//slack.md). + ## Owners All members of the Administrative Working Group shall be granted the "Owner" role in Slack. From adab7cde6fbd9dc262f7308d59a3377eaae9c051 Mon Sep 17 00:00:00 2001 From: Erick Zhao Date: Wed, 12 Nov 2025 17:07:49 -0800 Subject: [PATCH 6/8] formatting --- policy/slack.md | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/policy/slack.md b/policy/slack.md index 956c2405e..2a1390b44 100644 --- a/policy/slack.md +++ b/policy/slack.md @@ -4,10 +4,9 @@ The people working on Electron organize their work using Slack, a "hub for teamw Even if you've worked with Slack before, it might be a good idea to review some of the guidelines about what's considered good etiquette in our workspace. -## Access - -For details on Slack access (e.g. member roles and inviting new guests), see the -[Infrastructure WG policy document](../wg-infra/policy/access/slack.md). +> [!TIP] +> For details on Slack access (e.g. member roles and inviting new guests), see the +> [Infrastructure WG access policy](../wg-infra/policy/access/slack.md). ## Guidelines From b783c2d59927512965da6613ffbfec0415b9346e Mon Sep 17 00:00:00 2001 From: Erick Zhao Date: Wed, 12 Nov 2025 17:09:19 -0800 Subject: [PATCH 7/8] fix link --- wg-infra/policy/access/slack.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/wg-infra/policy/access/slack.md b/wg-infra/policy/access/slack.md index b4e85b219..2c7be9cff 100644 --- a/wg-infra/policy/access/slack.md +++ b/wg-infra/policy/access/slack.md @@ -2,7 +2,7 @@ > [!TIP] > For details on Slack usage (e.g. channels and etiquette), see the -> [general Slack policy document](../../policy//slack.md). +> [general Slack policy document](../../../policy/slack.md). ## Owners From 2bab72aab5628f567c37b93426195c1c748b8f49 Mon Sep 17 00:00:00 2001 From: Erick Zhao Date: Mon, 17 Nov 2025 10:21:43 -0800 Subject: [PATCH 8/8] Update policy/slack.md Co-authored-by: David Sanders --- policy/slack.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/policy/slack.md b/policy/slack.md index 2a1390b44..dd5debdc7 100644 --- a/policy/slack.md +++ b/policy/slack.md @@ -12,7 +12,7 @@ about what's considered good etiquette in our workspace. ### Mentions: `@here` and `@channel` -Slack allows users to ping everyone present in a channel using three groups: `@here` for all +Slack allows users to ping everyone present in a channel several ways: `@here` for all active members in a channel and `@channel` for everyone in a channel. While we haven't disabled those groups, _do not use them unless absolutely necessary_. Push notifications are the equivalent of texting someone. Only use `@`-mentions with exactly the people you _need to reach_.