Comparison of Internet forum software

From Hidden Wiki
Jump to navigation Jump to search

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.

Creator Latest release date Current stable version Programming language License
bbPress[1] WordPress Foundation 2019-09-04 5.2.3 PHP[2] GPL[3]
Beehive Forum[4] Project Beehive Forum Developers 2016-11-05 1.5.2 PHP GPL
Discourse[5] Civilized Discourse Construction Kit, Inc. 2019-11-06 2.3.6 Ruby, JavaScript GPL
Discuz![6] Comsenz Inc. 2018-01-01 X3.4 PHP Discuz! EULA (proprietary, gratis for non-commercial use)
FluxBB[7] FluxBB.org Developers 2018-12-31 1.5.11 PHP GPL
FUDforum[8] Advanced Internet Designs Inc. 2018-04-09 3.0.9 PHP GPL
Ikonboard[9] Matt Mecham (original creator) Joshua Johnson 2012-10-19 3.1.5A Perl Proprietary
Invision Power Board[10] Invision Power Services Inc. 2019-06-12 4.4.4 PHP Proprietary
MyBB[11] MyBB Group 2019-12-30 1.8.22 PHP LGPL, moving to BSD in 2.0[12]
Phorum[13] Brian Moon 2017-08-23 5.2.23 PHP Phorum License 2 (BSD like)
phpBB[14] phpBB Ltd. 2020-01-06 3.3.0 PHP GPL
PunBB[15] PunBB 2015-10-14 1.4.4 PHP GPL
Simple Machines Forum[16] Simple Machines 2019-12-30[17] 2.0.17[17] PHP BSD License
Syndie[18] Anonymous (related to I2P) 2014-08-14 1.107b Java Open source, multiple licenses
Thredded[19] Joel Oliveira, Gleb Mazovetskiy, et al. 2019-08-17 0.16.13 Ruby MIT
Vanilla Forums[20] Vanilla Forums 2019-03-15 2.8.1 PHP Proprietary/GPL[21]
vBulletin[22] vBulletin Solutions Inc. 2019-05-14 5.5.2 PHP[23] Proprietary[24]
XenForo XenForo Limited, Kier Darby, Mike Sullivan. 2019-11-06 2.1.5 PHP[25] Proprietary
Creator Latest release date Current stable version Programming language License

Features

Flat Threaded User selectable themes Unread message tracking WYSIWYG Editor Export, portability Email / NNTP interface Languages SSO
bbPress Template:Yes[26] Template:No[27] Template:Partial[28][29] Template:Yes[30]
Beehive Forum Template:Yes[26] Template:Yes[26] Template:Partial[26] Template:Yes[26] Template:Yes[26] (using TinyMCE) Template:Partial[31]
Discourse Template:Yes Template:No[32] Template:Yes[33] Template:Yes Template:Partial Template:Yes[34] Template:Partial[35] Template:Yes[36][37] Template:Yes
Discuz! Template:Yes[38]
FluxBB Template:Yes[26] Template:No[26] Template:Partial[26] Template:Partial[26] Template:No[26] Template:Yes[39]
FUDforum Template:Yes[26] Template:Yes[26] Template:Yes[26] Template:Yes[26] Template:Yes[26] Template:Partial[40] Template:Yes[41] Template:Yes[42]
Invision Power Board Template:Yes[26] Template:Yes[26] Template:Yes[26] Template:Yes[26] Template:No[43] Template:No[44]
MyBB[45] Template:Yes[26] Template:Yes[26] Template:Yes[26] Template:Yes[26] Template:Yes[26] Template:No[46] Template:No[47][48] Template:Yes[49]
Phorum Template:Yes[26] Template:Yes[26] Template:Yes[26] Template:Yes[26] Template:Yes[26] Template:Partial[50] Template:No[51]
phpBB[52] Template:Yes[26] Template:No[26] Template:Yes[26] Template:Yes[26] Template:No[26] Template:No[53] Template:No[54][55] Template:Yes[56] Template:Yes (LDAP, OAuth)[57]
PunBB[58] Template:Yes[26] Template:Yes[26] Template:Partial[26] Template:No[59][60]
Simple Machines Forum Template:Yes[26] Template:No[26] Template:Yes[26] Template:Yes[26] Template:Yes[26] Template:Partial [61] Template:No[62] Template:Yes[63]
Thredded Template:Yes[19] Template:No[19] Template:Yes[19] Template:Yes[19] Template:No[19] Template:No[19] Template:Partial[19] Template:Yes[19] Template:Yes[19]
Vanilla Forums Template:Yes[26] Template:Yes[26] Template:Yes[26] Template:Partial[26] Template:Partial [64][65] Template:Yes[66] Template:Yes[67]
vBulletin[68] Template:Yes[26] Template:Yes[26] Template:Yes[26] Template:Yes[26] Template:Yes[26] Template:Partial[69][70] Template:No[71]
XenForo Template:Yes[26] Template:Yes[26] Template:Yes[26] Template:Yes[26] Template:Yes[72] Template:Yes[73] Template:Yes[74]

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.[26]

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) or feed it to data conversion tools.

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

