If you run a small business and you sat down today to total up every monthly software subscription, you would probably be unhappy with the answer. Microsoft 365 or Google Workspace, Dropbox, Slack, Zoom, Zapier, a VPN, a password manager, a CRM, project management, accounting, payroll, e-signature, a meeting scheduler. A typical 10-person business spends $2,000 to $4,000 a month on per-seat software, and the line items only ever grow.
This post is about why that number is so high, which parts of it are actually buying you something useful, and what to do about the rest.
The trap is the per-seat model, not the software
There's nothing wrong with most of the software in your stack. The trap is the business model. Per-seat SaaS pricing is built to compound:
- Every new hire is a new monthly bill.
- Every "Pro" feature is gated behind a higher tier you'll eventually need.
- Every vendor introduces new add-ons (AI, analytics, automation) that quietly become required.
- Every renewal is at a higher rate than the last.
The result is that your software bill grows faster than your headcount, and faster than your revenue. You're not paying for the software you bought five years ago — you're paying for whatever the vendor decides to charge next quarter.
Most of your stack has a managed open-source equivalent
Here's the part vendors don't want you to know: most of what you're paying for has a mature, well-funded open-source alternative that does the same job. Not theoretical alternatives — production-grade software that real companies run at scale.
| You pay for | You could run |
|---|---|
| Dropbox / Google Drive / OneDrive | Nextcloud |
| Zapier / Make | n8n |
| Slack | Mattermost or Rocket.Chat |
| Zoom | Jitsi Meet, BigBlueButton |
| 1Password / LastPass | Vaultwarden |
| Per-user VPN service | Netbird (mesh on WireGuard) |
| HubSpot Starter / basic CRM | EspoCRM, SuiteCRM |
| Asana / Monday / ClickUp | OpenProject, Plane, Vikunja |
| Hosted email (parts of M365) | Self-hosted mail or open-source providers |
The open-source side has been catching up for a decade. In several cases — n8n vs Zapier, Vaultwarden vs LastPass, Mattermost vs Slack for engineering teams — the open-source option is now arguably better.
So why doesn't every business already do this?
Because running infrastructure is a job. The reason small businesses don't self-host isn't that the software is bad. It's that nobody on the team wants to be on call when the file server runs out of disk on a Saturday. SaaS isn't really sold to your company; it's sold to the person who would otherwise have to run that server, and they're delighted to outsource the headache.
The honest answer is that the SaaS bill is partly software cost and partly avoiding-the-pager cost. As long as someone has to run the stack, you have to compare:
- Per-seat SaaS bill, scaling forever.
- Open-source software (free) + competent operator + hardware + ongoing ops.
If you compare those two seriously for a 10–100 person business, option 2 almost always wins on cost over a 3-year horizon, often by 50–70%. But it requires an operator. Without one, you're just trading a SaaS bill for a different problem.
Where the math actually works
Let's get specific. The savings are real when:
- Your team is steady-state. You're not 3 people one month and 30 the next. You can plan capacity.
- You have meaningful storage or egress. Hyperscaler bills get ugly fast when you're moving real volumes of data. Self-hosted file storage and S3-compatible object storage stay cheap.
- You have predictable workloads. Apps that run 24/7 whether you're using them or not pay back the infrastructure investment quickly.
- You're paying real money for tools that are nice-to-have rather than mission-critical. Slack at $15/user is real money for "we like the UX." Nextcloud at a fraction of that does the actual file-storage job perfectly well.
Where it doesn't work
We try to be honest about this:
- Tiny teams. Below a handful of users, SaaS is genuinely fine. The infrastructure baseline costs more than what you'd save.
- Bursty, unpredictable traffic. Hyperscaler auto-scaling earns its margin here. If your load varies 50× between weekday and weekend, AWS is better at that than you are.
- Workloads with deep managed-service dependencies. RDS, DynamoDB, Lambda — replacing those is doable but takes engineering you may not have.
- Hard compliance constraints with no in-house security capacity. A managed SaaS with a turnkey BAA is sometimes the safer path even if it costs more.
What a real liberation project looks like
A practical migration off your current SaaS stack isn't a science project. It's:
- Audit. Pull every recurring software charge from the last 12 months. Categorize by category and ROI. This usually takes a few days and surfaces 2–3 subscriptions nobody knew were still active.
- Plan. Decide what gets self-hosted, what stays SaaS, what just gets cancelled. Sequence the migration so nothing breaks for the team.
- Migrate. Stand up the open-source stack alongside the SaaS one. Move data over. Run both in parallel for a few weeks. Cut over when the team is comfortable.
- Hand off. Document the systems. Train the team. Decide together whether ongoing operations are in-house, ours, or a partner shop.
The whole thing typically runs 4–12 weeks for a small business, costs $3,000–$8,000 as a one-time project, and pays for itself inside the first year.
What this isn't
This isn't a pitch to go full self-hosted overnight. It isn't a pitch to use clunky software because it's free. It isn't a pitch against SaaS in general — well-run SaaS for the right job is great.
It's a pitch to do the math on your own stack. To stop treating recurring software bills as fixed cost and start treating them like rent — something you can negotiate, replace, or reduce. To recognize that "we can't run our own servers" stopped being true about a decade ago.
If you'd like the math run on your specific stack, we'll do the audit for free. The numbers either work or they don't — and you walk away with a clearer picture of where your software dollars are going either way.