Licence¶
PerfShop est distribué sous licence duale : AGPL-3.0-or-later pour l'usage open source, et licence commerciale pour les usages qui ne peuvent pas satisfaire les obligations de l'AGPL. Cette page résume les conditions en langage naturel ; consultez les fichiers de licence du dépôt pour le texte juridique officiel.
Fichiers de licence
LICENSE— texte complet AGPL-3.0-or-laterLICENSE-COMMERCIAL.fr— résumé de la licence commerciale en françaisLICENSE-COMMERCIAL.en— résumé en anglaisTHIRD-PARTY-LICENSES— licences des dépendances tierces
AGPL-3.0-or-later (usage open source)¶
L'AGPL (GNU Affero General Public License) est une licence copyleft fort. Vous pouvez utiliser, étudier, modifier et redistribuer PerfShop librement, mais vous devez satisfaire certaines obligations.
Ce que l'AGPL autorise¶
- ✅ Utiliser PerfShop dans n'importe quel contexte privé, académique ou interne
- ✅ Étudier le code source — tout est ouvert, rien n'est caché
- ✅ Modifier le code pour l'adapter à vos besoins
- ✅ Redistribuer des versions modifiées, sous la même licence AGPL
- ✅ L'exécuter sur vos propres serveurs pour un usage interne à votre organisation
- ✅ Intégrer PerfShop dans une recherche académique et publier des travaux dessus
Ce que l'AGPL impose¶
- 📄 Publier vos modifications sous AGPL-3.0-or-later si vous redistribuez le code modifié
- 🌐 Rendre le code source accessible aux utilisateurs d'une version modifiée exposée en réseau — c'est la différence clé de l'AGPL par rapport à la GPL classique : si vous hébergez une version modifiée de PerfShop sur un serveur accessible via Internet ou un intranet, vous devez permettre aux utilisateurs de cette instance de télécharger le code source correspondant
- 📎 Conserver les notices de copyright et les en-têtes SPDX dans tous les fichiers modifiés
- ⚖️ Utiliser la même licence pour les œuvres dérivées — vous ne pouvez pas re-licencier sous une autre licence open source ni sous propriétaire
Typical use cases¶
L'AGPL convient parfaitement si vous :
- Voulez utiliser PerfShop gratuitement pour votre formation interne — pas d'exigence tant que vous n'exposez pas une version modifiée
- Contribuez à PerfShop — les modifications soumises dans une Pull Request restent sous AGPL
- Forkez PerfShop pour un projet académique public — c'est exactement l'usage prévu par la licence
- Intégrez PerfShop dans un laboratoire de recherche
Ce qui pose problème sous AGPL¶
L'AGPL devient contraignante si vous voulez :
- Vendre des formations PerfShop à des clients externes — le fait de mettre PerfShop à disposition de clients via un réseau (même privé) les rend « utilisateurs » au sens de l'AGPL, ce qui déclenche l'obligation de leur donner accès au code source de votre version. Si vous avez modifié PerfShop (par exemple ajouté votre branding, des énigmes custom, un backend propriétaire), vous devez publier ces modifications sous AGPL.
- Intégrer PerfShop dans un produit propriétaire — l'AGPL est copyleft fort, ce qui signifie qu'une intégration significative contamine le produit hôte.
- Fournir PerfShop en SaaS multi-tenant — mêmes contraintes que la vente de formation.
Dans ces trois cas, la licence commerciale est la solution.
Licence commerciale¶
La licence commerciale PerfShop est délivrée par perfshop.io pour les usages incompatibles avec l'AGPL. Elle est duale avec l'AGPL : vous choisissez laquelle vous appliquer selon votre cas d'usage, mais vous ne pouvez pas cumuler les avantages des deux.
Ce que la licence commerciale apporte¶
- ✅ Droit d'usage en formation vendue à des tiers sans obligation de publication des modifications
- ✅ Droit d'intégration dans un produit propriétaire (SaaS, formation custom, plateforme white-label)
- ✅ Accès à la bibliothèque de TP clés en main, hébergée sur le portail perfshop.io (cette bibliothèque n'est pas incluse dans le code source distribué sous AGPL)
- ✅ Support technique selon les conditions négociées
- ✅ Droit de modifier sans publier — votre version modifiée reste privée
Les trois plans¶
| Plan | Cible | Accès |
|---|---|---|
| functional | Équipes de test fonctionnel, chaos engineering hors charge | chaos-admin, admin, monitoring, scripts-ui |
| performance | Équipes de performance engineering | Tout le plan functional + jmeter-ui |
| enterprise | Grandes organisations, usage multi-équipes | Accès complet (toutes features actuelles et futures) |
Voir Système de licence pour le détail technique de ces plans.
Tarification et conditions¶
Les tarifs et les modalités (durée, nombre d'instances, support) sont négociés directement. Aucun tarif n'est publié dans cette documentation car ils varient selon le contexte (usage académique, entreprise, région, volume). Contactez contact@perfshop.io pour obtenir un devis.
Bibliothèque de TP¶
L'achat d'une licence commerciale inclut l'accès à une bibliothèque de travaux pratiques prêts à l'emploi, qui couvre l'ensemble des familles de chaos et des niveaux BAC1-BAC5. Cette bibliothèque n'est pas distribuée avec le code source PerfShop — elle est hébergée sur un portail dédié (perfshop.io) et les TP sont accessibles après activation de la licence.
Cette documentation technique ne décrit pas les TP eux-mêmes : elle décrit la plateforme qui les héberge. Les TP sont un produit commercial distinct.
Comment choisir ?¶
| Votre situation | Licence adaptée |
|---|---|
| J'utilise PerfShop en interne dans mon entreprise, sans modification | AGPL (gratuit) |
| Je contribue à PerfShop via Pull Requests | AGPL (gratuit) |
| Je fork PerfShop pour un projet universitaire public | AGPL (gratuit) |
| J'enseigne PerfShop à mes étudiants en université publique | AGPL (gratuit, usage académique) |
| Je vends une formation PerfShop à des clients externes | Commerciale |
| Je modifie PerfShop et je l'expose à mes clients | Commerciale |
Je veux utiliser les TP clés en main de perfshop.io |
Commerciale |
| J'intègre PerfShop dans mon SaaS propriétaire | Commerciale |
Confidentialité et données¶
PerfShop est conçu pour respecter strictement la vie privée de ses utilisateurs et la confidentialité des environnements dans lesquels il est déployé. C'est un engagement fort de la distribution AGPL comme de la licence commerciale.
Aucune collecte, aucun appel sortant¶
- Zéro télémétrie — l'instance que vous déployez n'envoie aucune donnée d'usage vers
perfshop.ioni vers aucun serveur tiers. - Pas de phone-home — aucun ping au démarrage, aucune remontée périodique, aucune sonde de santé distante, aucune remontée d'erreurs automatique.
- Pas d'analytics — aucun traceur, aucun pixel, aucun cookie publicitaire, aucun SDK d'analytics intégré dans les interfaces livrées.
- Fonctionnement hors-ligne possible — après le déploiement initial, PerfShop tourne intégralement en local (ou sur votre infra) sans nécessiter d'accès Internet sortant.
Informations qui ne quittent jamais l'instance¶
Aucune des informations ci-dessous n'est transmise à l'extérieur :
- Version de PerfShop déployée
- Hostname de la machine hôte
- Adresse IP publique ou privée
- UUID d'instance
- Liste des services activés ou des plans licence
- Statistiques d'utilisation (nombre d'étudiants, d'exercices, de commandes)
- Contenu des bases de données (utilisateurs, commandes, produits, énigmes)
- Logs applicatifs ou métriques
Les données collectées par Prometheus, Grafana, Loki, Tempo, Pyroscope et OpenSearch restent intégralement dans votre stack Docker. Aucune remontée externe n'est configurée.
Les seules communications réseau sortantes¶
PerfShop ne génère d'appels sortants que dans trois cas bien identifiés, tous déclenchés par une action explicite de l'utilisateur :
- Ouverture de la documentation officielle (
https://perfshop-docs.perfshop.io) — uniquement si vous cliquez sur un lien vers la doc en ligne depuis votre navigateur. La doc est aussi disponible en local sur votre instance (portDOCS_HTTP_PORT). - Activation d'une licence commerciale — la clé
PFSH-xxx.yyyest vérifiée hors-ligne par cryptographie RSA-PSS 2048. La clé publique de vérification est embarquée dans le backend ; aucun appel réseau n'est fait pour valider une licence. - Liens d'achat de licence — la variable
PERFSHOP_IO_URL(par défauthttps://perfshop.io) n'est utilisée que pour afficher des liens cliquables dans les interfaces admin. Aucune requête automatique n'y est envoyée.
Conséquences pratiques¶
- Déploiement en environnement sensible (banque, santé, défense, recherche classifiée) — PerfShop n'introduit aucun flux sortant non maîtrisé. Seuls les ports entrants que vous exposez sont accessibles.
- Respect RGPD — en tant qu'hébergeur de votre propre instance, vous êtes le seul responsable de traitement. Aucune donnée personnelle ne quitte votre périmètre de responsabilité vers
perfshop.ioou vers un quelconque tiers. - Audit réseau — vous pouvez capturer tout le trafic sortant d'une instance PerfShop au repos : il doit être strictement nul après le démarrage initial (hors mises à jour explicites).
Cet engagement s'applique à toutes les versions distribuées publiquement, AGPL comme commerciale. Toute modification future qui introduirait une collecte de données ferait l'objet d'une communication transparente et d'un mécanisme d'opt-in explicite.
SPDX headers¶
Tous les fichiers source PerfShop portent l'en-tête SPDX :
SPDX-License-Identifier: AGPL-3.0-or-later
Copyright (C) 2024-2026 Philippe Naveau — contact@perfshop.io
PerfShop — Pedagogical Chaos Engineering Platform
https://perfshop.io | https://www.gnu.org/licenses/agpl-3.0.html
Cette convention facilite l'audit automatisé et respecte les standards de l'industrie pour l'identification de licence. Si vous modifiez un fichier, conservez cet en-tête et ajoutez éventuellement votre propre ligne de copyright en dessous.
Licences tierces¶
PerfShop utilise des dépendances sous licences variées (Apache 2.0, MIT, BSD, EPL). Toutes sont compatibles avec l'AGPL. Le fichier THIRD-PARTY-LICENSES à la racine du dépôt liste exhaustivement ces dépendances avec leurs licences respectives.
Les principales catégories :
- Frameworks backend — Spring Boot (Apache 2.0), Hibernate (LGPL), Flyway (Apache 2.0)
- Frameworks frontend — React (MIT), Vite (MIT), React Router (MIT)
- Observabilité — Prometheus (Apache 2.0), Grafana (AGPL-3.0 sous réserve), Loki (AGPL-3.0), Tempo (AGPL-3.0), Pyroscope (Apache 2.0), OpenSearch (Apache 2.0)
- Stack QA — Squash TM (LGPL-3.0), Selenium (Apache 2.0), JMeter (Apache 2.0), Robot Framework (Apache 2.0)
- Infrastructure — Docker, Nginx, MySQL (GPL), PostgreSQL (BSD-like), Forgejo (MIT)
Le choix de toutes ces dépendances respecte la compatibilité AGPL et permet à PerfShop de rester intégralement open source pour les usages AGPL.
Contact¶
Pour toute question sur la licence, contactez contact@perfshop.io. Pour le texte juridique officiel, référez-vous toujours aux fichiers LICENSE, LICENSE-COMMERCIAL.fr et LICENSE-COMMERCIAL.en du dépôt.
Voir aussi¶
- Système de licence (technique) — comment la licence est vérifiée et activée
- Freemium vs Pro — ce qui est accessible sans licence
- Qu'est-ce que PerfShop