Backend SaaS
Le code s’exécute sur vos serveurs. L’utilisateur reçoit des réponses, pas des binaires.
Ce qui se passe réellement
| Question | Réponse |
|---|---|
| Un tiers reçoit-il le logiciel sous forme exécutable ? | Non |
| Un tiers interagit-il avec lui par un réseau ? | Oui |
| Le produit est-il un bien de consommation ? | Non |
Un seul mécanisme est actif, mais il est décisif : l’interaction réseau.
Le verdict par famille
| Famille | Verdict | Raison |
|---|---|---|
| Permissive | ● | Aucune obligation de distribution ; créditer reste une bonne pratique |
| Copyleft faible (MPL, EPL, LGPL) | ● | Réciprocité conditionnée à la distribution |
| Copyleft fort (GPL-2.0, GPL-3.0) | ● | Sans effet. Pas de distribution, pas d’obligation de publier |
| Copyleft réseau (AGPL-3.0, OSL) | ✕ | C’est exactement le cas qu’elles visent |
| SSPL-1.0 | ✕ | Exige la publication de toute la pile de service |
| Elastic License 2.0, BSL | ○ | Voir ci-dessous : dépend de ce que le service est |
Les deux intuitions fausses
« La GPL va contaminer votre SaaS »
Non. La GPL se déclenche par la distribution, et un service en ligne ne distribue rien. Vous pouvez bâtir un backend entier sur des composants GPL sans avoir à publier une ligne.
C’est la conséquence la plus contre-intuitive du domaine — au point que beaucoup de politiques d’entreprise interdisent la GPL dans un SaaS sans raison juridique, se privant de composants majeurs.
« L’AGPL c’est juste une GPL un peu plus stricte »
Non. C’est un changement de nature. Dans ce scénario précis, l’AGPL est la seule famille qui puisse vous obliger à publier votre code — et l’obligation porte sur l’œuvre combinée, c’est-à-dire potentiellement l’ensemble de votre service.
Comment l’AGPL mord, concrètement
Trois situations, par ordre de gravité :
| Situation | Analyse |
|---|---|
| Composant AGPL strictement inchangé, dans son propre processus, appelé par une interface réseau | L’article 13 vise la version modifiée. Position défendable, à documenter |
| Composant AGPL modifié, même légèrement | Article 13 déclenché sur votre version |
| Bibliothèque AGPL liée à votre code de service | L’œuvre combinée devient « votre version » : le source du tout est dû aux utilisateurs |
Le troisième cas est le plus fréquent et le plus coûteux. Il suffit d’un import.
La règle interne recommandée. L’AGPL est en liste noire pour tout composant destiné à être lié au code de service. Elle passe en liste grise — instruction au cas par cas, décision documentée — pour un composant déployé inchangé dans un processus isolé, du type base de données ou service d’infrastructure autonome.
Les licences source-available dans ce scénario
Elles visent précisément les fournisseurs de services managés. La question n’est pas où le logiciel tourne, mais ce que vous vendez :
| Cas | Elastic License 2.0 / BSL |
|---|---|
| Le produit est votre offre, revendue en service managé | Interdit — c’est le cas visé |
| Le produit est un composant interne de votre plateforme, invisible du client | Généralement autorisé, à vérifier dans le texte exact |
| Le produit sert à exploiter votre infrastructure | Généralement autorisé |
Chaque licence de cette famille a sa propre rédaction. Il n’existe pas de réponse générique : il faut lire, et faire trancher par le juridique.
Les pièges propres au SaaS
L’image de conteneur publiée. Pousser une image sur un registre public — ou sur un registre privé accessible à un client — est une distribution. Toutes les obligations endormies se réveillent sur le contenu de l’image.
L’agent, le connecteur, le SDK client. Le jour où l’on livre le moindre composant à installer, ce composant relève d’un autre scénario. La GPL présente dans le backend est sans effet ; la même GPL dans l’agent est une obligation de publication.
L’édition on-premise. C’est la mutation la plus brutale : le produit passe du scénario le plus permissif au plus contraint, avec un code qui a été construit pendant des années sous une hypothèse inverse.
Le frontend. Le JavaScript servi au navigateur est distribué, quoi qu’il en soit du backend. Voir Frontend web — c’est le même produit, mais pas le même régime.
Le code exporté. Une fonctionnalité qui génère et livre au client du code, un modèle, une configuration, peut emporter des composants sous licence.
Ce que le CRA ajoute
Un SaaS autonome relève de NIS 2, pas du CRA. Mais un backend indissociable d’un produit connecté est une solution de traitement de données à distance au sens de l’article 3, et entre donc dans le périmètre du produit — voir Le périmètre.
Conséquence : ses composants figurent au SBOM et au dossier technique, même lorsqu’aucune obligation de licence ne se déclenche. L’inventaire est dû pour des raisons de sécurité, pas de droit d’auteur.