2026-04-16·12 min read·

EU AI Act Art.53(3) Open-Source GPAI Partial Exemption: What Llama, Mistral & StableDiffusion Developers Must Know (2026)

You have trained a large language model. You are releasing it under an Apache 2.0 licence with full model weights publicly available on Hugging Face. EU customers will download, fine-tune, and deploy it. You believe you are exempt from EU AI Act GPAI obligations because you are "open source."

You are partially correct — and the part you are wrong about could create significant compliance exposure.

EU AI Act Article 53(3) introduces a partial exemption for providers of free and open-source GPAI models. The exemption is real, it is valuable, and it materially reduces your compliance burden. But it has precise eligibility requirements, it waives only two of the four core obligations, and it disappears entirely if your model reaches the systemic risk threshold.

This guide provides a complete analysis of Art.53(3): what qualifies, what is waived, what is not, how systemic risk interacts with the exemption, and a Python tool to determine your status.


What Article 53(3) Actually Says

Article 53(3) of the EU AI Act reads:

Providers of GPAI models that are released under a free and open-source licence that allows for the access, usage, modification and distribution of the model, and whose parameters, including the weights, the model architecture and the model usage, are made publicly available, shall be exempt from the obligations set out in paragraphs 1(a) and 1(b) of this Article, unless the GPAI model presents systemic risk as referred to in Article 51.

Three components define the exemption:

Component 1: The Licence Requirement — The model must be released under a free and open-source licence that allows access, usage, modification, and distribution. This tracks the four freedoms of the Open Source Initiative definition. Restrictive clauses — commercial use restrictions, field-of-use limitations, or the much-discussed "acceptable use policies" attached to Meta's Llama licences — may affect eligibility.

Component 2: The Transparency Requirement — The model's parameters must be publicly available. "Parameters" is defined broadly: the weights, the model architecture, and the model usage documentation. A model released as a closed API with a published system card does not qualify. The weights themselves must be downloadable.

Component 3: The Systemic Risk Exception — The exemption evaporates entirely if the model qualifies as a GPAI model with systemic risk under Art.51. Systemic risk is determined by a training compute threshold (currently 10²⁵ FLOPs, though the European AI Office can revise this).


The Four Art.53(1) Obligations: Which Are Waived?

Article 53(1) imposes four categories of obligations on all GPAI model providers:

ObligationArt.53(1) RefExempt Under Art.53(3)?
Technical documentation for upstream providers and the AI Office(a)YES — waived
Instructions of use for downstream providers(b)YES — waived
Copyright compliance policy (robots.txt + opt-out handling)(c)NO — still applies
Summary of training content published online(d)NO — still applies

The exemption is surgical: it removes the documentation and instructions burden while preserving the IP compliance and transparency obligations that serve third-party rights (copyright holders) and public accountability (training data summary).

Art.53(1)(a) — Technical Documentation: Waived

The full technical documentation requirements under Art.53(1)(a) — which include model architecture details, training methodology, benchmark results, intended use cases, and known limitations in a structured format for the AI Office and downstream providers — are waived for qualifying open-source models. The reasoning: open weights and published architecture already make this information available by inspection.

Art.53(1)(b) — Instructions of Use: Waived

The obligation to provide structured instructions of use to downstream deployers — explaining the model's capabilities, limitations, integration requirements, and safety considerations — is also waived. For truly open-weight releases where everything is public, the EU legislature concluded that downstream providers can derive this information from the model itself.

Open-source GPAI providers must still maintain and publish a copyright compliance policy describing how the model handles opt-out signals from content owners under Art.4(3) of the Text and Data Mining Directive (TDMD). If your training crawl included web content, you must document:

This obligation exists because it protects third-party rights (copyright holders), not just downstream deployers. Open-source status does not change the IP interests of content owners whose material was used in training.

Art.53(1)(d) — Training Data Summary: NOT Waived

Providers must still publish a summary of training content. This must be made publicly available online and must describe:

For open-source GPAI models, this is actually the most actionable obligation. Publishing a model card on Hugging Face with a training data section may be sufficient if the disclosure is adequate, but the AI Office may issue guidance on minimum content requirements.


The Systemic Risk Threshold: When the Exemption Disappears

Article 53(3) explicitly carves out models that "present systemic risk as referred to in Article 51." If your open-source model crosses this threshold, Art.53(3) no longer applies and you face the full Art.53 obligation set plus the additional Art.53 systemic risk obligations (adversarial testing, incident reporting, cybersecurity measures, enhanced energy reporting).

