Comparison of Internet forum software

This article outlines the general features commonly found in various Internet forum software packages. It highlights major features that the manager of a forum might want and should expect to be commonly available in different forum software. These comparisons do not include remotely hosted services which use their own proprietary software, rather than offering a package for download which webmasters can host by themselves.

General information
Basic general information about the forums: creator/company, license/price etc. Systems listed on a light purple background are no longer in active development.

Flat vs. threaded

 * A flat forum is one where each message is added onto the end of the discussion, with no set relation to any prior messages (other than being on the same discussion topic — except in case of Off-Topic posting). But, there is normally a feature to 'quote' another user's post, to allow referencing back to other posts.
 * A threaded forum is one where users can specify their message is a reply to an existing message. Threaded forums can display relationships between message topics and associated replies, such as by indenting replies and placing them below the post they reference. Threaded forums are most commonly used for discussions where individual messages tend to be short, such as on social news sites (e.g. Slashdot or reddit), or in commenting systems like Disqus.

User-selectable themes
Most forums provide an option for the forum owner to customize the look and feel. Some forums also allow the administrator to create multiple styles or themes, and allow the user to choose which one they wish to view. Themes may simply be a different set of colors and graphics, or they may involve a different layout to the forum, such as one optimized for small-screen devices.

The comparison table shows whether a forum software allows forum administrators to customise the "template" of the forum (or specific sections thereof) without altering the released code. Support is considered partial where it is only possible to add CSS rules in this way.

Unread message tracking
Unread message tracking refers to the way that is used by forum software to track and display messages that have not yet been read by the current user. This can be one of the following:
 * Session — when a user's session starts, this method relies on the user's "last visit time" to display all messages created since that date as unread. Everything that was posted before "last visit time" is considered "read" regardless of whether the user has actually seen it or not. Until the user's session expires, this method properly tracks read/unread messages, starting with messages that were selected as "unread" when the user's session started. This method is broadly used, due to the simplicity and speed benefits of only storing and checking against a single database value.
 * Full — forum software which records in the persistent database what messages have been read or unread by each user, regardless of user session expiration. Some forum software also allows the user to 'mark as unread', so that they can come back to a message later.

Export, portability
This column judges the ability to allow users to export data from the forum installation and then import it in new installations of the same software (cf. right to fork and data portability) or feed it to data conversion tools.

Software portability is a key assessment criterion for the choice and procurement of software.

Email/NNTP interface
Whether the software can be used with standard Email or NNTP clients. Adoption of standard protocols is key for interoperability.

Languages
Whether the internationalization and localization of the software are sufficient to both allow and actually provide grammatically correct support for the native language of the target users.

For the purposes of this table, we consider languages used by a number of installations/users equal to at least 1% of the top million web properties using that software, without major reported bugs in support.

Single sign-on
Single sign-on is often required to enhance web accessibility of the application. This can be accomplished with standards like OAuth and OpenID.

Post drafts
To prevent loss of content from browser crashes and the like, forum software may be equipped with the ability to automatically save unfinished posts as drafts, like some word processor and text editor software.

Drafts may be stored server-side (in the forum account) or client-side (browser's local storage). The former benefits from the ability to immediately resume drafts on another device, whereas the latter allows saving drafts while internet is disconnected and slightly reduces bandwidth consumption.

Duplicate thread prevention
Automatic recommendation systems based on content and users can help forum users find existing discussions similar to those they are browsing or on the topic they are searching, or else reach the correct users with their posts, avoiding to "spam" the forum with duplicate or off-topic posts.

Many users do not bother to search a forum and directly create new threads to seek an answer to a question. On some forums, when the user types a new thread subject, the forum software brings up similar threads automatically on the side. This helps keep the number of redundant threads (or the overall forum pollution) to a lower level as users who neglect to search for a topic and are posting a thread may find the answer to their question as they are creating the new thread.

Forum spam defenses
Most forums are at risk of continuous attack by forum spammers, largely promoting websites with no relevance to the forum's niche. Systems vary in how they are geared to defense, and checking the offering is an important consideration before selection. A forum cannot succeed unless there is an effective system of defense, and an efficient set of tools for spam removal.

CAPTCHAs are a common feature used among most internet forum software and are often used to prevent automated registrations.

Banning or deleting membership should come as standard, with the ability to blacklist the username, email address or IP address for variable time spans.

Reference to an anti-forum spam database can be built into the forum software, or offered as add-ons for specific databases.

User-friendly URLs
Human-friendly forum URLs do not have a query string and instead contain only the path of the topic. A user-unfriendly URL may contain cryptic parameters, numeric IDs, or file type extensions (e.g. .php ) that do not matter to the user and could change if the forum is reimplemented using a different programming language. User-friendly URLs are easy to remember and to type, and may enhance search engine optimization (SEO).
 * user-unfriendly URL example: http://example.com/forum/index.php?t=rview&th=120029
 * user-friendly URL example: http://example.com/usability-issues/user-friendly-urls

In general this is accomplished via URL mapping, however, historically in many forum software packages, human-friendly URLs are an afterthought implemented via URL rewriting, and URLs often contain a numeric ID which represents the thread, while the remainder of the URL can in reality be any string: http://example.com/forum/12345/lets-use-friendly-urls and http://example.com/forum/12345/bogus-path-actually point to the same thread, http://example.com/forum/12345/. These are also known as URL slugs.

The only non-controversial counter-argument to using user-friendly URLs is that they would be leaked in the HTTP referer header field when a user clicks on an external link from a post, which is undesirable for private (sub)forums, since a URL derived from the topic title could convey sensitive information. This issue can be resolved by rewriting external links to point to a redirection page that performs referer hiding.