Eligibility

Eligibility checks whether OSE can fund a class A repo. Four checks (open source, funding intent, nonprofit, and active) are each true or false, and a project is eligible only when all four pass. The board manually double-checks them for top candidates before deciding on the grants.

Inputs

Source Data
npm License of the latest version, funding field, deprecated packages
PyPI License of the latest version, funding URLs, inactive or yanked releases
crates.io License of the latest version, yanked crates
Homebrew Formula license, disabled or deprecated formulae
GitHub Detected repository license, archived flag, FUNDING.yml links, GitHub Sponsors
GitLab Detected repository license, archived flag
OSI OSI-approved licenses
SPDX License identifiers, FSF-libre flags
funding.json Repository- or organization-level funding manifests
Open Collective Collective presence and budget
endoflife.date Product end-of-life dates
Manual overrides License, curated additions to the approved license list, company or nonprofit status, host or owner type (foundation or company), self-hosted GitLab instances mapped to their institution, end-of-life decision

Open source

The project must have an open source license. The model finds one license per repository from four sources, in a fixed order: manual overrides, package registries, the GitHub or GitLab API, then the approved list. When a license expression has several parts (for example MIT OR Apache-2.0), one approved part is enough.

Funding intent

OSE supports only projects that want support. Any one funding signal is enough: GitHub Sponsors, a FUNDING.yml file, a funding.json manifest, package funding fields, Open Collective, or an institutional host. Intent applies to the whole owner: when one repository of an owner shows a funding channel, all its repositories count. Sponsoring other projects does not count.

Nonprofit

OSE supports only nonprofit projects. This automatic check is an exclusion rule, not proof of nonprofit status. It is true unless a company backs the project, as host or owner. We don’t support projects with strong corporate affiliations (like Kubernetes) or with direct ties to tech startups.

Active

OSE supports only projects that still have work ahead and whose development has not stopped. A project is active when it is not end-of-life and its repository is not archived.

Output

eligible = oss AND intent AND nonprofit AND active. A project is eligible only when all four checks pass.

The result of this stage is the eligible flag for each class A repo. Ineligible projects stay in the results with the failing check marked.

An eligible project can still be out of reach because of US law. See Eligibility Limits.