GitHub Discussions: Bringing the Open Source Community Closer Together and All in GitHub

  • Slack/Gitter/Google Groups/Self-hosted forums: because that’s where I chat and discuss with other contributors and feel belonged to a community.
  • Stack Overflow: because sometimes it’s the only place that I can get quick support for my usage questions.

GitHub: organized software but a scattered community

  • How do community members talk with each other?
  • How do you organize community members to make better contributions?
  • How do you know the latest progress and news about a project?
  • How do you connect with a project and contribute as much as you can?
  • An official bulletin board
  • A community knowledge base
  • Usage issues may exist on Stack Overflow or GitHub Issues.
  • In-depth discussions are in self-built forums or Google Groups.
  • The latest project progress and news are released on wiki pages or official websites.

Overview of Discussions

The Settings page for enabling Discussions
The Discussions page in the next.js repo
  • Migrate existing issues to discussions.
  • Mark a reply as a solution to a question, which is similar to Stack Overflow.
  • Start a thread for a conversation, which is similar to Slack.
  • Pin up to four discussions on the Discussions homepage as official bulletin boards.

Upsides and downsides

For project maintainers, Discussions can bring them the following benefits:

  • Pull Requests for accepting contributions
  • Projects and Kanban for project collaboration and management
  • Actions for continuous integration
  • Sponsors for getting funding from the community
  • Wiki for publishing important documents
  • Discussions for community interaction
The adopter list Discussions page in the next.js project
  • Maintainers need to help users understand the differences between Discussions and Issues because the distinction is unclear.
  • Search in Google.
  • Browse Stack Overflow or GitHub Issues.
  • If they can’t find the answer, create a new question.
  • Search it in the project Discussions.
  • If they can’t find an answer, create a new discussion.

The future of open source communities

The Discussions RFC page
The Community section on the next.js repository homepage
  • GitHub Discussions is for anything that requires agile communication, including at least three types:
    RFCs for new features
    Learning materials and project announcements
    Q&A and other types of communication
  • GitHub Projects is for tracing development progress. Community members can participate in the collaboration.
  • GitHub Pull Request is for committing code. Community members can take part in the code review.

Thinking beyond the feature

GitHub is an awesome product. It has introduced more useful and thoughtful features since its acquisition by Microsoft in 2018.

--

--

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
PingCAP

PingCAP

PingCAP is the team behind TiDB, an open-source MySQL compatible NewSQL database. Official website: https://pingcap.com/ GitHub: https://github.com/pingcap