Neuf scénarios de distribution
Chaque page suit la même trame : ce qui se passe réellement (y a-t-il distribution ? interaction réseau ? liaison ?), le verdict par famille, les pièges propres au scénario, et ce que le CRA y ajoute.
Les trois questions qui classent un scénario
Avant de chercher votre cas dans la liste, répondez à ces trois questions : elles suffisent à prédire l’essentiel.
| Question | Si oui | Si non |
|---|---|---|
| Un tiers reçoit-il le logiciel sous une forme exécutable ? | Le copyleft se déclenche | La GPL est sans effet |
| Un tiers interagit-il avec lui par un réseau ? | Le copyleft réseau se déclenche | L’AGPL est sans effet |
| L’utilisateur peut-il remplacer le composant par une version modifiée ? | La LGPL est satisfaite | La LGPL impose de le rendre possible |
Le détail de ces mécanismes est dans Ce qui déclenche une obligation.
Le classement des neuf scénarios
Du plus permissif au plus contraint :
Cas général vient en premier parce que ce n’est pas un produit : c’est la posture par défaut, celle qu’on applique tant qu’on ne sait pas encore où le composant finira — et celle qui doit gouverner une bibliothèque de base réutilisée partout.
Les huit autres sont classés du moins au plus contraint :
| Rang | Scénario | Ce qui le caractérise |
|---|---|---|
| 1 | Outil interne | Aucune distribution — presque tout est permis |
| 2 | Backend SaaS | Pas de distribution, mais exposition réseau |
| 3 | Bibliothèque / SDK | Vous êtes l’amont : votre licence contraint vos utilisateurs |
| 4 | Application bureau / CLI | Distribution binaire classique |
| 5 | On-premise | Distribution complète, système d’exploitation compris |
| 6 | Frontend web | Distribution de code source, presque toujours ignorée |
| 7 | Application mobile | Distribution + conditions de magasin restrictives |
| 8 | Embarqué / IoT | Distribution + verrouillage matériel |
Un produit relève souvent de plusieurs scénarios
C’est le piège d’application le plus fréquent. Un même produit combine :
- un backend SaaS, qui ne distribue rien ;
- un frontend web, qui distribue du code à chaque visiteur ;
- une application mobile, soumise aux conditions des magasins ;
- un agent installé chez le client, qui est une distribution binaire ;
- une image de conteneur publiée sur un registre, qui est aussi une distribution ;
- une éventuelle édition on-premise.
Chaque brique doit être évaluée dans son propre scénario, avec sa propre liste de licences autorisées. Un composant acceptable dans le backend peut être interdit dans l’agent, et la politique de licences doit le refléter — voir Propriété intellectuelle, qui décline vos listes par contexte d’usage.
La règle de la brique la plus contrainte. Si le même dépôt sert à construire le backend et l’agent installé chez le client, c’est le régime de l’agent qui s’applique à tout le dépôt. Séparer les dépôts est parfois la seule façon de conserver une liberté de choix sur les composants du backend.
Dans cette section
Transverse
Cas général — hypothèse la plus défavorable
La posture à adopter quand on ne sait pas encore comment le composant sera distribué : supposer la distribution binaire, l'exposition réseau et le produit de consommation.
Cyber
Outil interne
Aucune distribution, donc presque aucune obligation — et le seul vrai risque : la frontière interne/externe qui bouge sans que personne ne rouvre le dossier.
Transverse
Backend SaaS
Pas de distribution, donc la GPL est sans effet — et l'AGPL devient le risque numéro un. Le scénario où les intuitions sont le plus souvent fausses, dans les deux sens.
Legal
Bibliothèque ou SDK que vous publiez
Ici vous êtes l'amont : vos dépendances contraignent votre licence, et votre licence contraint vos utilisateurs. La contamination remonte et descend.
Cyber
Application bureau ou ligne de commande
La distribution binaire classique — le cas d'école pour lequel la GPL a été écrite. Contraignant mais praticable, à condition de préparer la fourniture du source.
Legal
On-premise et auto-hébergé
Distribution complète chez le client, souvent système d'exploitation compris. Le client obtient le droit de redistribuer ce que vous lui avez livré.
Cyber
Frontend web
Le scénario le plus mal compris : servir du JavaScript à un navigateur est une distribution de code. Le bundler mélange tout, la minification efface les attributions.
Legal
Application mobile
Distribution binaire plus conditions de magasin : le seul scénario où une licence libre peut être purement et simplement incompatible avec le canal de distribution.
Transverse
Embarqué et objets connectés
Le scénario le plus contraint, et le seul où une exigence de licence entre en tension directe avec une exigence de sécurité du CRA : l'anti-verrouillage de la GPL-3.0 contre le démarrage vérifié.