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 |
|---|---|
| License of the latest version, funding field, deprecated packages | |
| License of the latest version, funding URLs, inactive or yanked releases | |
| License of the latest version, yanked crates | |
| Formula license, disabled or deprecated formulae | |
Detected repository license, archived flag, FUNDING.yml links, GitHub Sponsors |
|
Detected repository license, archived flag |
|
| OSI-approved licenses | |
| License identifiers, FSF-libre flags | |
| Repository- or organization-level funding manifests | |
| Collective presence and budget | |
| 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.