Methodology

Open Source Atlas ranks projects by digital sovereignty — who controls your data and your future — not by popularity alone. Every input is fetched from a real, public source. Nothing is invented: where the underlying data doesn't exist yet, the UI shows “unknown” and that pillar's weight is redistributed across the pillars that are known, never guessed or defaulted to a fake value.

The Atlas Score

The score (0–100) is a weighted mean of five pillars. Default weights:

PillarDefault weightWhat it measures
Sovereignty30Self-hostability and license class (copyleft > permissive > source-available)
Maintained25Days since the last commit; archived projects are capped low
Secure20OpenSSF Scorecard (via deps.dev), ×10
Adoption15Percentile rank of stars within the project's own subcategory
Open standards10How many of a fixed list of interoperability topics/tags the project carries

For a single project: score = Σ(pillar × weight) / Σ(weight), summed only over the pillars that are not null. If every pillar is unknown, the score itself is unknown. You can change the weights yourself on the decision matrix — the score and ranking recompute instantly in your browser, using this exact formula.

How each pillar is actually computed today

License classification

Licenses are bucketed from the SPDX identifier reported by the source: AGPL* → strong copyleft; GPL* (not LGPL) → strong copyleft; LGPL/MPL/EUPL/EPL/OSL → weak copyleft; MIT/Apache/BSD/ISC/CC0/Unlicense → permissive; BUSL/SSPL/Elastic/Commons Clause → source-available. Anything else, including NOASSERTION or a reported "proprietary" component, is unknown rather than assumed.

Data sources

Project records are merged from awesome-selfhosted/awesome-selfhosted-data and GitHub search results (see fetch.py in the repository root), deduplicated by normalized repo URL, and classified into sectors/subcategories deterministically against taxonomy.yaml — no model calls are used to decide what a project is. The CNCF Landscape, AwesomeMap and deps.dev/OpenSSF Scorecard sources described in the project's design notes are planned but not yet merged into every build; where a field from one of those sources doesn't exist yet, it is null.

Dataset generated: loading…

Known limitations

Treemap sizing

The sector page's treemap sizes each cell by log2(stars + 2), falling back to the Atlas score when a star count is unknown, laid out with the standard squarified algorithm. The log transform keeps a handful of very popular projects from making everything else invisible; it changes the visual scale only, never the underlying numbers shown elsewhere.

← Back to Open Source Atlas