We run . This dev.to write-up is the readable summary.
Findings at a glance
19 of 164 (12%) of self-hostable alternatives we track haven't shipped a commit in 90+ days. 10 of those (incl. a handful of archived repos) are over a year cold.
10 repos with ≥1,000 stars have no commit in 180+ days. Popular and maintained are not the same thing, and a directory that doesn't surface this is silently routing people toward unmaintained software.
0 of 99 SaaS categories in our directory have no mature open-source self-host option. But 28 of 99 categories have ≥2 listed alts and only one is alive — a brittler picture than the headline suggests.
Data is a live GitHub fetch at build time across 227 unique repos listed as alternatives to 100 paid SaaS. The full audit, with thresholds, caveats, and disclaimers, is below — and on the . Twelve percent isn't catastrophic; the catastrophe is the directories that list those same repos without telling you.
2 · Big and quiet
10 repos with ≥1,000 stars in our directory have no commits on the default branch in the last 180 days.
This is the cohort that surprised us most. Star count is a sticky signal — a project can pick up tens of thousands of stars over five years and then quietly stop shipping, and the star count just keeps drifting up from people who star "to read later". Without a freshness check, a self-host shopper picking by star count gets routed at random toward these.
A few examples from the live list:
Maybe Finance — 54.1k stars, last commit 10 months ago
Focalboard (Mattermost) — 26.1k stars, 11 months quiet
UVdesk — 18.6k stars, 7 months quiet
Focalboard is the canonical case. Mattermost stepped away from active Focalboard development in 2023, and community forks now carry the torch under different names. The 26k-star GitHub repo is still the first result when you search "self-hosted Trello alternative" — it just isn't where the work happens anymore. Maybe Finance and UVdesk are the same story without the convenient fork-and-rename: still findable, still well-starred, no longer shipping.
The full list is on the report page, and the earlier in this series ties in: Sentry, MongoDB, Elasticsearch, and Redis are all categories where the flagship open-source pick is alive but its license has stopped being open. In the freshness audit they read green. In the concentration-risk read, three of the four have exactly one alive alternative that's not under a non-OSI license — meaning the freshness pill is hiding a real coverage gap. We'll have a structural way to flag that in the June sweep.
4 · Top alive — the "lean on these" shortlist
If you're going to bet a weekend on a self-host migration and want a list filtered down to just the alive, well-maintained, high-traction picks, here are the top 10 most-starred alive alternatives in the directory:
| # | OSS | Stars | Last commit |
|---|---|---|---|
| 1 | n8n | 187.4k | 1 day |
| 2 | Excalidraw | 122.9k | 4 days |
| 3 | Immich | 100.2k | today |
| 4 | Hugo + Decap CMS | 88.0k | today |
| 5 | Uptime Kuma | 86.5k | today |
| 6 | vLLM | 79.6k | today |
| 7 | Hoppscotch | 79.1k | 9 days |
| 8 | code-server | 77.5k | 2 days |
| 9 | Grafana stack (Mimir + Loki + Tempo) | 73.7k | today |
| 10 | Apache Superset | 72.8k | 1 day |
(Numbers refresh on every build; the
"Stale" and "dead" definitions. Last commit on the default branch > 90 days = stale. > 365 days, or repo archived on GitHub = dead. These thresholds are coarse on purpose — many maintained projects in long-tail categories ship infrequently, and a 91-day-quiet repo is not necessarily abandoned. It shows up in the stale bucket regardless. The thresholds match the freshness pills on every alternative card on the site so the report and the per-tool pages don't disagree.
"Mature self-host option" definition. ≥ 1 listed alt that is alive AND has ≥ 500 GitHub stars. Stars are a noisy popularity signal; the 500 cutoff is editorial, not statistical. Lowering it to 100 would shrink the thin-categories count further. Raising it to 2000 would explode it.
Build-time, not point-in-time. All numbers refresh on every deploy against live GitHub state. The page is regenerated from scratch each time, so figures will drift week-to-week. Snapshot-vs-live diffs are on computes.
How to use this
If you're picking a self-host target this quarter:
Don't pick by stars alone. Ten of the most-starred projects in our directory haven't shipped in over six months.
Don't trust a freshness pill in isolation. Check the concentration risk — is your category's "green" pick the only green pick? If so, you're betting on one maintainer.
License matters separately from freshness. Sentry's pill is green and Sentry's license is not OSI-approved. We added the license-drama post for exactly this reason.
We'll re-run this audit in June. Month-over-month diffs are where the loud signal lives — alive → stale in 30 days is much sharper than a static "X projects are dead today". If you'd like that diff in your inbox, the form on the canonical page picks up subscribers.
Until then: every category page on os-alt shows the freshness pill on each alternative, today. A 30-second check 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.
SOCIAL SHARE CARD GENERATOR