OPL-1 figure sur la fiche de nombreux modules payants de l'App Store d'Odoo, et presque personne ne lit ce qu'il y a derrière : cinq courts paragraphes qu'Odoo S.A. publie dans sa documentation. Nous les lisons ici du côté de celui qui paie : ce qu'ils permettent, ce qu'ils interdisent, ce qu'ils passent sous silence et comment ils cohabitent avec LGPL et AGPL. C'est la lecture d'ingénieurs qui publient des modules, pas un conseil juridique.
Ce que dit l'OPL-1, paragraphe par paragraphe
La Odoo Proprietary License v1.0 dit cinq choses. Le module ne peut être utilisé (exécuté, modifié et exécuté une fois modifié) qu'avec une licence achetée à ses auteurs, « normalement via Odoo Apps », ou avec un accord écrit. Vous pouvez écrire des modules qui en dépendent sans copier son code. Il est interdit de publier, distribuer, sous-licencier ou vendre des copies, modifiées ou non. L'avis de copyright accompagne toutes les copies. Et il est fourni « en l'état », sans garantie. En pratique :
| Vous voulez… | Est-ce permis ? | La nuance |
|---|---|---|
| L'utiliser dans l'Odoo de votre entreprise | Oui | Avec une licence achetée ou un accord écrit avec l'auteur. |
| Le modifier pour vos processus | Oui | Votre version modifiée reste sous OPL-1. |
| Lire et auditer le code | Oui | Il arrive lisible : l'App Store retire le code obscurci ou chiffré. |
| Écrire un module qui en dépend | Oui | Sans copier son code et avec une licence compatible. |
| Le mettre sur un GitHub public | Non | C'est publier. Sur Odoo.sh, avec un dépôt privé. |
| Installer un achat chez plusieurs clients | Non | C'est distribuer. Chaque client achète le sien. |
| Le revendre ou l'intégrer à votre produit | Non | Ni gratuitement ni modifié. |
Ce que l'OPL-1 ne dit pas, et où trouver la réponse
La licence ne parle ni d'utilisateurs, ni de bases de données, ni de mises à jour, ni de versions. C'est celui qui vend qui les fixe. Sur l'App Store, ce sont ses conditions de vente : depuis Odoo 13, chaque version se vend séparément, donc l'acheter pour Odoo 18 ne vous donne pas celui d'Odoo 19 ; les modules tiers ne s'installent pas sur Odoo Online ; et vous disposez de deux mois pour réclamer s'il ne s'installe pas sur la version annoncée ou s'il lui manque une fonction promise par la fiche. Acheter la mauvaise version ne donne pas droit à un remboursement. Si vous achetez directement à l'auteur, c'est son accord qui prime : le nôtre prévoit une instance de production et jusqu'à deux instances de test, avec douze mois de support.
Pourquoi les modules payants sont sous OPL-1
Parce qu'avec une licence libre, la vente par copie ne tient pas. On peut vendre un module LGPL-3 ou AGPL-3, mais l'acheteur reçoit le droit de le redistribuer et pourrait le publier gratuitement, en toute légalité. L'OPL-1 est la licence qu'Odoo S.A. a écrite pour combler ce vide, et l'App Store la reconnaît grâce à la valeur OPL-1 du manifeste. Ce qui surprend : la protection est contractuelle, pas technique. Le module vous arrive en Python lisible, comme un module de l'OCA.
OPL-1, LGPL-3 et AGPL-3 dans la même base de données
Le cœur d'Odoo Community est sous LGPL-3, ce qui permet à d'autres modules de l'utiliser sans hériter de ses conditions ; c'est pourquoi des modules OPL-1 peuvent se superposer. Ceux de l'OCA sont généralement sous AGPL-3. Les avoir installés ensemble pour votre usage propre ne crée aucun conflit : l'AGPL oblige lorsqu'on distribue ou qu'on propose par réseau une version modifiée, par exemple dans un portail client. Le conflit apparaît quand un module dépend d'un autre. Voici comment l'App Store le résume :
| Si votre module est… | Il peut dépendre de… | Il ne peut pas dépendre de… |
|---|---|---|
| AGPL-3 | AGPL-3, GPL-3 et LGPL-3 | OPL-1, OEEL-1 (Enterprise), autres licences OSI ni propriétaires |
| LGPL-3 | LGPL-3, OPL-1, OEEL-1, autres licences OSI et propriétaires | AGPL-3 ni GPL-3 |
| OPL-1 | LGPL-3, OPL-1, OEEL-1, autres licences OSI et propriétaires | AGPL-3 ni GPL-3 |
Traduit : un module OPL-1 ne peut pas dépendre d'un module AGPL-3 de l'OCA, ni l'inverse, et une pièce qui importe les deux ne rentre sous aucune licence. Si le module OPL-1 dépend d'Enterprise, il vous faut l'abonnement ; s'il ne dépend que du cœur, il fonctionne sur Community. Plus de détails dans le guide des licences.
Sans la clé license dans le manifeste, Odoo charge le module comme LGPL-3 avec un avertissement dans le log, et l'App Store le traite comme « Other proprietary ». Même module, deux réponses : c'est la première chose à corriger.
Avant d'acheter : cinq vérifications
- Le manifeste. Regardez
licenseetdependsdans__manifest__.py. Un module OPL-1 qui dépend de l'OCA mérite une question à l'auteur. - La version. Achetez celle de votre Odoo et, si vous allez migrer, renseignez-vous sur la suivante.
- L'hébergement. Odoo.sh ou serveur propre, oui ; Odoo Online, non.
- Le dépôt. Si le module va dans Git, privé.
- Le titulaire. Si c'est votre partner qui l'installe, que l'achat soit fait au nom de votre entreprise.
Quand vous n'avez pas besoin d'un module OPL-1
Si l'OCA a un module maintenu pour votre version qui fait ce dont vous avez besoin, commencez par là ; dans module natif ou de l'OCA, nous expliquons comment décider. Un module payant a du sens quand il n'existe pas d'alternative libre mature ou que vous préférez que la maintenance entre les versions soit assurée par celui qui l'a écrit. Nos modules payants sont sous OPL-1 : celui de VeriFactu, par exemple, fonctionne sur Odoo 17, 18 et 19, et coûte 49 € en paiement unique sur l'App Store d'Odoo, code source inclus. Et si ce dont vous avez besoin n'existe pas, ce n'est plus une question de licences : c'est du développement sur mesure.
Questions fréquentes
Puis-je utiliser un module OPL-1 sur plusieurs bases de données ?
Le texte de l'OPL-1 ne le dit pas : c'est celui qui vend qui le fixe. Pour nos modules, une instance de production et jusqu'à deux instances de test de la même entreprise, comme le précise l'EULA. Ce qu'aucune condition ne permet, c'est d'emmener le même achat dans l'Odoo d'une autre entreprise : c'est distribuer.
Puis-je modifier un module OPL-1 ?
Oui. Le texte permet expressément de le modifier et de l'exécuter modifié. Ce que vous ne pouvez pas faire, c'est publier cette version ni la remettre à des tiers. Si la modification peut servir à d'autres, demandez-la à l'auteur : vous évitez de maintenir une copie à vous à chaque mise à jour.
L'OPL-1 est-elle la même licence que celle d'Odoo Enterprise ?
Non. Les modules d'Odoo Enterprise utilisent l'OEEL-1, qui exige un abonnement Enterprise valide. L'OPL-1 est destinée aux modules tiers et exige seulement d'avoir acheté le module ; s'il ne dépend que du cœur, il fonctionne aussi sur Community.
Liens utiles chez FlexigoTech
Des doutes sur la licence d'un module avant de l'installer ?
Envoyez-nous le nom du module ou son manifeste et la version de votre Odoo. Nous vous disons quelle licence il a vraiment, de quoi il dépend et s'il entre en conflit avec ce que vous avez déjà installé. Si la réponse est qu'un module de l'OCA vous suffit, nous vous le disons aussi. Écrivez à comercial@flexigobe.com ou planifiez un appel.

