← Blog · 2026-05-10
Most self-host SaaS alternatives are alive — but 13 of 118 aren't (May 2026)
We just built a directory of paid SaaS and the open-source tools you can self-host instead. Then, instead of shipping the directory and calling it a day, we ran a build-time freshness check on every recommended OSS repo: how recent is the last commit, and is the GitHub repo archived? This post is what we found in the first monthly snapshot.
If you're paying for SaaS and looking for a self-hostable replacement, here's the headline:
- 118 unique GitHub repos referenced across 50 SaaS categories
- 105 alive (last commit ≤ 90 days)
- 4 stale (90 days – 1 year)
- 6 dead (commit > 1 year ago, or repo archived on GitHub)
- 3 unknown (renamed / moved / private — see notes)
That's about 11% of recommended self-host alternatives that we wouldn't deploy on a fresh box today without a second look — 5% truly dead, 3% stale, 3% we can't currently classify.
Most directories of "open source alternatives to X" don't tell you any of this. They list the project, maybe a star count, and stop there. Star counts are sticky: a tool can pick up tens of thousands of stars over five years and still be effectively dormant. We needed something a directory you'd actually use for migration decisions would surface up front.
Why a freshness signal matters when you're picking a self-host target
Star count is the wrong primary signal. The signal that matters when you're about to spend a weekend standing up a tool on your VPS is:
Will this still get security patches in 12 months?
You can't answer that from stars. You can answer it, imperfectly, from the last commit date and whether the repo is archived. So that's what we surface on every alternative card on the directory.
Two boundaries to be honest about:
- Last commit ≤ 90 days isn't a guarantee. A tool can be commit-active and still neglected by maintainers — no responses on issues, no tagged releases. We don't measure release cadence in this snapshot; that's a v2 item.
- Archived ≠ dead project. Some of the projects we flag as
deadare archived because the project moved — different namespace, different host, different fork that's the new canonical. The flag still matters for your self-host decision: the archived repo is not where future patches will land.
With those caveats, here's the actual list.
The 6 we flagged as dead
| Repo | Stars | Last commit | Archived | SaaS page |
|---|---|---|---|---|
minio/minio | 60,900 | 2026-02-12 | yes | aws-s3 |
grafana/oncall | 3,881 | 2026-03-24 | yes | pagerduty |
ohmyform/ohmyform | 2,886 | 2024-10-31 | no | typeform |
EddieHubCommunity/BioDrop | 5,709 | 2024-07-01 | no | linktree |
mlandauer/cuttlefish | 1,619 | 2024-06-27 | no | sendgrid |
glitchtip/glitchtip | 1 | 2022-08-21 | no | sentry |
Three patterns to notice.
Archived but not really dead. minio/minio and
grafana/oncall both have commits within the last 90 days but the
GitHub repo itself is archived. That's a self-host warning regardless of where the
project goes from here: you can't file an issue, no PRs are being accepted, and
future releases won't be tagged on this repo. Whatever's coming next lives
somewhere else, and that "somewhere else" is your problem to track. We mark these
as dead honestly, and our next sweep will surface the successor repo
on the aws-s3 and pagerduty
pages.
Truly abandoned. ohmyform,
EddieHubCommunity/BioDrop, and mlandauer/cuttlefish look
like the genuine article: no commits in 9–22 months, dozens to hundreds of open
issues, and no archive flag because nobody bothered to flip the switch. If you
read a 2023 article recommending these as self-host alternatives to Typeform,
Linktree, or SendGrid respectively, that recommendation is now stale.
Mirror snafu. glitchtip/glitchtip is a 1-star, 2022
mirror of a project whose actual development happens elsewhere — GlitchTip's
canonical repo is on GitLab. Our directory points to the wrong canonical for that
alt. That's an editorial bug we'll fix in the next sweep, not a real abandonment
signal. We'd rather ship the snapshot honestly with the bug visible than silently
hide it.
The 4 we flagged as stale
| Repo | Stars | Last commit | SaaS page |
|---|---|---|---|
mattermost/focalboard | 26,149 | 2025-06-11 | monday |
linkedin/oncall | 1,249 | 2025-08-20 | pagerduty |
sethcottle/littlelink | 2,947 | 2026-01-28 | linktree |
FerretDB/FerretDB | 10,934 | 2026-02-07 | mongodb-atlas |
Stale isn't dead. A 6-month gap on a stable, mature tool can mean "no urgent bugs,
releases when needed". Two of these (littlelink, FerretDB)
sit just inside the 90-day boundary on the staleness side — they may flip back to
alive next month if a single commit lands, which is exactly the kind
of state transition the monthly diff catches.
mattermost/focalboard is the special one. Mattermost stepped away
from active Focalboard development in 2023, and community forks now carry the
torch under various names. So 11 months stale on the official repo isn't a bug —
it's the project being parked. Our job is to either repoint the recommendation on
the monday page to the live community fork, or drop the
suggestion entirely. We'll do that work in the June sweep.
The 3 we couldn't classify
cabotapp/cabot, forgejo/forgejo, and
opennextjs/opennext returned non-200 from the GitHub repo API at
snapshot time. The first is likely renamed or deleted.
forgejo/forgejo is a known case: the project lives canonically on
Codeberg, and the GitHub mirror was retired. opennextjs/opennext is
probably a namespace move. We hold these as unknown rather than
dropping them, so a future scan picking them up cleanly shows a real
unknown → alive transition (not a synthesized one).
What this means for the site's positioning
When we wrote our MVP brief, we said the wedge against the closest competitor (openalternative.co) was four things:
- Strict self-hostability filter (no service-only "OSS" projects)
- Setup-time score per alternative
- Monthly cost estimate on a small VPS
- Health flag from
last_commit + archived
This snapshot is point 4 in concrete form. Today, roughly 11% of the alternatives we list are not alive — and on competitor sites, you'd see the same projects listed without that signal. We wouldn't have known either, if we hadn't run the scan.
That's the point of the freshness wedge: a directory of self-host alternatives is only as good as its last freshness check.
What's next (and what's deliberately not next)
We're snapshotting on the 1st of every month, on a Vercel cron. The June 2026 snapshot will give us our first month-over-month diff: which alternatives flipped state since May. That diff is the real gold — alive→stale or alive→dead in 30 days is a much louder signal than a static "X projects are dead today".
Two things we're explicitly not shipping yet:
- An RSS feed of state flips. It needs at least two snapshots to be meaningful. Coming July.
- A monthly digest email with the diff. Same constraint, plus we'd like to see ≥20 subscribers before sending the first one. Form below if you want it when it lands.
Until then, every category page on the site shows the freshness pill on each alternative, today. If you're paying for $SaaS and looking at an OSS replacement, a 30-second check of our directory tells you whether the replacement is worth the weekend.
We'd rather you find out from us than from a git clone followed by
a confused stare at the last commit date.