Discourse (software)
![]() | This article contains promotional content. (June 2022) |
![]() |
![]() | |
Developer(s) | Civilized Discourse Construction Kit, Inc. |
---|---|
Initial release | August 26, 2014[1] |
Stable release | 3.4.3[2] ![]() |
Repository | |
Written in | Ruby, JavaScript |
Operating system | Linux |
Available in | Albanian, Arabic, Bosnian, Chinese, Czech, Danish, Dutch, English, Estonian, Finnish, French, Galician, German, Greek, Hebrew, Indonesian, Italian, Japanese, Korean, Norwegian, Persian, Polish, Portuguese, Romanian, Russian, Slovak, Spanish, Swedish, Telugu, Turkish, Ukrainian, Urdu, Vietnamese |
Type | |
License | GNU GPL version 2 (or later) |
Website | www |
Discourse is an open source Internet forum system. Features include threading, categorization and tagging of discussions, configurable access control, live updates, expanding link previews, infinite scrolling, and real-time notifications. It is customizable via its plugin architecture and its theming system.
Discourse was released on August 26, 2014, by its founders Jeff Atwood, Robin Ward, and Sam Saffron.
The client side application is written in EmberJS. The server side is written in Ruby on Rails and backed by a Postgres database and Redis cache. The source code is distributed under the GNU General Public License version 2.

Features
This section needs additional citations for verification. (April 2023) |
Categorization
Similar discussions can be organized under categories. Admins can create categories, add category descriptions and logos, and control access to topics in the category. Discourse provides granular control over read/write permissions.
Discourse also supports sub-categorization or nested categories. Subcategories are categories in themselves so they can be controlled in the same manner as parent categories. The only difference is the parent-child relationship.
Tagging
Tags are a lightweight alternative to categories, but they can also be used in conjunction.
Topics
Conversations in Discourse are organized into topics. Users are able to create new topics or reply to existing ones. Categories and tags can be assigned to topics which makes them follow the security rules for those if applicable.
A topic consists of the initial post as well as any subsequent replies to it. Replies in Discourse follow a flat chronological order as opposed to being threaded. The Discourse core developers believe that threading replies is detrimental to the health of the overall discussion.[citation needed] Users can interact with each post independently. They can take actions such as reply, like, bookmark, quote or flag for moderation.
Trust levels
The user trust system is a "fundamental cornerstone of Discourse".[3] Discourse's trust levels sandbox new users so that they cannot accidentally hurt themselves or other users, while granting experienced users more rights over time so that they can help maintain and moderate the community.
The five trust levels are New, Basic, Member, Regular, and Leader.
As users become more experienced, their trust level is raised, granting more rights and access to more features.
Discourse narrative bot
Discobot is a customizable bot that introduces new users to many of the platform's features like bookmarking a topic, embedded link previews ("oneboxing"), emojis, mentions, basic formatting, uploading images, flagging posts, and searching.
Personal messages
In addition to public and private topics, users on Discourse have the ability to send personal messages to other members in the community. Users receive notifications for personal messages and can add or remove members to a message at any time. Each user has a personal inbox that contains all of their sent and received messages.
- ^ Atwood, Jeff (2014-08-26). "Introducing Discourse 1.0". blog.discourse.org. Archived from the original on 2020-07-04. Retrieved 2020-07-04.
- ^ "Release 3.4.3". 29 April 2025. Retrieved 25 May 2025.
- ^ "Understanding Discourse Trust Levels". Discourse. 2018-06-25. Retrieved 2023-06-21.