The Current Threshold: 10²⁵ FLOPs

Article 51(1)(a) establishes a rebuttable presumption of systemic risk when cumulative training compute exceeds 10²⁵ FLOPs. The European AI Office can revise this threshold by delegated act as compute economics evolve.

As of 2026, this threshold means:

Model / FamilyApproximate Training ComputeSystemic Risk Threshold?
Llama 3 8B~6 × 10²³ FLOPsBelow threshold
Llama 3 70B~4 × 10²⁴ FLOPsBelow threshold
Llama 3 405B~3–4 × 10²⁵ FLOPsNear or above threshold
Mistral 7B~2 × 10²³ FLOPsBelow threshold
Mistral Large 2UndisclosedDisputed
GPT-4 class~10²⁵–10²⁶ FLOPsAbove threshold
Stable Diffusion XL~10²³ FLOPsBelow threshold

Critical implication: Most open-source models released by startups and research labs will sit comfortably below 10²⁵ FLOPs. But frontier open-source releases — particularly large language models from well-funded labs with substantial GPU capacity — may be at or near the threshold.

The Art.51(1)(b) Catch-All

Even below 10²⁵ FLOPs, a model can be designated as having systemic risk by the European AI Office under Art.51(1)(b) if it demonstrates "high impact capabilities" based on qualitative assessment. This discretionary power means that a below-threshold model with unusually capable reasoning, code generation, or bioweapon synthesis assistance potential could be designated for systemic risk regardless of compute.


Licence Eligibility: Which Licences Qualify?

The Art.53(3) exemption requires a licence that "allows for the access, usage, modification and distribution of the model." This aligns with the four OSI freedoms but creates ambiguity for common AI model licences.

Clear Qualifiers

Contested Cases

Meta Llama Community Licence — Meta's Llama releases include an "acceptable use policy" that prohibits certain use cases (using outputs to train competing models over 700M parameters, certain harmful applications). Whether these field-of-use restrictions disqualify the licence from Art.53(3) is genuinely unsettled. The EU AI Office is expected to provide guidance on whether "open-source" under Art.53(3) tracks the OSI definition strictly.

Mistral Mistral-7B (Apache 2.0) — Clear qualifier.

Mistral Large / Pixtral — Released via API only, weights not publicly available. Does not qualify for Art.53(3) — these are closed-source commercial deployments.

CC-BY-NC- licences* — The "NonCommercial" restriction likely disqualifies these. "Access, usage, modification and distribution" would need to include commercial use to satisfy Art.53(3). NC restricts commercial use, which means the licence does not allow full usage rights.


The Art.52 Transparency Obligation: Still Applies Regardless

Art.53(3) waives obligations under Art.53(1)(a) and (b). It does not affect Art.52 obligations, which apply independently to GPAI model providers. Art.52(1) requires GPAI providers to maintain and make available up-to-date technical documentation, including minimum information for downstream providers.

This creates a structural overlap: Art.53(3) eliminates the Art.53(1)(a) documentation obligation but Art.52(1) may impose a parallel documentation requirement. The distinction is that Art.52 documentation is for downstream integration purposes (what you need to integrate the model), while Art.53(1)(a) documentation is more comprehensive and AI Office-facing.

For open-source GPAI providers, the practical conclusion is: you still need basic integration documentation (model card, architecture overview, usage examples) to satisfy Art.52(1), even though you are exempt from the fuller Art.53(1)(a) technical documentation requirements.


Downstream Deployers vs. Open-Source Model Providers

Art.53(3) addresses the provider of the GPAI model — the entity that trained and releases the weights. It does not directly address what happens when a downstream deployer takes open-source weights and builds a commercial product.

When a company fine-tunes Llama 3 and deploys it as a commercial service:

  1. The deployer becomes a "provider" of the resulting AI system (Art.3(3)) and may also become a GPAI model provider if they release the fine-tuned model.
  2. If the fine-tuned model is released as open source under a qualifying licence with public weights, the deployer may claim Art.53(3) for their derivative.
  3. If the fine-tuned model is used only internally or released as a closed API, Art.53(3) does not apply and full Art.53 obligations may apply (subject to whether the fine-tuned model qualifies as a "GPAI model" at all — the bar is a general-purpose capability requiring significant compute or data).

Python Implementation: OpenSourceGPAIExemptionChecker

from dataclasses import dataclass, field
from typing import Optional
from enum import Enum