Email/NNTP interface

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

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.[77]

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,[78] without major reported bugs in support.

Single sign-on

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

Other features

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,[80] or else reach the correct users with their posts, avoiding to "spam" the forum with duplicate or off-topic posts.[81]

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

Template:Main article 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/.

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.[82] This issue can be resolved by rewriting external links to point to a redirection page that performs referer hiding.

Data storage

Information about what data storage system can be used.

MySQL PostgreSQL MSSQL Oracle SQLite Firebird Flat file
bbPress[2] Template:Yes Template:No Template:No Template:No Template:No Template:No Template:No
Beehive Forum Template:Yes Template:No Template:No Template:No Template:No Template:No Template:No
Discourse Template:No Template:Yes Template:No Template:No Template:No Template:No Template:No
Discuz! Template:Yes Template:Yes Template:No Template:No Template:No Template:No Template:No
FluxBB Template:Yes Template:Yes Template:No Template:No Template:Partial Template:No Template:No
FUDforum Template:Yes Template:Yes Template:Yes Template:Yes Template:Yes Template:Yes Template:No
Iko Template:Yes Template:No Template:No Template:No Template:No Template:No Template:No
Ikonboard Template:Yes Template:Yes Template:No Template:Yes Template:No Template:No Template:Yes
Invision Power Board Template:Yes Template:No Template:Partial Template:No Template:No Template:No Template:No
kusaba Template:Yes Template:No Template:No Template:No Template:No Template:No Template:No
MyBB[45] Template:Yes Template:Yes Template:No Template:No Template:Yes Template:No Template:No
Phorum Template:Yes Template:No Template:No Template:No Template:No Template:No Template:No
phpBB[52] Template:Yes Template:Yes Template:Yes Template:Yes Template:Yes Template:Partial Template:No
PunBB[58] Template:Yes Template:Yes Template:No Template:No Template:Yes Template:No Template:No
Simple Machines Forum Template:Yes Template:Yes Template:No Template:No Template:Yes Template:No Template:No
Syndie Template:Yes (HSQLDB) Template:No Template:No Template:No Template:No Template:No Template:No
Thredded[19] Template:Yes Template:Yes Template:No Template:No Template:Yes Template:No Template:No
Vanilla Forums Template:Yes Template:No Template:No Template:No Template:No Template:No Template:No
vBulletin[68] Template:Yes Template:No Template:No Template:No Template:No Template:No Template:No
XenForo Template:Yes Template:No Template:No Template:No Template:No Template:No Template:No

See also

References

