Draft — nothing here is settled. This is a first cut, published so it can be argued with. No lawyer has seen it. The name is not final. Do not rely on any of it.

Crawled, not submitted

The registry

Declarations found in the wild, indexed and made searchable. Nobody submits anything here. Nothing depends on this site existing.

Sample data Every organisation below is invented Raw JSON
Nothing here is real

The licence does not exist yet, so no declarations exist to crawl. Every organisation on this page, and every domain, is fictional. This is a demonstration of what the artefact looks like, not a record of anybody’s conduct.

Organisation
Components
Given
Declaration

Why this is not the registry

A registry that this project controlled would have exactly the trust problem that proprietary software has: it would depend on one party staying honest forever. That realisation is what pushed the entire design away from central control, and it is why section 4.3 says in plain terms that you are not required to submit a declaration to any registry, index, directory or other person.

So the arrangement is deliberately weak in the middle:

  • The .well-known file is the only binding location. It depends on nothing but the licensee’s own domain, which is the best property this design has.
  • Registries compete to crawl. Anyone can build one. Coverage, accuracy, analysis and interface are all things to compete on.
  • If this registry disappears tomorrow, nobody is in breach. That is the test, and it is one that a submission-based design fails.
The sentence to remember

The statement is the index.

What an index is actually for

Any individual declaration is of limited interest, and most will not be read by anybody. The value is entirely in the aggregate, and there are three questions the aggregate can answer that nothing currently can:

  1. Which projects is everything standing on? Not download counts, which measure popularity. Actual declared reliance, weighted by the size of the organisations declaring it.
  2. Which of those have nobody behind them? Cross-reference against published maintainer profiles. This is the list that matters, and as far as anyone can tell it does not currently exist anywhere.
  3. Who is freeloading, and who is not? Answered simply by publishing both columns next to each other and letting people draw their own conclusions.

Note what a registry must never do: score anybody. No grades, no rankings by virtue, no badges. Section 3.3 says no person may assess, approve or reject a declaration, and a registry that ranked organisations by generosity would quietly appoint itself the regulator the licence specifically refuses to create. Sorting by a published number is fine. Judging is not the registry’s job.

Crawling it yourself

There is no API to apply for and no rate limit to negotiate, because there is no central anything. A crawler needs three things:

# 1. a list of domains, from wherever you like
# 2. one HTTP GET each
curl -fsS https://northwind.example/.well-known/give-back.json

# 3. validate and store
pipx run check-jsonschema \
  --schemafile https://oosl.org/schema/give-back-1.json declaration.json

The previous field chains a declaration to the year before it, so a crawler that finds one file can walk back through the series without any further discovery. That series, not the individual file, is where the interest is: the second declaration is the first time anybody can check whether what was promised last year happened.