class LicenceType(str, Enum):
    APACHE_2 = "apache-2.0"
    MIT = "mit"
    GPL_V3 = "gpl-v3"
    LGPL = "lgpl"
    LLAMA_COMMUNITY = "llama-community"
    CC_BY = "cc-by-4.0"
    CC_BY_NC = "cc-by-nc"
    PROPRIETARY = "proprietary"
    OTHER = "other"


@dataclass
class GPAIModelProfile:
    model_name: str
    licence: LicenceType
    weights_publicly_available: bool
    architecture_publicly_available: bool
    usage_docs_publicly_available: bool
    training_compute_flops: Optional[float]  # None = undisclosed
    has_copyright_policy: bool
    has_training_data_summary: bool
    
    # Optional fields for detailed analysis
    has_use_restrictions: bool = False  # NC clauses, acceptable use policies
    ai_office_designation: bool = False  # Designated systemic risk by AI Office
    compute_uncertainty_range: float = 0.5  # Log10 uncertainty


@dataclass
class ExemptionResult:
    model_name: str
    qualifies_as_open_source: bool
    licence_qualifies: bool
    weights_available: bool
    presumed_systemic_risk: bool
    ai_office_designated_systemic_risk: bool
    effective_exemption: bool
    
    # Obligation status after exemption
    art53_1a_technical_docs_required: bool
    art53_1b_instructions_required: bool
    art53_1c_copyright_policy_required: bool
    art53_1d_training_summary_required: bool
    art52_1_integration_docs_required: bool
    
    # Compliance gaps
    compliance_gaps: list[str] = field(default_factory=list)
    
    def __str__(self) -> str:
        lines = [
            f"=== Art.53(3) Exemption Analysis: {self.model_name} ===",
            f"Qualifies as open-source: {self.qualifies_as_open_source}",
            f"  - Licence qualifies: {self.licence_qualifies}",
            f"  - Weights publicly available: {self.weights_available}",
            f"Systemic risk (compute >10²⁵ FLOPs): {self.presumed_systemic_risk}",
            f"AI Office designation: {self.ai_office_designated_systemic_risk}",
            f"",
            f"EFFECTIVE EXEMPTION: {self.effective_exemption}",
            f"",
            f"Obligation Status:",
            f"  Art.53(1)(a) Technical docs: {'REQUIRED' if self.art53_1a_technical_docs_required else 'WAIVED'}",
            f"  Art.53(1)(b) Instructions:   {'REQUIRED' if self.art53_1b_instructions_required else 'WAIVED'}",
            f"  Art.53(1)(c) Copyright policy: {'REQUIRED' if self.art53_1c_copyright_policy_required else 'N/A'}",
            f"  Art.53(1)(d) Training summary: {'REQUIRED' if self.art53_1d_training_summary_required else 'N/A'}",
            f"  Art.52(1) Integration docs: {'REQUIRED' if self.art52_1_integration_docs_required else 'N/A'}",
        ]
        if self.compliance_gaps:
            lines.append(f"\nCompliance Gaps ({len(self.compliance_gaps)}):")
            for gap in self.compliance_gaps:
                lines.append(f"  ⚠ {gap}")
        return "\n".join(lines)


SYSTEMIC_RISK_THRESHOLD_FLOPS = 1e25  # 10²⁵ FLOPs

QUALIFYING_LICENCES = {
    LicenceType.APACHE_2,
    LicenceType.MIT,
    LicenceType.GPL_V3,
    LicenceType.LGPL,
    LicenceType.CC_BY,
}

CONTESTED_LICENCES = {
    LicenceType.LLAMA_COMMUNITY,  # Use restrictions may disqualify
}

DISQUALIFYING_LICENCES = {
    LicenceType.CC_BY_NC,         # NC = no commercial use = not fully open
    LicenceType.PROPRIETARY,
}