1 }}
     | references-column-width 
     | references-column-count references-column-count-{{#if:1|{{{1}}}}} }}
   | {{#if: 
     | references-column-width }} }}" style="{{#if: 
   | {{#iferror: {{#ifexpr: 1 > 1 }}
     | Template:Column-width
     | Template:Column-count }}
   | {{#if: 
     | Template:Column-width }} }} list-style-type: {{#switch: 
   | upper-alpha
   | upper-roman
   | lower-alpha
   | lower-greek
   | lower-roman = {{{group}}}
   | #default = decimal}};">
  1. Template:Cite web
  2. 2.0 2.1 Template:Cite web
  3. Template:Cite web
  4. Template:Cite web
  5. Template:Cite web
  6. Template:Cite web
  7. Template:Cite web
  8. Template:Cite web
  9. Template:Cite web
  10. Template:Cite web
  11. Template:Cite web
  12. Template:Cite web
  13. Template:Cite web
  14. Template:Cite web
  15. Template:Cite web
  16. Template:Cite web
  17. 17.0 17.1 Template:Cite web
  18. Template:Cite web
  19. 19.00 19.01 19.02 19.03 19.04 19.05 19.06 19.07 19.08 19.09 19.10 Template:Cite web
  20. Template:Cite web
  21. Template:Cite web
  22. Template:Cite web
  23. Template:Cite web
  24. Template:Cite web
  25. Template:Cite web
  26. 26.00 26.01 26.02 26.03 26.04 26.05 26.06 26.07 26.08 26.09 26.10 26.11 26.12 26.13 26.14 26.15 26.16 26.17 26.18 26.19 26.20 26.21 26.22 26.23 26.24 26.25 26.26 26.27 26.28 26.29 26.30 26.31 26.32 26.33 26.34 26.35 26.36 26.37 26.38 26.39 26.40 26.41 26.42 26.43 26.44 26.45 26.46 26.47 26.48 26.49 26.50 26.51 26.52 26.53 26.54 26.55 26.56 Template:Cite web
  27. Template:Cite web
  28. Template:Cite web
  29. Template:Cite web
  30. Template:Cite web
  31. Template:Cite web
  32. Template:Cite web
  33. Template:Cite web
  34. Template:Cite web
  35. Template:Cite web
  36. Template:Cite web
  37. Template:Cite web
  38. Template:Cite web
  39. Template:Cite web
  40. For admins: http://fudforum.org/forum/index.php?t=msg&th=120851
  41. Native NNTP gateway: http://fudforum.org/forum/index.php?t=msg&th=120406&goto=167140&#msg_167140
  42. Template:Cite web
  43. Only 3 languages updated in one year. https://invisionpower.com/files/category/107-language-packs/?sortby=file_name&filter=file_free&sortby=file_updated&sortdirection=desc&page=1 Template:Webarchive
  44. Template:Cite web
  45. 45.0 45.1 Template:Cite web
  46. Template:Cite web
  47. Template:Cite web
  48. Template:Cite web
  49. Template:Cite web
  50. Template:Cite web
  51. Template:Cite web
  52. 52.0 52.1 Template:Cite web
  53. Template:Cite web
  54. Template:Cite web
  55. Template:Cite web
  56. Template:Cite web
  57. Template:Cite web
  58. 58.0 58.1 Template:Cite web
  59. Template:Cite web
  60. Template:Cite web
  61. PM: http://custom.simplemachines.org/mods/index.php?action=search;basic_search=export
  62. Template:Cite web
  63. Template:Cite web
  64. Attachments: http://vanillaforums.org/addon/myattachments-plugin
  65. Admin-only: http://vanillaforums.org/addon/porter-core
  66. Template:Cite web 2 languages 100 % translated.
  67. Template:Cite web
  68. 68.0 68.1 Template:Cite web
  69. Template:Cite web
  70. vB 4: https://www.vbulletin.org/forum/showpost.php?p=2489379&postcount=1069
  71. Template:Cite web
  72. https://xenforo.com/xf2-docs/manual/importing/
  73. https://xenforo.com/community/resources/categories/xenforo-translations.14/ Available translations for latest version.
  74. https://xenforo.com/xf2-docs/manual/connected-accounts/ OAuth SSO provided by Connected accounts feature.
  75. Template:Cite news
  76. Template:Cite book
  77. Template:Cite book
  78. Template:Cite web
  79. Template:Cite book
  80. Template:Cite journal
  81. Template:Cite journal
  82. Template:Cite web