A THOROUGH REVIEW OF GITHUB'S LATEST BRAINCHILD


Overview

After nearly a year of private beta testing, GitHub confirmed last month in a blog post that its new Discussions feature is now available as a public beta.

First revealed during the live stream of GitHub's Satellite Virtual 2020, this latest addition to the GitHub platform seeks to provide a way for software communities to collaborate outside the codebase.


View of a "GitHub Discussion"

View of a "GitHub Discussion"


In theory, the new feature will improve collective participation for open-source projects while smoothing communication lines between project managers, developers, beta testers, and end-users.

"Discussions is a collaborative communication forum for the community around an open-source project." β€” GitHub Docs

Some prominent repositories, such as Node.js, Laravel, Next.js, and Prisma, participated in the first round of beta testing and have already successfully integrated Discussions. Based on current trends, it appears that Discussions is poised to reshape the existing structure of most GitHub repositories.


A view of "Discussions" from the Next.js repository

View of a "GitHub Discussion"


Features

By default, four categories are created to help Discussions stay organized.

  1. πŸ’¬ General
  2. πŸ’‘ Idea
  3. πŸ™ Q&A
  4. πŸ™Œ Show and tell

Aside from these templated options, repository owners can author unlimited custom threads. Users are encouraged to mark quality answers as helpful, similar to the familiar layout of Stack Overflow.

Discussions also attempts to establish content moderation by allowing top contributors to achieve higher privileges. This option should help relieve some stress for the developer(s), who would otherwise be forced to keep a constant eye on the conversations.


Video provided courtesy of [Github](https://www.youtube.com/channel/UC7c3Kb6jYCRj4JO) and [Michelle Mannering](https://www.mishmanners.com/)

Configuration

Anyone can configure Discussions quite easily; it took me about 5–10 minutes per repository on average.

The layout is almost identical to GitHub issues, allowing for creating any number of topics linked to a single repository, each with a unique title and URL. While this is conducive in most scenarios, the setup could intimidate some developers who maintain an extensive library of source code.

Fortunately, most of the configuration is already provided by a boilerplate template. I found the default options to be well-balanced, sparing precious design time while still allowing customization.


Getting Started with Discussions

Getting Started with Discussions


As shown above, the option to enable Discussions is now available for every repository. To access, open the settings tab and scroll to the bottom of the features section.

You are now presented with a template containing several options to personalize if you so desire. Styling with Markdown is supported, so once you are satisfied, preview and publish just like a README .

A new menu tab should appear in the navbar of the repository. Here, members of the software community who utilize your code can now gather to converse and collaborate.


Outlook

Some developers contend that Discussions shares too much similarity with existing features to be worth the hassle. Others fear that management will pile more expectations onto an already overwhelming workload.

As it stands, Discussions admittedly leaves room for improvement and likely will not be suitable for every situation. That being said, the latest metrics released by GitHub in a new report are nothing short of impressive.*

Since January 2020 β€”

  • 3000 discussions have been created.
  • 50% of active Discussions users contributed or pushed code.
  • 34% more pull requests were merged.
  • 18% less time was required to accomplish a merge.

All figures were derived from beta testing conducted after the addition of Discussions to the Next.js repository, which produced a marked overall improvement in user participation and developer productivity.

*If you wish to read the entire report, visit octoverse.github.com, where you can also download a PDF copy for later reference.


Customization options for pinned Discussions

Customization options for pinned Discussions


Conclusion

Every developer knows that data from a test environment cannot be used conclusively to predict future performance.

However, if the benchmarks established last year hold steady, we can safely assume that Discussions' popularity and usage will continue to increase across GitHub. So here is my personal opinion on the matter.

Provided as users, we treat Discussions like a tool and not a social media platform; and as project managers, we gradually and tactfully integrate the feature; I believe many benefits can be realized.

I would love to hear perspectives from all of you, so please leave your thoughts in the comments.

Don't forget to πŸ’– this article and leave a πŸ’­. If you're feeling extra generous, please click my name below to πŸŽ†subscribeπŸŽ‡!

-- killshot13



This post is also available on DEV.