The Slack bill rarely arrives as one line. It shows up as a per-seat charge that renews monthly, a search box that quietly stops at 90 days, and a compliance checkbox that only unlocks on the top plan. Nobody leaves Slack because the messages look wrong. They leave because three basics — talking, finding what was said, and where it is stored — are each metered separately.

So this is not a feature shootout. It is those three problems in order, and what genuinely fixes each one. The fixes happen to be open-source chat servers, but the point is the billing model, not the logo.

Problem one: the seat is a subscription, not a purchase

Slack’s own pricing page, checked in October 2026, is simple and unforgiving. The free plan is $0 with 90 days of searchable history and up to 10 app integrations. Pro is about $7.25 per user per month billed annually (about $8.75 monthly). Business+ is about $15 per user per month annually (about $18 monthly), and Enterprise+ about $45 per user per month. None is a one-time cost: they renew and scale with headcount, so the meter runs fastest exactly when a company grows.

Do the arithmetic on a 30-person team. Business+ at the annual rate is roughly $5,400 a year, every year, before add-ons — also the ceiling on what a self-hosted alternative is allowed to cost you.

The escape is not a cheaper seat. It is removing the seat from the equation. Mattermost, Rocket.Chat and Zulip are all open source and free to self-host: Mattermost ships a free edition you run yourself, Rocket.Chat a free self-managed workspace, and Zulip’s self-hosted plan a complete chat server with the full feature set unlocked. You pay for a server and the time to run it, not per person. Their paid plans still exist and are still priced per seat — Mattermost and Rocket.Chat quote them on request — so the honest comparison is per-seat SaaS against per-server self-hosting, with little in between.

Problem two: your history is the product

On Slack’s free plan, messages are searchable for 90 days, and the company’s stated retention policy deletes free-workspace data after one year. To reach the previous twelve months you upgrade; to keep everything indefinitely you pay more. A conversation your team already had becomes a feature you rent back.

Open-source servers invert that. Zulip’s free cloud tier keeps 10,000 messages of search history, and self-hosted your history sits in your own database with no search cap. Mattermost’s free edition searches up to about three million posts before you would want enterprise search. Moving is deliberately un-scary: Zulip documents export and import between its cloud and your own servers — which is what no lock-in is supposed to mean.

Jitsi Meet open-source video conferencing

Official image from the jitsi.org website. Self-hosted chat servers often bolt on a video layer rather than build one.

The catch is administrative: you now run the backups and set retention. That is the trade — messages stop being a subscription and start being files.

Problem three: compliance is a paid tier, not a setting

Where your messages physically live is the quietest of the three bills. On Slack, data residency, native data loss prevention, legal holds, information barriers and SAML or multi-SAML single sign-on sit on Business+ and Enterprise+; the free plan’s single sign-on is OAuth with Google only. When a hospital, law firm or European public body needs the data inside a jurisdiction — or its own walls — the alternative to the enterprise tier is owning the server.

This is where the open-source projects are strongest, and where they differ. Mattermost is built for this case: its own material describes air-gapped and disconnected deployments, AD/LDAP and attribute-based access control, and hardening against FIPS 140-3 and STIG. Rocket.Chat leans on audits and hosting choice — SOC 2 Type 2, GDPR, HIPAA and ISO 27001 claims, with on-premises and air-gapped options — and supports end-to-end encryption, though independent analyses in 2024 found flaws in that encryption which later releases addressed. Element, on the Matrix open standard, is the federated option: Matrix links many servers rather than one, and governments have adopted it for sovereign messaging — France’s Tchap, Germany’s healthcare Ti-Messenger and armed-forces BwMessenger, and Belgian government employees since 2026.

What self-hosting actually costs

A small virtual private server runs roughly $5 to $20 a month, and each of these projects is a container or a package away from running. That is the easy half; the harder half is that someone has to patch it, back it up and carry the pager.

Mattermost leans on PostgreSQL, Rocket.Chat on MongoDB, and Zulip is a single documented install. The honest budget is the server bill plus a fraction of an operations role. At 30 people on Slack Business+, that fraction is close to free by comparison; at five, it may not be worth the learning curve — a real answer, not a hedge.

Problem, fix, and who it fits

ProblemWhat actually fixes itWho it fits
A per-seat cost that renews foreverSelf-hosted Mattermost (free edition) or Rocket.Chat (free self-managed workspace) — pay for a server, not a seatTeams big enough that seats outgrow a server bill
History that expires or costs moreSelf-hosted Zulip (free, full feature set) or Mattermost — the database is yoursTeams that live in old threads
Data that must stay in your jurisdictionMattermost (air-gapped, LDAP, ABAC) or Rocket.Chat (on-prem, audited)Regulated teams and public-sector work

Rolling it out without breaking the team

Three steps, in order.

First, do the twelve-month math. Count seats, add the tier you need for unlimited history and the compliance features you require, and write down one number to beat.

Second, run one instance in parallel. Stand up a self-hosted server — Zulip for the gentlest start, Mattermost if you need LDAP or attribute-based access control — beside Slack for two weeks, invite one team, and measure real admin time instead of guessing.

Third, move one team, not the company. Keep the Slack export, set a retention policy, and cancel the renewal only once the replacement has survived a normal week. Migration is a project; the switch-off is the last five minutes of it.

Four questions that decide it

Is there a genuinely free Slack alternative for a small team? Yes. Zulip’s free cloud tier and the free self-hosted editions of Zulip, Mattermost and Rocket.Chat all let a small team chat without paying per seat. What free changes is who runs the server, not whether the features work.

Can I move without losing my message history? Yes, if you plan it. Self-hosting puts the database on your machines, and Zulip documents supported export and import between cloud and self-hosted. Export from Slack first, then migrate.

How much does self-hosting really cost? A server is roughly $5 to $20 a month, plus the time of whoever maintains it. The software is free; the labour is not.

Which one should a regulated team choose? For air-gapped or classified environments, Mattermost. For audited hosting with on-premise options, Rocket.Chat. For sovereign, inter-operable messaging across organizations, Element on Matrix. All three publish the details on their own pages, so check them before you commit.

The pattern holds across all three problems: Slack is priced per person and per feature, while the open-source alternatives are priced per server and per hour of your time. If your team is large, or your history matters, or your data has a jurisdiction, that trade tilts toward self-hosting fast. If your real complaint is meetings rather than messages, that is a different switch — our Zoom alternatives guide covers the video half and the Miro alternatives comparison covers the whiteboard half. For the video layer that self-hosted chat often bolts on, see the Jitsi tool page.

Details come from slack.com/pricing, mattermost.com/pricing, rocket.chat/pricing and zulip.com/plans, plus the Wikipedia entries on Mattermost, Rocket.Chat and the Matrix protocol, checked on 13 October 2026. We have not tested these chat platforms hands-on — our testing covers AI hardware and coding tools, and the comparison method explains what that means here.