Reference Providers ship permissive weights only; restricted-license models are opt-in¶
Amended by ADR-0055 (2026-07-29): where the H-B1
amendment below says an in-core pure-code Provider's "code license is this repo's Apache-2.0", read
PolyForm-Noncommercial-1.0.0 (in code, REPO_LICENSE_CODE). The inbound rule this ADR
records — permissive weights only for defaults, weights and code verified separately, restricted
licences opt-in — is unchanged: it governs what the project takes in, not what it grants out.
Every model shipped as a framework DEFAULT must have permissively-licensed weights (Apache-2.0 / MIT / BSD): commercial use, redistribution, and modification allowed with no field-of-use or acceptable-use restriction. Verified 2026-07-06 (weights and code checked separately): PaddleOCR-VL-1.5, LightOnOCR-2-1B, knowledgator/gliner-linker-large + rerank, intfloat/multilingual-e5-small (MIT), sentence-transformers/all-MiniLM-L6-v2, ModernBERT, google/mt5, microsoft/llmlingua-2, and all Qwen3 sizes (dense + MoE) are clean. Amended 2026-07-14 (ADR-0045): the default Embedder is now IBM Granite Embedding r2 — ibm-granite/granite-embedding-311m-multilingual-r2 (GPU tier) and ibm-granite/granite-embedding-97m-multilingual-r2 (CPU tier), both Apache-2.0 weights (card tag license: apache-2.0) on an Apache-2.0 ModernBERT backbone, verified 2026-07-14 (weights and code separately). multilingual-e5-small (MIT) remains a verified-permissive fallback.
The one exception found is unsloth/embeddinggemma-300m / google/embeddinggemma-300m: the gemma license is NOT OSI open-source — commercial use is allowed but it carries Google's Prohibited Use Policy and flow-down obligations (every downstream recipient must be bound to the Gemma use restrictions, with a Notice). Therefore EmbeddingGemma is NOT a default; the default Embedder is IBM Granite Embedding r2 (Apache-2.0; multilingual-e5-small, MIT, remains a fallback — see ADR-0045). Models like EmbeddingGemma are available as opt-in Providers that surface their license and flow-down obligations at install time.
Standing rule (per the project's research-diligence directive): a GLiNER/HF checkpoint's license is per-weight and cannot be inferred from the library (GLiNER code is Apache-2.0, but some checkpoints are cc-by-nc-4.0). Every new default Provider requires per-model weights-and-code license verification recorded before it ships.
Amendment (H-B1) — verification is evidence-bearing, not a self-attestation¶
The original ProviderProfile.license_verified was a bare bool: a hardcoded human claim that nothing inspected. A provider could ship license="Apache-2.0", license_verified=True on a CC-BY-NC checkpoint and pass every gate, and the tests asserted the constant back. H-B1 makes the verification claim inseparable from its proof, honest-by-construction:
- The descriptor records weights and code separately (this ADR's core requirement):
license_code(SPDX of the library/own code),license_weights(SPDX of the weights, orNonefor a pure-code provider that ships no model), plus alicense_sourcecitation (the HF model-card URL / GitHub LICENSE URL / repo LICENSE path — where a human checked) and alicense_verified_onISO date. - A
ProviderProfilemodel-validator makeslicense_verified=Trueun-constructable without the complete evidence:license_source+license_verified_on+license_codeare required, andlicense_weightsis required for a model-bearing provider (model_id is not None). The headlinelicensemust be consistent with the components (equal to the weights SPDX for a model-bearing provider, else the code SPDX). The priorUNVERIFIED ⇒ not verifiedinvariant is preserved. - Conformance C3 is the enforcement point across every provider: it FAILs a provider claiming verified without a complete evidence trail, declaring a restricted (non-OSI / Gemma-family) license that is not flagged opt-in, or with mutually inconsistent license fields — and it bites on a fake profile-holder that bypasses the model validator (the self-attestation theater is now impossible, proven by a bite-test).
- The in-core pure-code providers cite the repo
LICENSE(their code license is this repo's Apache-2.0,license_weights=None);entity.gliner,redaction.gliner_pii, andrelation.gliner_relexcarry their real HF-model-card + GitHub-LICENSE citations for the Apache-2.0 weights (v2.1 relicensed from CC-BY-NC-4.0), verified 2026-07-06. A provider whose weights license cannot be verified in-session is setUNVERIFIED/license_verified=False— flagged, never guessed.