Nine distribution scenarios

Each page follows the same pattern: what actually happens (is there distribution? network interaction? linking?), the verdict per family, the pitfalls specific to the scenario, and what the CRA adds.

The three questions that classify a scenario

Before looking for your case in the list, answer these three. They predict most of the outcome.

Question If yes If no
Does a third party receive the software in executable form? Copyleft is triggered The GPL has no effect
Does a third party interact with it over a network? Network copyleft is triggered The AGPL has no effect
Can the user replace the component with a modified version? The LGPL is satisfied The LGPL requires you to make it possible

These mechanisms are detailed in What triggers an obligation.

The nine scenarios

Worst case comes first because it is not a product: it is the default posture, the one to apply while you do not yet know where the component will end up — and the one that should govern a shared internal library reused everywhere.

The other eight are ordered from least to most constrained:

Rank Scenario What characterises it
1 Internal tool No distribution — almost everything is permitted
2 SaaS backend No distribution, but network exposure
3 Library / SDK You are upstream: your licence constrains your users
4 Desktop / CLI app Classic binary distribution
5 On-premises Full distribution, operating system included
6 Web frontend Source code distribution, almost always overlooked
7 Mobile app Distribution plus restrictive store terms
8 Embedded / IoT Distribution plus hardware lock-down

One product often spans several scenarios

This is the most frequent application error. A single product combines:

  • a SaaS backend, which distributes nothing;
  • a web frontend, which distributes code to every visitor;
  • a mobile app, subject to store terms;
  • an agent installed at the customer’s site, which is a binary distribution;
  • a container image published to a registry, which is also a distribution;
  • possibly an on-premises edition.

Each part must be assessed in its own scenario, with its own list of permitted licences. A component acceptable in the backend may be prohibited in the agent, and the licence policy must reflect that — see Intellectual property, which breaks your lists down by context of use.

The most-constrained-part rule. If the same repository builds both the backend and the agent shipped to customers, the agent’s regime applies to the whole repository. Splitting repositories is sometimes the only way to keep freedom of choice over backend components.

In this section

  • Cross-cutting

    Worst case — the least favourable assumption

    The posture to adopt when you do not yet know how the component will be distributed: assume binary distribution, network exposure and a consumer product.

  • Cyber

    Internal tool

    No distribution, therefore almost no obligation — and the only real risk: the internal/external boundary moving without anyone reopening the file.

  • Cross-cutting

    SaaS backend

    No distribution, so the GPL has no effect — and the AGPL becomes risk number one. The scenario where intuitions are most often wrong, in both directions.

  • Legal

    Library or SDK you publish

    Here you are upstream: your dependencies constrain your licence, and your licence constrains your users. Contamination runs both ways.

  • Cyber

    Desktop or command-line application

    Classic binary distribution — the textbook case the GPL was written for. Demanding but workable, provided you prepare to supply the source.

  • Legal

    On-premises and self-hosted

    Full distribution at the customer's site, often operating system included. The customer gains the right to redistribute what you shipped them.

  • Cyber

    Web frontend

    The most misunderstood scenario: serving JavaScript to a browser is a distribution of code. The bundler mixes everything, minification erases the attributions.

  • Legal

    Mobile app

    Binary distribution plus store terms: the only scenario where a free licence can be flatly incompatible with the distribution channel itself.

  • Cross-cutting

    Embedded and IoT

    The most constrained scenario, and the only one where a licensing requirement runs directly against a CRA security requirement: GPL-3.0 anti-lock-down versus verified boot.