A call for a WG21 managed chat service

Introduction

WG21 has historically used two distinct chat services. IRC channels hosted on freenode have long been used for room coordination and attendee communication at face to face meetings. More recently, channels on the Cpplang Slack workspace funded by The C++ Alliance have been used by WG21 work groups (WGs) and study groups (SGs) for informal collaboration between meetings and for coordination at face to face meetings. Neither of these services is hosted by the ISO or the Standard C++ Foundation, nor are they maintained by WG21 adminstrators or moderated in accordance with the WG21 code of conduct[WG21_COC], ISO code of conduct[ISO_COC], or the IEC code of conduct[IEC_COC]. The possibility of a WG21 managed chat service was raised during the Autumn 2020 pre-meeting telecon[WG21_N4871] and Tom Honermann was directed to submit a paper to be discussed at a future administrative telecon. Contained herein is a proposal to establish a WG21 sponsored and maintained chat service governed under existing WG21 practices and procedures to be used for informal discussion within WGs and SGs and for coordination at face to face meetings.

Changes since P2263R0

Following publication of the first version of this paper, WG21 administrators deployed an instance of Mattermost on WG21 infrastructure provided by the Standard C++ Foundation for evaluation purposes. Results of that evaluation relative to the requirements specified in this paper are available on the WG21 wiki at https://wiki.edg.com/bin/view/Wg21PersistentInformation/MattermostEval. Some WG21 committee chairs have casually made use of the installed instance since it was deployed.

In May of 2022, code of conduct concerns raised within WG21 prompted the ISO to impose changes within WG21 to better abide by ISO policies and procedures. The WG21 CoC team was disbanded and it was clarified that all CoC concerns are to be handled as specified in the ISO's Guidance and Process For Addressing Misconduct and Breaches of the Code of Conduct[ISO_COC_PROCESS] document. The procedures specified in that document eliminate the need for CoC enforcement and moderation requirements that were thought to be necessary when the initial version of this paper was published. Those requirements have been struck in this revision.

Other changes include:

Motivation

Slack had been a useful resource within SG16 for collaboration, informal sharing of ideas and news, and discussion of controversial topics. The author of this paper believes such use was instrumental in creating unity, engagement, and cohesiveness within the group. Slack continues to be used by a number of WG21 members and other members of the C++ community; active discussions of C++ features like ranges and concepts can be readily found there.

Concerns over the lack of enforcement of a code of conduct (CoC) within the Cpplang Slack workspace prompted several prominent SG16 attendees to deactivate their accounts. Discussion in the Slack workspace waned, eventually ceased, and has not resurfaced elsewhere; the real time nature of chat services appears to promote strong engagement that is hard to replicate elsewhere. While SG16 could attempt to recreate the engagement previously enjoyed with publicly available solutions, a WG21 managed service that requires compliance with the WG21 CoC is preferred.

A WG21 managed service would address the current ad hoc use of both IRC and Slack during face to face meetings thereby simplifying collaboration. New attendees at face to face meetings that feel intimidated by the prospect of voicing their ideas and concerns in front of a room full of experts may feel more comfortable asking for clarification, elaboration, or confirmation of their thoughts on a chat service before speaking up; a common chat service may help to facilitate increased participation by new attendees. Since both IRC and Slack are open to people that are not committee members, use of a WG21 managed service might help to reduce the possibility of unintended information leaks during face to face meetings. A discussion on the committee chairs mailing list suggested that at leat two WGs and several SGs would make use of a WG21 managed service if provided.

Chat features in Zoom are frequently used during virtual meetings, but the features provided are limited. Zoom chat is limited to direct person-to-person communications and a single common channel; threaded messages are not available. This sometimes results in discussions in Zoom chat between a few participants becoming a distraction during a meeting. Messages in the Zoom chat are also limited to attendees that were connected to the Zoom session at the time a message was posted. This sometimes results in messages having to be repeated as new attendees arrive. Likewise, if a Zoom participant gets disconnected, access to previous messages is lost upon reconnection. A persistent WG21 managed service would better facilitate such side channel discussion without becoming a distraction to all Zoom participants.

Examples of anticipated usage:

Requirements

The following features are requirements to be used for evaluation of proposed solutions. Those listed with (M) are mandatory features that must be provided in order for a solution to be considered viable. Those listed with (A) are advantageous features that may be helpful to select from a set of viable solutions.

As mentioned in the Changes since P2263R0 section, requirements related to CoC concerns and moderation have been struck.

Client Requirements

Administrative Requirements

Proposal

The Mattermost instance deployed for evaluation purposes has proven to be a reliable, capable, low overhead solution that meets all of the mandatory requirements and most of the advantageous ones listed above. It is hereby proposed to be deployed to all WG21 members.

The following proposed configuration is intended to encourage maximum participation by offering an appropriate balance of free expression and alignment with existing practice and ISO privact requirements.

Acknowledgements

Thank you to the C++ Alliance for funding the Slack Cpplang workspace for the last several years.

Thank you to Ville Voutilainen, Peter Brett, and Peter Bindels for their kind review of early drafts of this proposal.

References

[WG21_COC] Herb Sutter, "SD-4: WG21 Practices and Procedures", 2022.
https://isocpp.org/std/standing-documents/sd-4-wg21-practices-and-procedures
[ISO_COC] International Organization for Standardization, "ISO Code of Conduct for the technical work", 2020.
https://www.iso.org/publication/PUB100397.html
[ISO_COC_PROCESS] International Organization for Standardization, "GUIDANCE AND PROCESS FOR ADDRESSING MISCONDUCT AND BREACHES OF THE CODE OF CONDUCT", 2020.
https://isotc.iso.org/livelink/livelink/fetch/2000/2122/15507012/20094274/ISO_Code_of_Conduct_-_Complaints_Handling_Guidance_Process_2020.pdf?nodeid=21068087&vernum=-2
[IEC_COC] International Electrotechnical Commission, "IEC Code of conduct for technical work", 2021.
https://www.iec.ch/basecamp/iec-code-conduct-technical-work
[WG21_N4871] Nina Dinka Ranns, "WG21 Pre-Autumn 2020 telecon minutes", 2019.
https://wg21.link/n4871