def check_gpai_exemption(model: GPAIModelProfile) -> ExemptionResult:
    """
    Determine whether a GPAI model qualifies for the Art.53(3) partial exemption
    and which obligations remain applicable.
    """
    compliance_gaps = []
    
    # --- Licence eligibility ---
    licence_qualifies = model.licence in QUALIFYING_LICENCES
    if model.licence in CONTESTED_LICENCES:
        licence_qualifies = not model.has_use_restrictions
        if model.has_use_restrictions:
            compliance_gaps.append(
                f"Licence {model.licence.value} has use restrictions — may not qualify "
                "for Art.53(3). Seek legal opinion or wait for AI Office guidance."
            )
    elif model.licence in DISQUALIFYING_LICENCES:
        licence_qualifies = False
        compliance_gaps.append(
            f"Licence {model.licence.value} disqualifies from Art.53(3) — "
            "does not allow unrestricted access, usage, modification and distribution."
        )
    
    # --- Weights/parameters availability ---
    weights_available = (
        model.weights_publicly_available
        and model.architecture_publicly_available
        and model.usage_docs_publicly_available
    )
    if not model.weights_publicly_available:
        compliance_gaps.append("Model weights not publicly available — Art.53(3) requires public weight release.")
    if not model.architecture_publicly_available:
        compliance_gaps.append("Model architecture not publicly documented — required for Art.53(3) eligibility.")
    
    # --- Open-source qualification ---
    qualifies_as_open_source = licence_qualifies and weights_available
    
    # --- Systemic risk assessment ---
    if model.training_compute_flops is not None:
        presumed_systemic_risk = model.training_compute_flops >= SYSTEMIC_RISK_THRESHOLD_FLOPS
        if model.training_compute_flops >= SYSTEMIC_RISK_THRESHOLD_FLOPS * 0.5:
            compliance_gaps.append(
                f"Training compute ({model.training_compute_flops:.1e} FLOPs) within 1 order of magnitude "
                "of systemic risk threshold (10²⁵ FLOPs) — monitor for threshold updates and consider "
                "requesting AI Office pre-classification guidance."
            )
    else:
        # Unknown compute — assume below threshold but flag
        presumed_systemic_risk = False
        compliance_gaps.append(
            "Training compute FLOPs undisclosed. Cannot confirm systemic risk status. "
            "Publish training compute estimate or request AI Office classification."
        )
    
    effective_exemption = (
        qualifies_as_open_source
        and not presumed_systemic_risk
        and not model.ai_office_designated_systemic_risk
    )
    
    # --- Obligation determination ---
    # (a) + (b) waived only if effective exemption applies
    art53_1a_required = not effective_exemption
    art53_1b_required = not effective_exemption
    
    # (c) + (d) always required for GPAI providers
    art53_1c_required = True
    art53_1d_required = True
    
    # Art.52(1) always required (independent of Art.53(3))
    art52_1_required = True
    
    # --- Gap checks for (c) and (d) ---
    if not model.has_copyright_policy:
        compliance_gaps.append(
            "Art.53(1)(c): Missing copyright compliance policy. "
            "Required even for open-source GPAI models. "
            "Publish a document covering robots.txt handling, TDM opt-out processing, "
            "and copyright holder requests."
        )
    
    if not model.has_training_data_summary:
        compliance_gaps.append(
            "Art.53(1)(d): Missing training data summary. "
            "Required even for open-source GPAI models. "
            "Publish a summary covering data categories, time periods, filtering, "
            "and geographic/linguistic distribution."
        )
    
    if effective_exemption and art53_1a_required:
        compliance_gaps.append(
            "Art.53(1)(a): Technical documentation required (systemic risk or no exemption)."
        )
    
    return ExemptionResult(
        model_name=model.model_name,
        qualifies_as_open_source=qualifies_as_open_source,
        licence_qualifies=licence_qualifies,
        weights_available=weights_available,
        presumed_systemic_risk=presumed_systemic_risk,
        ai_office_designated_systemic_risk=model.ai_office_designated_systemic_risk,
        effective_exemption=effective_exemption,
        art53_1a_technical_docs_required=art53_1a_required,
        art53_1b_instructions_required=art53_1b_required,
        art53_1c_copyright_policy_required=art53_1c_required,
        art53_1d_training_summary_required=art53_1d_required,
        art52_1_integration_docs_required=art52_1_required,
        compliance_gaps=compliance_gaps,
    )


# --- Example profiles ---
llama3_8b = GPAIModelProfile(
    model_name="Llama 3 8B",
    licence=LicenceType.LLAMA_COMMUNITY,
    weights_publicly_available=True,
    architecture_publicly_available=True,
    usage_docs_publicly_available=True,
    training_compute_flops=6e23,
    has_copyright_policy=True,
    has_training_data_summary=True,
    has_use_restrictions=True,  # Acceptable use policy present
)

mistral_7b = GPAIModelProfile(
    model_name="Mistral 7B",
    licence=LicenceType.APACHE_2,
    weights_publicly_available=True,
    architecture_publicly_available=True,
    usage_docs_publicly_available=True,
    training_compute_flops=2e23,
    has_copyright_policy=False,  # Gap
    has_training_data_summary=False,  # Gap
)

