Methodology
How we check
Every fact has a source and a date. If we can't find one, we say unknown.
From repository to listing
- Discover. A hand-picked seed list and repositories people submit. Each night a scan builds a trending candidates list: GitHub trending (daily and weekly) plus fast-growing new repositories that describe themselves as alternatives or self-hosted, plus repositories linked from recent videos on YouTube channels that review open-source alternatives. Candidates are only suggestions; the owner reviews them at
/owner/candidatesand nothing is listed automatically. - Fetch. GitHub metadata, licence files, model cards and official docs.
- Extract. A person reads the sources and records each fact with a link (
source_url) and the date checked (checked_at), plus a short quote. A fact with no source is shown as unknown. - Validate. A fact without a source cannot be marked yes. Missing licence evidence blocks the open-source label. Conflicts are flagged, never resolved in a project's favour.
- Refresh. A nightly GitHub Actions run refreshes stars, forks, contributors, releases and archived status, and writes a daily star snapshot. Documentation-based facts are rechecked on a schedule and whenever a licence or archive change is detected.
The nightly refresh also warns us about two things for owner review: a repository that now resolves to a different owner or name (renamed or transferred), and a star gain of more than 500 and more than 20% since the last snapshot (a possible star burst). These warnings are logged in the run; they do not change a listing by themselves.
What our labels mean
- Confirmed: Confirmed : a primary source (licence file, model card or official docs) states it directly.
- Partial: Partial : true with a condition, for example GPL copyleft, a revenue cap, or covering only part of a product.
- Unknown: Unknown : we found no source. Unknowns never pass a strict filter and are never shown as a yes.
- No: No / conflict : the source says no, or two sources disagree.
We review documentation. We have not installed or tested these projects, and we never claim a project works because its docs say so.
How ranking works
| List | Question it answers | How |
|---|---|---|
| Best fit | Does it do the job you picked and meet your requirements? | Job coverage, then evidence coverage, freshness and recent activity. |
| Top ranked | Which projects are popular, active and well documented? | Stars 40%, recent activity 30%, evidence coverage 30%. |
| Trending | What is getting attention right now? | New GitHub stars gained in 24 hours, 7 or 30 days, from daily snapshots. |
Stars show popularity, not quality. Sponsors and contributions never change any ranking, fact or agent result. Paid placements are separate cards labelled Sponsored, and they never appear in search results, the JSON API or the MCP server.
Freshness
Every fact shows when we last checked it. GitHub metadata is flagged stale after 48 hours without a refresh, and documentation-based facts after 14 days.
What we store
- We keep: the facts on each page; the evidence for each (link, a sentence or two quoted, date checked); public GitHub numbers once a day, including a daily star count that powers Trending; and a history of every change.
- We never keep: code, model weights or releases (we link to them); full READMEs or docs (we read them, then discard them); personal data about contributors (we store the count only); anything from private repositories.
Accounts, email subscriptions, sponsor bookings and API usage are covered in the privacy policy.
What we don't do
- Install or run code. We link to the official install guide.
- Certify security. A listing is not a security audit.
- Give legal advice. We report what licences say; check with a lawyer before you ship.
- Sell a "verified" badge. No project can pay to look more trustworthy.
Found something wrong?
Send us a source and we'll recheck it: report a correction. Maintainers can ask for a listing to be updated or removed the same way. Corrections are made in public on GitHub, so every change is logged.