The State of Self-Hosted Software 2026
We measure the maintenance health of every project in the self-hosted catalogue, every week. This is what 1352 projects look like in aggregate — which categories are thriving, which runtimes age worst, and how much of the ecosystem has quietly stopped moving.
Data as of 2026-10-01 · 1126 projects scored · 226 not measurable · method · Free to cite and reproduce with attribution.
The headline
32% of scored self-hosted projects are slowing or at risk — 359 of 1126. That is the figure worth carrying away: pick a project at random from a directory and there is roughly a one-in-three chance its development has materially decelerated or stopped.
It is not all decay, and the ecosystem's reputation for abandonment is unfair. 67% shipped a tagged release within the last ninety days, and only 8% went the whole quarter without a single commit. Self-hosted software is not dying — it is bimodal. A large active core ships constantly, a long tail sits untouched, and the median score of 63 falls in the valley between them.
Which is precisely why an average is useless here and a per-project score is not. The catalogue does not have a health problem; it has a selection problem. The good options and the dead ones sit side by side in every category, indistinguishable until you look at the commit log — and star counts actively mislead, because they only ever go up.
Distribution of health scores
| Band | Score | Projects | Share | |
|---|---|---|---|---|
| Thriving | 82–100 | 198 | 18% | |
| Healthy | 68–81 | 259 | 23% | |
| Steady | 52–67 | 310 | 28% | |
| Slowing | 36–51 | 220 | 20% | |
| At risk | 0–35 | 139 | 12% |
The measurement gap nobody talks about
226 of 1352 projects (17%) cannot be scored at all, because they are developed outside GitHub — on Codeberg, on self-hosted Forgejo or GitLab, or on infrastructure the project runs itself.
There is something quietly appropriate about that: the self-hosting community hosts its own forges, and in doing so becomes invisible to the tooling that measures open-source health. Every ecosystem dashboard you have ever read has this blind spot, and almost none of them say so. We report those projects as unrated rather than guessing, because scoring them from missing data produces exactly one outcome — healthy projects labelled dead.
Healthiest categories
Median health score, categories with at least 8 scored projects.
| Category | Projects | Median | |
|---|---|---|---|
| Generative Artificial Intelligence (GenAI) | 14 | 90 | |
| Software Development - Low Code | 12 | 83 | |
| Inventory Management | 11 | 80 | |
| Resource Planning | 8 | 77 | |
| Ticketing | 12 | 77 | |
| Web Servers | 15 | 75 | |
| E-commerce | 24 | 74 | |
| Internet of Things (IoT) | 18 | 74 |
Categories in trouble
The same measure, at the other end. A low median does not mean no good option exists — it means most of the field has stopped moving, so picking at random is risky.
| Category | Projects | Median | Best in category |
|---|---|---|---|
| Blogging Platforms | 13 | 46 | Ghost · 98 |
| Communication - IRC | 11 | 49 | Weechat · 79 |
| File Transfer - Single-click & Drag-n-drop Upload | 28 | 50 | Yopass · 83 |
| Community-Supported Agriculture (CSA) | 8 | 50 | Open Food Network · 82 |
| Recipe Management | 11 | 51 | Mealie · 86 |
| Network Utilities | 11 | 51 | MyIP · 88 |
| Games | 17 | 51 | Mindustry · 93 |
| Feed Readers | 25 | 52 | FreshRSS · 82 |
Which runtimes age best
Median health by the language or platform a project is built on, minimum 15 scored projects. This says more about which communities are currently active than about the languages themselves.
| Platform | Projects | Median | |
|---|---|---|---|
| K8S | 73 | 74 | |
| deb | 80 | 72 | |
| Ruby | 32 | 68 | |
| C++ | 35 | 67 | |
| Java | 56 | 67 | |
| Nodejs | 194 | 66 | |
| Python | 136 | 66 | |
| Go | 142 | 65 | |
| Docker | 699 | 64 | |
| PHP | 198 | 64 | |
| Rust | 38 | 62 | |
| C | 31 | 53 | |
| Shell | 20 | 50 | |
| Javascript | 18 | 40 |
Licences
The ten most common licences in the catalogue, with the median health of the projects using them.
| Licence | Projects | Share | Median health |
|---|---|---|---|
| MIT MIT License | 370 | 27% | 59 |
| AGPL-3.0 GNU Affero General Public License 3.0 | 312 | 23% | 65 |
| GPL-3.0 GNU General Public License 3.0 | 230 | 17% | 60 |
| Apache-2.0 Apache, Version 2.0 | 144 | 11% | 69 |
| GPL-2.0 GNU General Public License 2.0 | 108 | 8% | 60 |
| ⊘ Proprietary ⊘ Proprietary | 69 | 5% | 76 |
| BSD-3-Clause BSD 3-Clause "New" or "Revised" | 37 | 3% | 60 |
| MPL-2.0 Mozilla Public License | 19 | 1% | 67 |
The busiest repositories
Raw commit volume over 11 months. Volume is not quality — but it does show where the ecosystem's engineering effort is actually going.
| # | Project | Commits | Stars | Health |
|---|---|---|---|---|
| 1 | PostHog | 30k | 40k | Thriving · 99 |
| 2 | Sentry Self-Hosted | 17k | 45k | Thriving · 96 |
| 3 | Home Assistant | 17k | 91k | Thriving · 97 |
| 4 | TriliumNext Notes | 16k | 38k | Thriving · 99 |
| 5 | Ente | 16k | 29k | Thriving · 98 |
| 6 | Agenta | 15k | 4.8k | Thriving · 93 |
| 7 | OpenProject | 15k | 16k | Thriving · 94 |
| 8 | Budibase | 13k | 28k | Thriving · 95 |
| 9 | ElasticSearch | 13k | 78k | Thriving · 97 |
| 10 | ZenTao | 12k | 1.7k | Steady · 66 |
| 11 | One Time Secret | 12k | 2.9k | Thriving · 91 |
| 12 | Infisical Community Edition | 12k | 29k | Thriving · 95 |
| 13 | Weblate | 11k | 6.1k | Thriving · 91 |
| 14 | Odoo | 9.8k | 55k | Thriving · 87 |
| 15 | Lila | 8.9k | 19k | Healthy · 73 |
Accelerating
Commit activity up sharply last quarter versus the one before.
| Econumo | 1 → 170 |
| Adminer | 8 → 702 |
| Heimdall | 1 → 65 |
| Task Keeper | 2 → 71 |
| Thelia | 11 → 343 |
| Medusa | 1 → 27 |
| Bindery | 3 → 74 |
| Antville | 4 → 90 |
| myCart | 14 → 266 |
| OwnTracks Recorder | 2 → 35 |
Popular but stalling
Well-known projects with little recent activity — the trap star counts hide.
| UVDesk | ★ 20k | 1 commits |
| transfer.sh | ★ 16k | 2 commits |
| Automatisch | ★ 14k | 23 commits |
| google-webfonts-helper | ★ 13k | 1 commits |
| A Dark Room | ★ 8.3k | 0 commits |
| Sandstorm | ★ 7.1k | 15 commits |
| Photoview | ★ 6.5k | 81 commits |
| Outline Server | ★ 6.3k | 15 commits |
| Tiny File Manager | ★ 6k | 23 commits |
| Pinchflat | ★ 5.4k | 3 commits |
Method, in one paragraph
Every project is scored 0–100 from public repository metadata: commit volume over 11 complete months (40 points, percentile-ranked against the whole catalogue), days since the last tagged release (25, absolute), community size (20, percentile-ranked) and quarter-on-quarter momentum (15, absolute). Percentile ranking on the two continuous components stops the scale saturating and makes the score impossible to inflate with trivial commits. Archived and unmeasurable projects are excluded from the ranking base. Full method, including its known limitations.
Using these figures
Every number here is recomputed from source on each rebuild, so this page does not go stale the way an annual PDF does. You are welcome to quote, chart or reproduce any of it — a link back to this page is all we ask. The underlying software metadata comes from the community-maintained awesome-selfhosted dataset under CC-BY-SA 3.0 (attribution); the scores and analysis are ours.
Last recomputed 2026-10-01 from source data dated 2026-10-01.