| examples | ||
| CHANGELOG.md | ||
| CONTRIBUTING.md | ||
| EXCEPTION.fr.md | ||
| EXCEPTION.md | ||
| FAQ.fr.md | ||
| FAQ.md | ||
| HOW_TO_APPLY.md | ||
| LICENSE | ||
| RATIONALE.md | ||
| README.md | ||
| ROADMAP.md | ||
AI Model Component Exception
An interpretive clarification of source code obligations for software incorporating AI model components
What is this?
The AI Model Component Exception is an interpretive clarification of source code obligations for free and open source software that incorporates AI model components. It can be combined with any copyleft license (GPL, AGPL, EUPL, etc.) using the standard SPDX "WITH" syntax.
When a free software program integrates a machine learning model--weights, embeddings, calibration data, configuration--as an essential part of its behavior, this exception makes explicit what should already be implicit: that the "preferred form for making modifications" (the Corresponding Source under copyleft licenses) must include the Model Corresponding Information: the architecture specification, the training/fine-tuning source code, the configuration, a sufficient description of the training data, and the instructions to retrain or replace the component.
Important: This is an exception in the SPDX sense--a text that supplements a license to clarify its existing obligations. It does not add new rights or remove any existing ones. It simply removes ambiguity around what "source code" means when AI components are part of the software.
Quick links
- EXCEPTION.md -- canonical English text
- EXCEPTION.fr.md -- French translation (informative)
- RATIONALE.md -- legal reasoning and precedents
- HOW_TO_APPLY.md -- practical guide for maintainers
- FAQ.md -- frequently asked questions
- FAQ.fr.md -- French FAQ
- examples/ -- license-specific templates
- ROADMAP.md -- phased plan (seed and gather → pilot adoption → standardisation)
- CONTRIBUTING.md -- how to contribute
- CHANGELOG.md -- version history
Why does this matter?
Free software licenses were designed for a world where the binary/source distinction was clear. AI model components blur that line: the weights are functionally the "object code" of the model, while the training data and scripts are the "source code". Standard copyleft stops at code--leaving AI components in a blind spot.
Free software licensing has a long tradition of responding to such gaps when technical reality moves faster than the licenses themselves. Three well-known precedents illustrate the principle:
- GPLv3 anti-tivoisation (§6) -- closing the hardware-lock workaround for embedded software;
- AGPL Affero clause (§13) -- closing the SaaS workaround for network-only deployment;
- LGPL interface information (LGPL-2.1 §6 / LGPL-3.0 §4) -- preserving the freedom to swap a library on which proprietary code depends.
Each of these responded to a new technical situation by rewriting the license text.
Our approach is different in kind. The AI Model Component Exception does not modify any license. It is an interpretive clarification by the copyright holder of what the existing license already requires. It adds no obligation, removes no right; it lifts a specific ambiguity -- does "Corresponding Source" / "preferred form for making modifications" cover AI model components? -- and records the licensor's reading of the answer.
Interpretive clarifications are themselves a well-established practice in free software. Two historical examples are particularly clear, both attached to the early adoption of the GNU GPL by major projects:
- the Linux kernel
COPYINGsyscall note (Torvalds, 1992 onwards -- SPDX-registered asLinux-syscall-note), in which the copyright holders state that user-space programs invoking the kernel through normal syscalls are not considered derivative works of the kernel. A written clarification of GPL-2.0 scope that has shaped industry behavior for thirty years without ever being adjudicated; - Larry Wall's 1989 interpretive note in the Perl distribution: "my interpretation of the GNU General Public License is that no Perl script falls under the terms of the GPL unless you explicitly put said script under the terms of the GPL" -- a reading published by the copyright holder alongside Perl's adoption of the GNU GPL, widely credited with enabling Perl's third-party module ecosystem.
These sit alongside a broader interpretive layer: published statements by license stewards (FSF GPL FAQ, Apache Software Foundation legal-discuss, Eclipse Foundation legal opinions, Mozilla MPL stewardship, OSI position papers) clarifying contested boundaries of their own licenses without re-issuing them. For the doctrinal distinction between interpretation (clarifying an equivocal clause) and exception (modifying the licence text), see RATIONALE.md §4.2, drawing on B. Jean, L'évolution des licences libres et open source, HAL halshs-02077882.
Why does an interpretation work? Its effect in court is not certain -- a judge could disagree with the licensor. But two practical effects are strong:
- it forecloses the most opportunistic readings a downstream distributor might invoke (they cannot plausibly claim to have understood "Corresponding Source" in a way the licensor expressly excluded);
- it shifts the argumentation burden -- and the litigation risk -- onto whoever wishes to argue the contrary. Arguing against a written, freely-published interpretation of a license one is voluntarily using is materially harder than exploiting a silence.
The AI Model Component Exception is therefore best understood as a scope declaration: it brings to AI-bearing software the kind of predictability that the GPL FAQ has long brought to ordinary copyleft software.
How do you use it?
SPDX expression
Projects adopting this exception declare it in their license metadata using the standard SPDX "WITH" syntax:
GPL-3.0-or-later WITH AI-Model-Component-Exception
AGPL-3.0-or-later WITH AI-Model-Component-Exception
EUPL-1.2 WITH AI-Model-Component-Exception
The "WITH" keyword is the standard SPDX mechanism for combining a base license with an exception.
Which licenses does it apply to?
This exception is most relevant for copyleft licenses (GPL, AGPL, EUPL) because they impose obligations to provide source code or the "preferred form for making modifications". That's where the exception adds clarity.
For permissive licenses (MIT, Apache-2.0, BSD), the exception would have no practical effect. Permissive licenses don't require source disclosure, so the licensor isn't bound by their own license's conditions. If you use a permissive license, you're already free to distribute only the weights--the license itself doesn't mandate anything else.
Can it be added at any time?
Since the exception clarifies what's already implicit (doesn't remove obligations or add rights), there's no legal contraindication to adding it to an existing copyleft project at any time. However, ideally it should be adopted at the project's start, because the real challenge is achieving consensus among all contributors about what "source" means for AI components.
Relation to other initiatives
This exception is complementary to--not in competition with--other ongoing efforts:
| Initiative | Focus | Our approach |
|---|---|---|
| FSF -- "Free Software and AI" | Requires full training code and training data to be free for an ML application to be free | More targeted: we require sufficient information to modify the component, not necessarily the full dataset |
| Contextual Copyleft (Shanklin, Hine, Novelli et al.) | Extends copyleft from training data to resulting models | More conservative: we stay within the scope of the licensed software, avoiding "copyleft contamination" of independent works |
| copyleft-next (Kuhn & Fontana, relaunched 2025) | Full next-generation copyleft license | Complementary: this exception can be adopted today on existing licenses while new licenses are designed |
| OpenRAIL / RAIL licenses | Use-restriction based licensing | Different category: RAIL restricts uses; this exception imposes disclosure obligations |
Status
This is Draft 1.0 -- a working document open for community feedback.
We believe it is usable as-is, but adoption is at the user's own discretion and responsibility. Legal review is always recommended before integrating any license exception into your project.
This work has not yet been formally reviewed by the FSF, OSI, or SPDX. We welcome issues, discussions, and merge requests to refine, critique, or extend it.
Roadmap
The project follows a deliberately phased approach:
Phase A -- Seed and gather (current). Articulate a first credible proposal in the open, and use it to collect (1) substantive feedback -- in particular from the FSFE Legal Network, SFLC/SFC, OSI, and equivalent legal fora; and (2) potential contributors and reviewers, both legal and maintainer-side. The text is deliberately published as a draft to make this conversation possible.
Phase B -- Test in real projects. Accompany adoption on concrete projects where the discussion is most productive. The current candidate is Hermine-foss, where no AI model is integrated at this stage but the question of how the project should handle one is actively under discussion within the partner community. Other projects willing to pilot the clarification are welcome to engage via the issue tracker.
Phase C -- Standardisation and broader uptake. Submit AI-Model-Component-Exception to the SPDX License List, position the clarification with respect to OSAID 1.0 and emerging EU regulation (AI Act, CRA, NPLD), and broaden communication and outreach -- academic, institutional and within the wider open source community.
A more detailed task-level roadmap is maintained in ROADMAP.md.
Citation
If you use, discuss, or build on this work, please cite it as:
inno³ team, "AI Model Component Exception -- An interpretive clarification
for software incorporating AI model components." inno³, April 2026.
Version 1.0-draft. https://code.inno3.eu/ouvert/ai-model-component-exception
Maintenance
- Maintained by the inno³ team -- primary contact: Benjamin Jean (
bjean@inno3.fr). - Part of the editorial series "Open Source and AI" -- Article 1 · Article 2 · Article 3 · Article 4 -- this proposal
License
This repository (texts, documentation, examples) is published under Creative Commons Zero 1.0 Universal (CC0-1.0), dedicating all content to the public domain.
Adopting, adapting, and translating the exception for integration into your own project is explicitly encouraged.