I realize I have not jumped in after the initial proposal.
My main argument here is to provide a space that one can ask quick questions within the beman project scope that could be answered by most of the contributors. And I think this would help lower the barrier of entry to contribute to beman project.
Instant message platform helps with questions that are:
- Small in nature (thoughtfulness is often not required)
- Only a simple response from “someone” is needed, response not needed by a specific expert
- Don’t know who to ask
Typical kinds of questions fitting this description:
- C++ / CMake question
- Paper interpretation/ wording questions
- Setup questions
- Infrastructure questions (especially given we discourage comments in config files)
- Help with/ review PR
- Who to ask, where to file issue
The approach by the above thread call for:
- Post the question on discourse as a thread/ GitHub as an issue. Some questions are too small for discourse, new users are not able to post threads until moderator signoff on it. Some questions are not suitable for a specific GitHub issue.
- Post the question on an existing discourse/ GitHub thread. Reply in a discourse thread only notifies respondents in the thread. Due the nature of small questions, it would be fine to broadcast the question to get a quicker response. That’s why folks like me bring PRs to meetings, to broadcast question “pr good?” to everyone. Here is an example that directly calls for broadcasting an infrastructure question that I believe a lot of contributor can give at least a hint to:
- Sending an email. This is not searchable and invisible to the greater community. Which address, who to contact is hidden knowledge, we do not (and probably should not) have a directory of emails to contact. Paper authors sometimes are not implementer. Someone else with a similar question / interest cannot jump into the conversation to provide a quicker response or to provide context. The response time is unpredictable, and suffer the isocpp meeting problem as below.
- Join the meeting. Very-high fraction: It is amazing how good of slot we found, but most people are at work/ school, 6AM PST=9AM EST=2PM UTC=3PM CET. During isocpp meeting periods, beman meetings are paused for two weeks. If someone external to the isocpp community missed a meeting before the two weeks gap due to personal reasons, it would take almost a month to get a response. Simple, “here’s an idea, can someone sanity check me before I commit to developing it” style questions are literally not askable during those periods unless one have the email address of most relevant contributiors.
I want to point out that code/ infrastructure/ paper/ double check for me kind of questions will be asked by contributors who are new / interested / non-expert to the project. Someone new to the project
- may not be able/ not willing to join the weekly meeting,
- are more likely to be unfamiliar with our infrastructure (CI/linting),
- are more likely to need help when interpreting papers if they are contributing to libraries,
- are more likely to need help with new C++ constructs / specific corners of C++ papers maybe based on,
- are more likely to have a hard time knowing who to contact and where to find their email,
- are more likely to be unfamiliar with GitHub.
Given our documentation have not been fully fleshed out and we are rapidly changing, if we want to have contributors outside of isocpp community a discord server/ IM platform would lower the on boarding cost and encourage more contribution.
I also want to point out that when we have more production ready libraries, library users will raise, in-majority, small questions. It will be a lot easier and have a lower initial friction to conduct discussions / give small feedback on discord, as discord is a more widely used platform, and the fact that it is more casual. Discussion like “I tried using this library here, I think this might be a stretch but I think this does not make sense” is sometimes not “formal” enough for a GitHub issue/ discourse thread, but potentially valuable feedback that could be compounded by sparking a discussion that is not possible in an email thread directly to the author. Thoughtfulness does come with barrier of entry, it maybe better to have the door wide open for contribution/ feedback then turn it down if it’s too chaotic.
Addressing points in this thread:
This is limitation on discourse’s/ mobile side, mobile push notification requires special interface with os provider. See: Push notifications settings - Support - Discourse Meta
I don’t think small questions/ discussions need to be searchable on the internet, I don’t see this as a downside. As long as we will be able to paste a link to the discussion, it would be sufficient.
I do agree it may make keeping up with information more difficult, but I do want to point out part of the reason I think discord would be beneficial is current systems are too formal and sometime hidden, there is no place to ask smaller, trivial, leading questions.
An interested on-looker exploring beman project have significant barrier of entry if they have small questions. Attending meeting requires signing up to discourse, messaging lead for invitation; posting questions as topics/ replies on discourse require moderator approval as new account; emailing as a form of communication is not obvious, finding email address to contributors are hard and is unclear who to send said email. (note that I do think those moderation are needed, but I do think small questions should be able to bypass them).
This is while: the infrastructure is changing quickly thus there’s no up-to-date documentation on everything, contribution to proposal often requires knowledge into cutting edge C++ constructs. With widely available, low barrier-to-entry method of communication like discord, people who are interested the project can participate easier by being able to ask simple questions.
Is this still a thing? It does not show up on my side-bar:
Yes, but meetings are a high-friction form of participation, I understand it is really hard to coordinate timezones, but it is also hosted on normal working hours across all continent. As the only form of communication that allows broadcasting questions with quick feedback, it is also easily influenced by beman core’s availability. e.g. it stops during isocpp meetings.