How we review and report the data
Every fact shows where it comes from and how certain it is. Where there is no evidence, it says "unknown", never a guess. We show no ratings, no invented figures and no customer results that we cannot substantiate.
Quality rules
- A licence counts as verified only when it has been read from the project's own upstream LICENSE file.
- An entry is published only when it has at least two sources and the SIAX editorial pipeline has checked its required facts against primary sources.
- All text is written in our own words. A copy check stops text that resembles listing sites or other entries.
- Old evidence is marked as stale: official sources after 365 days, machine-retrieved project health after 30 days, and verified relations are flagged for a new check after 365 days.
- Listing sites are used only to discover tools, never as the source of a fact or a text.
- Imported text is treated as data, never as instructions, and is rendered without HTML.
- We never run code from the projects we describe.
- "Run by SIAX" requires that an instance operated by SIAX has responded to a check within the last 45 days; otherwise a lower status is shown.
How facts are verified
- Verification is done by the SIAX editorial pipeline, which includes AI agents. It checks every fact on a curated entry against its primary source: the project's own repository (LICENSE file and README), official website, documentation or security policy.
- A fact is marked verified only when that check succeeded. The evidence URL and the date of the check are recorded per fact and shown next to it. A fact that could not be confirmed stays observed or unknown.
- Licences are read from the LICENSE file on the repository's default branch, and we record the commit the file was read at.
- Listing sites, directories and search results are never evidence.
- A replacement relation is marked verified only when the alternative's own README, documentation or official material supports the specific claim, for example that it is an alternative to a named service. Otherwise it stays proposed.
- Corrections are logged with the old value, the new value and the evidence. The review is done by the pipeline and is not signed off by a person.
Evidence status
- Verified
- Supported by an official source or checked by SIAX, and not too old.
- Observed
- Retrieved by machine (for example from an API) or imported, but not checked against a primary source.
- Inferred
- Derived from other facts by a rule, for example that the data is stored where you run a self-hosted tool.
- Disputed
- Sources contradict each other.
- Stale
- The evidence is too old.
- Unknown
- No source exists. The value is not shown as fact.
Provenance
- Official source
- The project's own LICENSE file, repository, documentation or the vendor's pricing page.
- Verified by SIAX
- A check carried out by SIAX, for example that an instance responds or a lifecycle test.
- SIAX record
- An internal SIAX record without an external source.
- Imported, not reviewed
- Machine-retrieved or imported data that nobody has reviewed.
Three separate assessments
Licence, project health and security are assessed separately, each with its own evidence. We never combine them into one score, and data quality is reported in separate measures: completeness, verification, freshness, consistency, identity and extraction safety.
Relations and comparisons
Relationship types:
- direct
- Direct alternative
- partial
- Partial alternative
- complement
- Complement
- bundle
- Part of a bundle
- migration_target
- Migration target
- dependency
- Dependency
- integration
- Integration
- unknown
- Relation not classified
Review status of a relation:
- Proposed
- The relation has been proposed but not reviewed.
- Under review
- The relation is being reviewed.
- Verified
- The SIAX editorial pipeline has checked the relation against the alternative's own material, linked as evidence.
- Rejected
- The relation has been examined and rejected.
- Stale
- The evidence is too old and needs to be checked again.
Feature values in comparisons (every value has a source or is labelled as an estimate):
- full
- Full
- partial
- Partial
- via_extension
- Via extension
- absent
- Missing
- unknown
- Unknown
- not_applicable
- Not applicable
SIAX status
- Run by SIAX
- An instance operated by SIAX responded at the latest check.
- In the SIAX catalogue
- SIAX can deliver and operate the tool on request. It is not running for visitors here.
- Candidate
- Under evaluation. Not qualified by SIAX.
- Planned
- There is a written plan, but the tool is not running yet.
Discovered projects (imported, unreviewed)
- Public catalogues and lists are used only to find projects. From them we keep the repository address, the fact that they list it, the section name and their raw "alternative to" claim. Their descriptions, licences, star counts, languages and topics are not used.
- Facts about a discovered project are fetched from the GitHub API and shown as observed, with the API endpoint and fetch time. Observations older than 30 days are shown as stale. Missing values are shown as unknown.
- "Alternative to" claims from catalogues are shown as proposed relations. Category placement is an inferred suggestion from a catalogue section name or a GitHub topic. Neither is ever shown as verified.
- Rows without a repository address are not added to the catalogue; they are listed as data-quality findings for review. A repository listed under an old name is merged with its new name when GitHub redirects.
- awesome-selfhosted is licensed CC BY-SA 3.0 and its text is not used, because share-alike would extend to our dataset; only identity and links are taken from it.
- Discovered projects can be browsed and searched but are never indexed, never in the sitemap or llms.txt and never given structured data. A project becomes indexable only when the SIAX editorial pipeline writes, verifies and publishes an entry for it.
- Trends are star changes observed through the GitHub API between two snapshots; github.com/trending is not scraped. Until a second snapshot exists, only newly created repositories (by GitHub's createdAt) are listed.
Data licence
- SIAX-authored and curated data (taxonomy, relations, assessments, verification records and editorial text) is licensed under CC BY 4.0 (credit SIAX Technology AB, siax.io, with a link to the page or API endpoint).
- Third-party fields observed from other sources, such as GitHub metadata and repository descriptions, upstream licence texts and vendor list prices, keep their source's terms. Each one carries its source and retrieval date.
- Text from awesome-selfhosted (CC BY-SA 3.0) is not used, because its share-alike terms would extend to our dataset. Only the identity of a project and its links are taken from it.
- The code of each project is covered by that project's own licence.
Savings calculations (TCO model siax.tco/1.1.0)
- Licence saving = current licences and subscriptions − the alternative's commercial licences.
- Actual cost saving = total current cost − total cost of the alternative (hosting, operations, migration, internal time, parallel run and other added costs included). Open source is never counted as free.
- Total economic effect = actual cost saving + other effects the user enters, each labelled with its basis. Other effects are never filled in automatically.
- Net present value (when a discount rate r is set) = Σ recurring flow / (1 + r)^year + one-off flow / (1 + r)^(year − 1): one-off costs at the start of their year, recurring flows and effects at the end.
- Every default is a labelled, editable assumption. Prices come only from the user or the price registry (with snapshot and date), and each calculation stores the model version and the data snapshots it was made with, so a saved calculation can be reproduced.
Languages
English is the reference language of this portal; Swedish is maintained alongside it for our first market. Other language versions are available as machine-assisted drafts until they have been reviewed; until then they are labelled and not indexed. Category names and project descriptions follow the same rule per language.
Indexing and machine-readable versions
Only reviewed and published entries are indexed by search engines, listed in the sitemap and llms.txt or given structured data (JSON-LD). Example data and drafts are shown with a clear label, are not indexed and get no structured data. Project, alternatives and methodology pages have a Markdown version (the same address with .md) with the same verification details per field.
See also the sources, the open read API and the methodology as Markdown.