Skip to content

Search tools

The formula

Open data

Repoly's ranking is one formula applied identically to 1,346 tools, of which 1,230 have a public repository we can measure on GitHub, GitLab, Codeberg or another Gitea or Forgejo forge. Nothing is hand-weighted, and no sponsor or affiliate placement changes a score. Here is the whole thing, plus the data behind it.

Download

The dataset as one JSON file

Every tool with its health score, the five term values, 12 months of commit history, licences and platforms. Updated nightly; last refresh today.

Download JSON

What the data says, summarised by category: how many open-source tools are still maintained.

Ranked

The health formula (v1)

Health is an integer from 0 to 100, the sum of five terms. Changing it is a versioned event and will be noted on this page, because a ranking you cannot audit is not worth trusting.

health = 35 × min(1, commits_90d / 30)
       + 25 × releaseRecency
       + 20 × min(1, log10(stars + 1) / 5)
       + 10 × (archived ? 0 : 1)
       + 10 × (has_docker ? 1 : 0)

releaseRecency = 1                      if latest release ≤ 180 days old
                 (720 − days) / 540     if 180 < days < 720
                 0                      if ≥ 720 days or no release
  • 35

    Commit activity

    35 × min(1, commits in last 90 days / 30). A project with 30 or more commits in 90 days scores the full 35 points.

  • 25

    Release recency

    25 × release recency: full marks if the latest release is 180 days old or newer, falling linearly to zero at 720 days. No tagged release scores zero.

  • 20

    Stars

    20 × min(1, log₁₀(stars + 1) / 5). Logarithmic, so 100,000 stars is worth roughly twice 300 stars, not 300 times as much.

  • 10

    Not archived

    10 points if the repository is not archived, 0 if it is.

  • 10

    Docker support

    10 points if the project publishes a Docker image or Compose file, the clearest signal that self-hosting is supported.

Labels

Good is 70 or above (834 tools), Slowing is 40 to 69 (297), and Stale is below 40 (215). The mean score across the catalogue is 70.6.

What the score does not mean

  • It is not a quality or security judgement. A finished, stable tool can score low simply because it needs few commits.
  • It favours projects whose code lives on a forge with a public API: GitHub, GitLab or Gitea/Forgejo (Codeberg included). A project on cgit, Subversion, Mercurial or SourceForge has no measurable counters here, so it is unscored. Stars also run lower on smaller forges than on GitHub, which costs those projects a few of the 20 star points.
  • Stars measure attention, not merit, which is why they are capped at 20 points and logarithmic.
  • Docker support is a proxy for "self-hosting is a supported path", not for code quality.

Sources and licences

Tool records come from awesome-selfhosted-data, licensed CC BY-SA 3.0. Repoly converts the YAML to JSON, slugifies tag names, derives a has_docker flag, and adds the computed health score. Because the source is ShareAlike, the dataset published here carries the same CC BY-SA 3.0 licence.

Stars, commit history, latest release, open issues and archived status are refreshed nightly from the GitHub GraphQL API, and for the 96 tools hosted elsewhere from the public GitLab and Gitea/Forgejo APIs, on the same formula. Open issues are shown for context and never scored. Only public repository metadata is stored.

Proprietary-to-open-source mappings are curated by Repoly, seeded from the public domain open-source-alternatives list (CC0 1.0) and extended with mappings mined from tool descriptions. Names that do not resolve to a tracked tool are dropped rather than invented.

Proprietary product names are trademarks of their respective owners, used nominatively. Repoly is not affiliated with them.

Coverage

Tools1,346
With a measurable repository1,230
Categories84
Comparison pages143
Last refresh2026-10-30
Formula versionv1