Discourse is likely the most fully-featured online community platform on the market right now. I know this from personal experience as I've spent time doing support work for them as well as developing a number of open-source themes and plugin components.
Take a look at Airtable*, AWS Honeycode, MongoDB, Sonar, and probably most of your favorite tech tools- they all use Discourse for their online communities. There's a reason that Discourse is most commonly the platform of choice for technical support and developer communities.
As a result of the time I've spent working on the platform and engaging with their team, I am confident in saying that there isn't a platform out that does more. However, doing the most isn't always a good thing. In the following sections, we'll walk through where Discourse shines and the areas where those strengths also cast a long shadow.
A Good Thing: Open-Source & Customizable
Discourse is proudly open-source, meaning anyone can view, copy, and redeploy their code, which is freely available on GitHub. For moderately technical or tech-curious folks this means Discourse could be set up and deployed for just the cost of renting a server (their standard installation recommends Digital Ocean's $5/month option). For everyone else, Discourse does offer its own hosting services that start at $100/month. This is where they make their money (~$10M/year as of 2021). As a result of being open-source, Discourse has an infinite number of places where you can extend it, customize it, update its appearance, and otherwise make it your own. Discourse was designed very intentionally to be extendible and their support community has a number of guides walking through how to create plugins and theme components to make your Discourse installation do nearly anything. Additionally, although their API isn't well documented, everything is reversely engineerable as long as you're willing to spend some time in your browser's dev tools.
A Bad Thing: Out of the Box Aesthetic & Configuration
The high customizability is a double-edged sword; out-of-the-box Discourse is plain and pretty un-opinionated from an aesthetic perspective. New community members often complain about the buttons, the number of options in the dropdown menus, and the boxy feel of the controls. As a community owner, Discourse exposes tons of configuration options (too many to count and grow), and many people cite this as an overwhelming experience. The counter-argument will be that Discourse works fine out of the box and you technically don't have to configure much of anything. The issue is that the out-of-the-box design (and sometimes the user experience) is not one that the average modern-day consumer is likely to find appealing, which is what drives community owners to look for ways to tweak the aesthetic and functionality; leading them to the never-ending abyss of Discourse configuration & customization. For technical & tech-curious folks this might seem like fun, but it can become a chore as Discourse continually updates its software & some plugins, themes, and customizations maintained by volunteers don't always keep up. They do have a number of official plugins that they support and keep in line with updates, but often times people use community-created themes & plugins as well.
A Good Thing: Moderation & Spam Control System
One of the most well-thought-out systems in all of Discourse is how they handle moderation and spam control. Discourse does this primarily through a system that they call Trust Levels. The short of it is that trust levels dictate the actions that any given member can take in your community. Actions like posting a reply, flagging a message as inappropriate, getting access to special categories, and even including more than 2 links in a post, are all controlled by trust level. Community members advance through the trust levels based on the number of posts they read, the number of new topics that they enter, the number of minutes spent reading, the number of responses added, etc. And as you may have guessed, each of these values is configurable for your community. For a more in-depth philosophy and write-up on the trust level system, check out the Discourse CEO's blog post here. The trust system is one of the more impressive feature systems that I've seen across community platforms anywhere, so putting this one is a big plus in the argument for using Discourse as a community platform.
A Bad Thing, But By Design: Onboarding & Ease of Contribution
Discourse is not a chat app like Slack, Discord, or GroupMe, and was never intended to be. But, for a community owner who is looking to jumpstart a new community, sometimes having something that people are familiar with and not intimidated by can be really important for bootstrapping a community early on. Think about how easy it is to add 10 people to a Discord server and start having people chatting away, totally unencumbered. Contrast this with Discourse, where new members hoping to post are met with the interface* below.
While this is standard for forums, the modern consumer who has spent most of their time on social media and chat apps is probably getting ready to close the page at this point. However, this friction is by design- Discourse prides itself on promoting intentional conversation and contributions, not on making it easy to contribute the first thing that comes to mind. Community members will need to think of a title for their post, decide on the category to put it in, and optionally add a tag to further categorize it. This often leaves new members hesitant to make their first contribution which can make starting a community difficult on Discourse.
*there's a community effort on meta.discourse.org to create a new interface for the editor that is "beginner-friendly" but it's been a few years and the project has had some setbacks. The thread here features the discussion.
A New Thing, But Unclear How Good It Will Be: Chat Features!
A Good Thing: Support Community
As a community forum company, it's only right that one of Discourse's strongest points is the support community, aptly hosted at
meta.discourse.org. The community is also run on a Discourse instance and is home to a very consistently engaged base of users, evangelists, and developers. The regulars on the forum also include the Discourse team itself: the developers, the product managers, CEO, and CTO often provide guides, fixes, and specific support to both free open-source users and enterprise users alike. The support community also includes a very active marketplace category where a number of freelancers and consultants will take on jobs for any specific customization needs.
Better Than Most, but Still Bad: Search & Information Retrieval
Discourse is first and foremost, a recent evolution of classic internet forums, so saving the community's conversations for all of eternity is kind of the point. As a result of this focus, Discourse is still miles ahead of say something like Slack that literally deletes your messages after 90 days. Despite having all of the information available, the functionality to actually retrieve it in Discourse is just getting by. The best way to use search in Discourse is to make sure that all of your community members and moderators are diligent about proper categorization and tagging of posts. After that, you are left to rely on remembering keywords and mentions in the posts or topics that you are looking for.
🚨Shameless Plug Alert🚨
At Surf we're building tools so that community members' ability to find relevant information or people in their community isn't limited by the platforms that their community exists on. Search is difficult and often siloed on a per-platform basis, that's why we're building a universal search engine to help communities connect members to the information & expertise they need when they need it.
In short, we think Discourse is best used for communities in which information storage and conversation archiving are the highest priority. You can make Discourse go an incredibly long way with some technical know-how or the budget to pay for hosting and customizations directly from the company.
If your primary goals are growth and showing daily active users or contributions quickly, then you're likely better off choosing a platform that doesn't require quite so much of the community members or the community owners. The truth is to run a community that works for the greatest number of people and a diverse member base, you'll likely have to use more than one tool and be smart about the ways in which you direct people toward the correct place for the task to be done at that moment. At Chord our goal is to build products that help communities provide as much value as possible to their members regardless of which platforms they've chosen.
Feel free to reach out if you're interested in learning more about what we're building.