Files
felhom.eu/documentation/audits/selfhst-survey-2026-10-12/METHOD.md
T
admin a7f897a7dd
gates / gates (push) Successful in 6m24s
Audit: selfh.st survey 2023-2025 read against Felhom; R-989 filed
Read-only. fetch.py + tables.py (stdlib), TABLE.md (45 charts, % of
respondents), FELHOM.md (apps, features, reasons, hardware, trends, ten
ranked recommendations), METHOD.md (hashes, counts, matching, MIT licence,
limits). Survey files are not committed. One register row (R-989) and one
STATUS line ask the operator to rule on the recommendations.
2026-10-12 22:09:10 +02:00

41 lines
3.1 KiB
Markdown

# Method — selfh.st survey read, 2026-10-12
**Fetched** 2026-10-12 by `fetch.py` to `~/research-cache/selfhst-survey/` (outside every repo; not committed).
| Year | Data file | Bytes | SHA-256 | Matches the spec |
|---|---|---|---|---|
| 2023 | `https://raw.githubusercontent.com/selfhst/cdn/main/assets/surveys/annual/2023-results.json` | 10362 | `714350e5e4b8f3ccbc7ce8c1348122a9b7a4ae8167abaf2c051d3dcc9911f03f` | yes |
| 2024 | `…/2024-results.json` | 14290 | `289c5161e5b6b5684ac6c751c16e73dd0dc42490c5c0d24517a6c1f891da4832` | yes |
| 2025 | `…/2025-results.json` | 20428 | `e083094ad7f8cb6721f7059c6c73e8779273717bb3d4c1f14dbd744dc0d0229e` | yes |
**Respondents.** 2025: **4,081**, stated as completed responses on `https://selfh.st/survey/2025-results/`.
2023 and 2024 pages give only rounded numbers ("just shy of 1,900", "~3,700" — `https://selfh.st/survey/2023-results/`,
`…/2024-results/`). The exact figures used, **1,869** and **3,655**, are the column sum of the first, mandatory,
single-choice question (personal / enterprise / both). The same method gives exactly 4,081 for 2025.
**Shapes.** 2023/2024: top-level `charts`, each with an `id`. 2025: `categories[].charts[]`, no `id`, five
categories, 39 charts. Some 2025 charts carry a `commentary` field (not copied).
**Percentages.** Multi-select charts: % of the year's respondents. Single-choice charts (marked in `TABLE.md`):
% of the column sum, because the question went to a subset or not everyone answered. Favourite software is one
answer per person but the chart drops small counts, so it is % of respondents.
**Matching across years.** 2023/2024 by `id` (same titles). 2025 by question meaning, a hand-written map in
`tables.py` (`MATCH_2025`); both titles are printed in every section. Answer labels mapped by hand where the
wording changed (`ALIAS`, e.g. Yes → Deploy, Generic Linux → Linux, Docker - Individual → Container (Separate),
2023 Paperless → Paperless-ngx, 2024 "Trilum" → Trilium); labels that differ only in case are merged and listed.
**Unmatched (no same question in 2025):** 2023 offsite-backup yes/no (T40), 2023 Kubernetes (T41 — 2024/2025
ask about any orchestration), 2023 media-streaming yes/no (T42), 2024 smart-home protocols (T43), 2024
ActivityPub yes/no and platforms (T44, T45). 2025-only: Management Platforms, Authentication, Git.
**Licence.** The results page shows no licence. The data repository `github.com/selfhst/cdn` is **MIT**
(GitHub API `license.spdx_id = MIT`; `LICENSE` reads "MIT License, Copyright (c) 2025 selfh.st"). We commit no
survey file and no survey prose; only our own counts derived from it, each cited to its URL.
**Limits.** Hobby users, mostly technical (Technology career 80.6 %, T36), self-selected through the selfh.st
newsletter and community, not households buying a service. Multi-select counts: a column passes 100 %. Open-text
charts (favourites) omit small answers. **Country:** the JSON files carry no country data, but the **2024 results
page has a country table** (HTML only, not in `tables.py`): United States 964, Germany 430 … **Hungary 19**.
2023 and 2025 pages have none.