Forum cost arguments die in the first screenshot. Someone pastes “Discourse is free.” Someone else pastes “XenForo is $195.” Someone who still runs phpBB pastes nothing, because the software was free in 2007 and it is free now. None of those screenshots is a three-year total. None of them includes the human who applies upgrades, answers the queue, and explains to a veteran why the last-post column is gone.
This is a three-year TCO article for three honest landings: phpBB, XenForo (self-hosted license or XenForo Cloud), and Discourse (official Docker on a VPS, or official hosted). It is not the stay-or-leave framework and not the old-board-to-any-modern decision. Those decide whether to move. This one prices the move you already named.
Prices below are public 2026 list figures from xenforo.com/purchase and discourse.org/pricing as recorded for this series. They change. XenForo’s listed license and Cloud numbers are ex VAT. Discourse’s public grid is USD and can move without a press release. Add your own VAT, currency conversion, and payment-processor reality. Re-check both live pages before you send this table to a CFO. If a hosting dollar amount is not on those pages, this article will not invent one.
What “three-year TCO” means here
Write one column per destination. Fill every row. Zero is allowed only if the line is truly zero — not if you are pretending your time is free.
| Line | What belongs on it |
|---|---|
| Software | License, official hosted plan, or $0 for GPLv2 / official open source |
| Official extras | XenForo first-party add-ons; Discourse hosted plugin/feature gates; phpBB has no SKU |
| Hosting | The VPS or Cloud box you actually need, for 36 months |
| SMTP that can send digests, or a decision to live without them | |
| Migration | Import labor, redirects, a staging box, a freeze window |
| Staff time | Upgrades, queue, retraining. This is usually the largest line. |
| Risk | The unpaid invoice when the only person who can restore the box leaves |
Do not compare month-one stickers. A $0 phpBB on a dying shared host plus a founder who wants out is more expensive than a XenForo license the same founder will still be willing to open in 2028. A Discourse hosted Business plan is more expensive than a XenForo license plus a modest PHP VPS unless you were going to hire a Docker person you do not have.
The official 2026 stickers (re-check live)
phpBB
phpBB is GPLv2. The latest stable cited for this series is 3.3.17 (June 2026). There is no license invoice. Cost is hosting plus time. XenForo officially imports phpBB 3.2–3.3 if you later decide the free sticker was the expensive path; that runbook is a different article.
XenForo self-hosted
Public purchase page, 2026, ex VAT:
| Item | List | What it is |
|---|---|---|
| Forum license | $195 | Lifetime use of that license + 12 months support and updates |
| Support / updates extension | $60 / year | After the included year |
| Multi-license (same customer) | 1–2 $195, 3–5 $185, 6–10 $175, 11+ $165 | Per license, same 12-month support window |
| Enhanced Search | $60 (+ $10 ext) | Official Elasticsearch integration |
| Resource Manager | $70 (+ $15 ext) | Official downloads / resources |
| Media Gallery | $70 (+ $15 ext) | Official gallery |
| Installation (vendor) | $60 | Official install service, not hosting |
| Branding removal | $350 | Removes the XenForo copyright footer |
PHP 7.2 minimum, 8.3 recommended. MySQL 5.7+. That is a normal PHP VPS, not a Docker RAM conversation. You already know how to buy this box if you run phpBB.
Three-year software arithmetic for one license, no add-ons, if you keep support current:
- Year 1: $195 (includes 12 months)
- Year 2: $60
- Year 3: $60
- Software subtotal: $315 (ex VAT)
If you let support lapse, the license still runs. You stop getting official updates and support. The ACP will tell you when support and updates have expired, and when the installation URL does not match the customer area. That is a risk line, not a $0 coupon.
XenForo Cloud
Public 2026 Cloud grid (ex VAT), page-view and storage caps apply, Complete suite including XFES, daily backups, no SSH:
| Plan | Monthly | If billed annual (listed) |
|---|---|---|
| Starter | $60 / mo | $54 / mo |
| Standard | $100 / mo | $90 / mo |
| Business | $250 / mo | $225 / mo |
Three-year Cloud stickers if prices hold (they may not):
| Plan | 36 × monthly | 36 × annual-rate |
|---|---|---|
| Starter | $2,160 | $1,944 |
| Standard | $3,600 | $3,240 |
| Business | $9,000 | $8,100 |
Those numbers already dwarf the self-hosted license. You are buying not owning PHP-FPM, and you are buying XFES-in-the-suite. Compare them to Discourse hosted, not to $195.
Discourse self-hosted
The software is free. Official production is Docker. Documented minimum: 1 GB RAM with swap, 1 core, 10 GB disk, 64-bit Linux. Recommended: 2 GB+ RAM, 2+ cores, 20 GB+, Ubuntu LTS. Rebuilds (./launcher rebuild app) take about 5–10 minutes of downtime unless you configure the offline page. SMTP is optional; skip it and you get Discourse ID login and you lose digests / mailing-list / reply-by-email until you add mail.
Three-year software subtotal: $0. Three-year hosting subtotal: 36 × whatever you pay for a box that meets the recommended line. This article will not invent a VPS price. Write the number from your host’s current 2 GB plan, in your currency, with VAT.
Discourse official hosted
Public 2026 grid on discourse.org/pricing, USD, change anytime:
| Plan | List | What the public page has claimed |
|---|---|---|
| Free | $0 | A hosted community with plan limits; read the live page |
| Pro | $100 / mo | Unlimited members and chat, 5 staff seats, 15+ plugins, custom domain, API / webhooks |
| Business | $500 / mo | SSO (OIDC / OAuth2), automation, events, gamification, 15 staff, 20+ extra plugins, migration services |
| Enterprise | Custom | 99.9% SLA, 50+ plugins, unlimited staff |
Three-year hosted stickers if prices hold:
| Plan | 36 months |
|---|---|
| Free | $0 |
| Pro | $3,600 |
| Business | $18,000 |
| Enterprise | whatever they quote |
Hosted can move via backup. Official materials emphasize that the data belongs to the customer. That is a real line: you are not buying a hostage. You are buying seats, plugins, and the absence of launcher.
Three-year software + hosted arithmetic (stickers only)
Hold hosting and staff to the side for one page so the stickers can be seen.
| Path | 3-year list software / plan | Notes |
|---|---|---|
| phpBB | $0 | GPLv2. Host + time still exist. |
| XF license, support current, no add-ons | $315 | $195 + $60 + $60, ex VAT |
| XF license + XFES + RM + MG, support current | $315 + $60+$10+$10 + $70+$15+$15 + $70+$15+$15 | Do the add-on row only if you will actually install them. $655 if you buy all three in year 1 and extend all three for two years. |
| XF license + branding removal | add $350 once | Vanity, not TCO |
| XF Cloud Starter (annual rate) | $1,944 | Caps. No SSH. Suite includes XFES. |
| XF Cloud Standard (annual rate) | $3,240 | Same shape, higher caps |
| XF Cloud Business (annual rate) | $8,100 | Same shape, higher caps |
| Discourse Docker | $0 software | 2 GB+ VPS recommended, 36 months |
| Discourse hosted Free | $0 | Live limits; re-check |
| Discourse hosted Pro | $3,600 | 5 staff seats |
| Discourse hosted Business | $18,000 | SSO, events, gamification, migration services |
Read the XF-add-on row twice. A hobby board that never installs Resource Manager should not carry $100-class extras “just in case.” A support community that is a file library should. Official add-ons extend on their own clock ($10 / $15). Branding removal is a one-time $350 and does not change how the software runs.
VAT: if you are in a VAT country, XenForo’s $195 is not your checkout total. Discourse’s $100 / mo may or may not be quoted the way your finance team expects. Write the checkout, not the marketing tile.
Hosting is a shape, not a number we will invent
Because public 2026 VPS menus move weekly and are not on the XenForo or Discourse pricing pages, treat hosting as a shape you fill with your invoice.
| Shape | Who it fits | What you must be able to do |
|---|---|---|
| Cheap shared PHP | phpBB, small XenForo if the host is competent | PHP 8.3, MySQL 5.7+ / 8, mail that is not on a blocklist |
| Modest PHP VPS | phpBB, typical XenForo | SSH, backups of files + DB, a restore rehearsal |
| XenForo Cloud | XF you do not want to SSH | Pay the plan; live inside caps; no src/config.php at 02:00 |
| 2 GB+ Docker VPS | Self-hosted Discourse | ./launcher rebuild app, swap on 1 GB, ports 80/443 free, Ubuntu LTS |
| Discourse hosted | Discourse you do not want to SSH | Pay the plan; export if you leave |
A 1 GB Discourse droplet without swap is how beginners spend money on downtime instead of on categories. Official recommended is 2 GB+. If your CFO hears “Discourse is free” and approves the smallest VPS in the dropdown, you have a project failure before the first topic.
phpBB and XenForo can share a box shape. Discourse self-hosted usually cannot share the same $6-class mentality. That is the whole self-host comparison. The beginner Docker expectations and the first-month rebuild failures are the operational footnotes.
Mail is its own mini-host. Transactional SMTP (a real provider, not the VPS’s port 25) is a monthly line on every path that wants digests. Discourse-without-SMTP is a valid cheap path only if you have accepted Discourse ID + web push and no digest. phpBB or XenForo without working mail is how registrations die in the confirm queue. Do not price mail at $0 because you have not opened the log.
Staff time is the real line
If you only remember one row, remember this one.
A volunteer who already speaks phpBB ACLs will spend near-zero extra hours staying on an upgraded 3.3, some hours arriving on XenForo (new Never / Yes / No, new ACP, same category of product), and many hours arriving on Discourse (trust levels, category security, no board index, possibly Docker). Those hours are not on the pricing page. They are why cheap software becomes expensive.
Price staff time as a range you write down, not as a fake hourly rate this article invented:
- Stay on phpBB: upgrade weekends, style fights, extension roulette, the next PHP bump.
- Arrive on XenForo: one import project (official Importers add-on), then a cheaper year-2 if the tree is familiar.
- Stay on XenForo: 2.3 upgrades on staging first; add-on outdated-templates; you cannot officially downgrade.
- Discourse hosted: retraining, not patching. Queue habits. The sandbox conversation.
- Discourse Docker: retraining plus rebuilds, swap, Let’s Encrypt surprises, the person who can read container logs at 02:00.
Retraining is not optional on a category change. Traditional forum → Discourse is a category change. phpBB → XenForo is an implementation change. Price them differently. The pros-and-cons close is who should sit in which chair; this article is what that chair costs.
Moderation load also moves. Discourse’s TL0 sandbox and review queue can reduce first-month spam hours if you leave the defaults on. They can increase hours if you turn the sandbox off or you staff the queue with nobody. XenForo will sandbox nobody you did not sandbox. phpBB is the same. Automation is a cost reducer only if you keep it.
Worked three-year totals (fill the blanks)
The dollar amounts below use only official list prices. Hosting and staff are left as named blanks on purpose.
A. Hobby phpBB, one volunteer, stay
| Line | 3-year |
|---|---|
| Software | $0 |
| Official extras | $0 |
| Hosting | 36 × current PHP host |
| 36 × SMTP if the host’s mail is junk | |
| Migration | $0 |
| Staff | weekends of upgrades + queue |
| Sticker subtotal | $0 + host + mail + time |
Stay is cheap when the volunteer still exists and 3.3 still patches. Stay is expensive when that volunteer has already said they will not open the ACP in 2027.
B. Same hobby, arrive on XenForo self-hosted
| Line | 3-year |
|---|---|
| Software | $315 if support stays current |
| Official extras | $0, or Media Gallery $70 + $15 + $15 if the old gallery is load-bearing |
| Hosting | 36 × modest PHP VPS (often the same shape as phpBB) |
| same SMTP problem as phpBB | |
| Migration | your time on Importers + import_log redirects; optional official Installation $60 |
| Staff | a bad month, then a familiar tree |
| Sticker subtotal | $315 (or $415 with MG kept current) + host + mail + import time |
This is the usual “modern traditional forum” invoice. It is not $195. It is $315 over three years plus the host you were already paying.
C. Company support, Discourse hosted Pro
| Line | 3-year |
|---|---|
| Software / plan | $3,600 |
| Official extras | in-plan if 5 staff seats and 15+ plugins are enough |
| Hosting | $0 extra (it is the plan) |
| whatever the plan’s email story is on the live page; do not invent a cap | |
| Migration | staff time, or Business if you need the listed migration services ($18,000 / 3 years instead) |
| Staff | retraining, not Docker |
| Sticker subtotal | $3,600 + time, or $18,000 + time if Business is the honest tier |
Compare $3,600 to XF Cloud Standard at $3,240 annual-rate, not to $195. Both numbers are “someone else owns the box.” They are different products. Five Discourse staff seats is a hard gate: a sixth moderator is a plan conversation, not a usergroup tick.
D. Same company, XenForo Cloud Standard
| Line | 3-year |
|---|---|
| Plan | $3,240 annual-rate (or $3,600 month-to-month) |
| Extras | XFES included in the suite as listed |
| Hosting | included; watch page-view and storage caps |
| still your domain’s reputation | |
| Migration | official Importers on a path you coordinate with Cloud constraints (no SSH) |
| Staff | traditional-forum retraining only if they came from phpBB; near-zero if they already speak XF |
| Sticker subtotal | $3,240–$3,600 + time |
If legal wants a vendor and the community is still a tree, this is the XF-shaped “fire the sysadmin” row. If legal wants a vendor and the community is a stream, Discourse Pro is the other row. Do not buy both.
E. Self-hosted Discourse, “because it is free”
| Line | 3-year |
|---|---|
| Software | $0 |
| Hosting | 36 × 2 GB+ VPS (write the real invoice) |
| SMTP when you want digests | |
| Migration | staging droplet + import + redirects; community practice often sizes a large import box separately, then restores a backup to prod |
| Staff | Docker + queue + the rebuild window |
| Sticker subtotal | $0 + 2 GB VPS × 36 + SMTP + a rebuild person |
This path is cheaper than Pro only if the VPS plus the human is cheaper than $3,600 and you will still be that human in year three. It is never cheaper than phpBB on the same volunteer’s time, because you added a stack. The ops close already said this; the arithmetic is why.
Add-ons, plugins, and the feature gate you forgot to price
phpBB. Extensions are free until they are unmaintained. The cost is the next PHP version. Do not put $0 on the risk line.
XenForo. Third-party add-ons are a second marketplace. This article will not invent their prices. Official extras are in the table above. If the board is a gallery, a resource library, or a large search problem, budget the official line items. If it is not, do not.
Discourse hosted. Features move behind plan gates on the public grid. SSO (OIDC / OAuth2), events, gamification, and “migration services” are listed on Business, not on Pro. If your company login story requires SSO, Pro’s $3,600 is the wrong three-year number; $18,000 is. If you only need a custom domain and API, Pro may be enough. Read the live grid. Do not take this paragraph as a contract.
Discourse self-hosted. Many plugins are free in the sense of “a Git clone and a rebuild.” The cost is the rebuild, the person who will own the break, and the fact that a plugin that is first-party on hosted Business may be a different install story on Docker. Do not assume every hosted feature is a one-line app.yml on self-host.
Migration is a project cost, not a SKU
Official XenForo Importers are included with the customer-area add-on; there is not a separate public “phpBB importer fee” on the purchase page. Vendor Installation is $60 if you want XenForo to put the files on a box — that is install, not import.
Discourse hosted Business lists migration services. That is one reason the $500 / mo tier exists. Pro does not list them on the same public bullet. Self-hosted Discourse imports are your time and a staging droplet.
Redirects are engineering on every path. vBulletin → XenForo has a named Redirects product in the XF manuals. phpBB → XenForo uses importer-package scripts plus import_log. Anything → Discourse is a 301 sheet onto /t/slug/id. Price a week of someone who can write those rules. Do not put $0 on redirects because the import “kept IDs.” IDs are not paths.
Passwords often need a first-login rehash or a lost-password pass. That is staff time and a support queue, not a license line.
Four ways to lie to yourself with this table
- “Discourse is free.” The software is. Hosted Pro is $3,600 / 3 years. Docker is a 2 GB VPS plus a rebuild person. Free hosted is a plan with limits you have to re-read.
- “XenForo is $195.” Over three years of current support it is $315 before VAT, before add-ons, before the VPS you already needed for phpBB.
- “Cloud is always more expensive.” XF Cloud Starter at $1,944 / 3 years can beat a poorly run VPS plus the contractor who restores it twice. Discourse Pro at $3,600 can beat a Docker outage that lasts a hiring cycle.
- “Staff time is unsayable, so I will omit it.” Then you are not doing TCO. You are doing shopping.
How to pick a row without a religious war
Use the old-forum filters first (URLs, staff, graveyard, audience, cost of not moving). Then:
- Tree + PHP person + modest money → phpBB stay or XenForo license. Price $0 vs $315, not $0 vs “Discourse.”
- Tree + no SSH → XenForo Cloud. Price $1,944–$8,100 against Discourse hosted, not against $195.
- Stream + no SSH → Discourse hosted. Price Pro vs Business by SSO and staff seats, not by vibes.
- Stream + Docker person → Discourse self-host. Price the 2 GB VPS against Pro. If they are close, pay Pro and go home.
- Suite → stop. That is IPS.
If the three-year stickers are within a few hundred dollars and the staff-time rows are not, the staff-time row wins. If the staff-time rows are similar and the stickers are $315 versus $18,000, the sticker wins. That is the whole method.
Takeaways
- Three-year TCO is software + official extras + hosting + mail + migration + staff + risk. The pricing page is one row.
- phpBB is $0 software. It is not $0 operations.
- XenForo self-hosted is $195 + $60 + $60 = $315 over three years of current support, ex VAT, before add-ons. Cloud is $60–$250 / mo ($54–$225 annual-rate) with caps.
- Discourse software is $0. Official hosted is Free / $100 / $500 / custom. Three-year Pro is $3,600; Business is $18,000. Self-host needs a 2 GB+ VPS you will actually price.
- VAT and live-page drift are your problem. Re-check xenforo.com/purchase and discourse.org/pricing the week you buy.
- Five Discourse staff seats and SSO-on-Business are gates. Count humans and identity before you count topics.
- Staff time is usually the deciding line. A category change (board index → Latest) costs more hours than an implementation change (phpBB → XenForo).
Write the table with your host invoice and your names in the staff row. If you cannot name the human, you cannot name the total. Pick the path that human can still restore in year three.