stable_diffusion_xl = GPAIModelProfile(
    model_name="Stable Diffusion XL",
    licence=LicenceType.APACHE_2,
    weights_publicly_available=True,
    architecture_publicly_available=True,
    usage_docs_publicly_available=True,
    training_compute_flops=1e23,
    has_copyright_policy=True,
    has_training_data_summary=True,
)

# Run analysis
for model in [llama3_8b, mistral_7b, stable_diffusion_xl]:
    result = check_gpai_exemption(model)
    print(result)
    print()

Art.53(3) and the Code of Practice

Art.53(2) provides that all GPAI providers (including open-source ones) may participate in the GPAI Code of Practice to demonstrate compliance. The Code of Practice is being developed by the European AI Office and is expected to include specific provisions for open-source models.

Open-source GPAI providers should monitor the Code of Practice development. Signing up to the Code of Practice and demonstrating compliance with applicable provisions will create a presumption of conformity under Art.53 — including for the obligations not waived by Art.53(3) (the copyright policy and training data summary).

The GPAI Code of Practice Chapter 1 (Transparency & Capability Evaluation, covered in our earlier guide) includes model card requirements that substantially overlap with the Art.53(1)(d) training data summary obligation. Open-source providers who publish comprehensive model cards consistent with the Code of Practice may simultaneously satisfy the training data summary requirement.


Practical Compliance Checklist for Open-Source GPAI Providers

Use this checklist to confirm Art.53(3) eligibility and satisfy remaining obligations.

Part A: Exemption Eligibility (Art.53(3) Qualification)

  1. Licence review — Does your licence allow unrestricted access, usage, modification, and distribution?
  2. Commercial use — Does your licence permit commercial use? NC restrictions likely disqualify.
  3. Use restrictions — Does your licence contain field-of-use restrictions (acceptable use policies, prohibited applications)?
  4. Licence legal opinion — If using a non-standard licence (e.g., Llama Community), have you obtained legal advice on Art.53(3) eligibility?
  5. Weights published — Are model weights publicly available for download (Hugging Face, GitHub, direct download)?
  6. Architecture published — Is model architecture documented publicly (number of layers, attention heads, parameter count, training context length)?
  7. Usage documentation — Is basic usage documentation (inference instructions, recommended prompting, supported tasks) publicly available?
  8. Training compute — Have you calculated and published the approximate training compute in FLOPs?
  9. Systemic risk threshold — Is training compute below 10²⁵ FLOPs (the current threshold under Art.51(1)(a))?
  10. AI Office designation — Has the European AI Office designated your model for systemic risk under Art.51(1)(b)?
  1. Policy document — Have you published a copyright compliance policy?
  2. Robots.txt coverage — Does the policy describe how your training crawl respected robots.txt directives?
  3. TDM opt-out — Does the policy cover machine-readable TDM opt-out signals (e.g., TDMReservation tags under the W3C TDM standard)?
  4. Opt-out processing — Do you have a documented process for copyright holders to request exclusion of their content from future training?
  5. Policy accessibility — Is the policy linked from your model card and project homepage?

Part C: Training Data Summary (Art.53(1)(d) — Always Required)

  1. Summary published — Have you published a training data summary publicly online?
  2. Data categories — Does the summary describe data categories (web text, code, books, academic papers, etc.)?
  3. Time period — Does the summary cover the time range of training data collection?
  4. Filtering description — Does the summary describe quality filters, safety filters, and deduplication applied?
  5. Geographic/linguistic distribution — Does the summary indicate the geographic and language distribution of training content?

Part D: Integration Documentation (Art.52(1) — Always Required)

  1. Model card — Have you published a model card describing capabilities, limitations, and intended use cases?
  2. Known failure modes — Does documentation cover known failure modes and out-of-distribution behaviour?
  3. Benchmark results — Are benchmark results published for common evaluation suites?
  4. Version history — Is there a changelog or version history for model releases?

Part E: Monitoring and Maintenance

  1. Threshold monitoring — Have you established a process to monitor changes to the Art.51 compute threshold and reassess exemption eligibility as you release larger models?

Key Takeaway: What "Open Source" Does and Does Not Buy You

For GPAI model providers releasing under a qualifying open-source licence with public weights:

Waived under Art.53(3):

Still required regardless of open-source status:

Triggers full obligation reinstatement:

For most open-source model releases in 2026 — Mistral 7B-class, Llama 3 7B/8B, StableDiffusion variants, FLUX — the exemption is available and the remaining obligations (copyright policy + training summary + model card) are achievable with a few days of documentation work. For frontier-class open releases approaching the 10²⁵ FLOP threshold, systemic risk exposure is a genuine planning constraint that should be assessed before public release.