GitHub Discussions
Pull request
Table of contents
Problem
Right now we run our own Discourse Forums.
GitHub Discussions was recently
released, and should be evaluated for appropriateness as a replacement.
Background
GitHub Discussions is a new forum
solution offered by GitHub. Although it was initially only for public
repositories, as of March, it is
available to private repositories.
Developers can
preview in carbon-lang.
Discourse Forums are currently used by
Carbon. These run on a Google Cloud instance owned by Carbon team.
Proposal
We should shut down the Discourse Forums and adapt GitHub Discussions to our
needs. GitHub Discussions categories and documentation should be updated
accordingly, alongside evolution process changes.
Discourse Forums should be frozen and eventually shut down once we are confident
in the switch. History can manually copied from the frozen instance as needed,
and discarded otherwise.
Alternatives considered
Keep using Discourse Forums
Advantages:
- Discourse's UI is better in some places:
- Easy drag-and-click UI for quoting.
- Easy to navigate to the original post of a quote.
- Less noisy notifications because it's separate from other discussion,
such as issues and PRs.
- However, notifications will all be in one place.
- Preview is visible while writing, whereas GitHub uses a tab.
- More advanced search support.
- Discourse Forums has categories and subcategories.
- GitHub Discussions only has categories.
- Discourse Forums has controllable settings for many things.
- GitHub Discussions offers fewer options, although simplicity is
sometimes better.
- Keeps existing history.
- Swift and Rust
are prominent examples also using Discourse.
- Avoids handing more control to GitHub.
Disadvantages:
- GitHub's UI is better in some places:
- Responses to responses are threaded in-place, which may be appreciated
by some.
- Links to issues and PRs will work more seamlessly, with tooltips.
- Discourse Forums has nuisance warnings about similar posts and @-ing to
many people in a group, which cannot be disabled. These get in the way
of frequent posters.
- When copying links, Discourse Forums' URL updates made it easy to
accidentally link to a specific post; GitHub makes that require a
deliberate action.
- There is direct support for filing issues based on discussions.
- Supports voting on posts and sorting by vote, for more types of
discussions, particularly Q&A.
- Discourse Forums is a now unnecessary split in communication mechanisms.
- GitHub is the only possible direction of consolidation: we already use
GitHub for issues and PR discussion, and moving that to Discourse is
infeasible.
- Running Discourse Forums ourselves requires significant maintenance, and
still has configuration issues.
Try to maintain history
We've deliberately not put much into Discourse Forums, and GitHub issues are
already a focus of discussion. There's not enough history to justify significant
investment into making a copy.
Caveats
The
contributor wiki
can be moved to
GitHub's wiki.
Rationale based on Carbon's goals
Community and culture:
- GitHub Discussions offers a way to consolidate tools and make community
forums easier to find.