Naar hoofdinhoud
Licenties · OPL-1, LGPL en AGPL

Wat de OPL-1-licentie van Odoo betekent als je een module koopt: wat ze toestaat, wat ze verbiedt en hoe ze samengaat met LGPL en AGPL

De OPL-1 bestaat uit vijf alinea's, geschreven door Odoo S.A. Je mag de module die je hebt gekocht gebruiken, lezen en aanpassen, maar niet publiceren of aan een ander bedrijf doorgeven. Even belangrijk is wat er niet in staat: versies, databases en afhankelijkheden van OCA-modules.

Catalogus van FlexigoTech-modules voor Odoo met de compatibele versies, de eenmalige prijs en de link naar de Odoo App Store

OPL-1 staat bij veel betaalde modules in de Odoo App Store, en bijna niemand leest wat erachter zit: vijf korte alinea's die Odoo S.A. publiceert in zijn documentatie. Hier lezen we ze vanuit het perspectief van wie betaalt: wat ze toestaan, wat ze verbieden, wat ze niet zeggen en hoe ze samengaan met LGPL en AGPL. Dit is de lezing van ingenieurs die modules publiceren, geen juridisch advies.

Wat de OPL-1 zegt, alinea voor alinea

De Odoo Proprietary License v1.0 zegt vijf dingen. De module mag alleen worden gebruikt (uitvoeren, aanpassen en aangepast uitvoeren) met een licentie die bij de auteurs is gekocht, "normaal gesproken via Odoo Apps", of met een schriftelijke overeenkomst. Je mag modules schrijven die ervan afhangen zonder de code te kopiëren. Het is verboden kopieën te publiceren, te distribueren, in sublicentie te geven of te verkopen, aangepast of niet. De copyrightvermelding gaat mee met alle kopieën. En de module wordt geleverd "as is", zonder garantie. In de praktijk:

Je wilt…Mag het?De nuance
Het gebruiken in de Odoo van je bedrijfJaMet een gekochte licentie of een schriftelijke overeenkomst met de auteur.
Het aanpassen aan je processenJaJe aangepaste versie blijft OPL-1.
De code lezen en controlerenJaZe komt leesbaar binnen: de App Store verwijdert verhulde of versleutelde code.
Een module schrijven die ervan afhangtJaZonder de code te kopiëren en met een compatibele licentie.
Het op een openbare GitHub zettenNeeDat is publiceren. Op Odoo.sh: met een privérepository.
Eén aankoop bij meerdere klanten installerenNeeDat is distribueren. Elke klant koopt de eigen licentie.
Het doorverkopen of in je product opnemenNeeNiet gratis en niet aangepast.

Wat de OPL-1 niet zegt, en waar het antwoord staat

De licentie zegt niets over gebruikers, databases, updates of versies. Dat bepaalt de verkoper. In de App Store zijn dat de verkoopvoorwaarden: sinds Odoo 13 wordt elke versie apart verkocht, dus de aankoop voor Odoo 18 geeft je niet die voor Odoo 19; modules van derden worden niet geïnstalleerd in Odoo Online; en je hebt twee maanden om te reclameren als de module niet installeert in de aangekondigde versie of een functie mist die op de productpagina wordt beloofd. Een verkeerde versie kopen geeft geen recht op terugbetaling. Koop je rechtstreeks bij de auteur, dan geldt diens overeenkomst: die van ons bepaalt één productie-instantie en maximaal twee testinstanties, met twaalf maanden support.

Waarom betaalde modules OPL-1 hebben

Omdat verkoop per kopie niet houdbaar is met een vrije licentie. Je kunt een LGPL-3- of AGPL-3-module verkopen, maar de koper krijgt het recht om hem te herdistribueren en zou hem legaal gratis kunnen publiceren. De OPL-1 is de licentie die Odoo S.A. voor die leemte schreef, en de App Store herkent haar aan de waarde OPL-1 in het manifest. Wat verrast: de bescherming is contractueel, niet technisch. De module bereikt je als leesbare Python, zoals een module van de OCA.

OPL-1, LGPL-3 en AGPL-3 in dezelfde database

De kern van Odoo Community is LGPL-3, die toestaat dat andere modules hem gebruiken zonder zijn voorwaarden over te nemen; daarom passen OPL-1-modules erbovenop. De modules van de OCA zijn meestal AGPL-3. Ze samen installeren voor eigen gebruik geeft geen conflict: de AGPL verplicht bij distributie of wanneer je via het netwerk een aangepaste versie aanbiedt, bijvoorbeeld in een klantenportaal. Het botst wanneer een module van een andere afhangt. Zo vat de App Store het samen:

Als je module…Mag afhangen van…Mag niet afhangen van…
AGPL-3AGPL-3, GPL-3 en LGPL-3OPL-1, OEEL-1 (Enterprise), andere OSI-licenties of propriëtaire
LGPL-3LGPL-3, OPL-1, OEEL-1, andere OSI-licenties en propriëtaireAGPL-3 of GPL-3
OPL-1LGPL-3, OPL-1, OEEL-1, andere OSI-licenties en propriëtaireAGPL-3 of GPL-3

Vertaald: een OPL-1-module kan niet afhangen van een AGPL-3-module van de OCA, en andersom ook niet, en een stuk code dat beide importeert past onder geen enkele licentie. Als de OPL-1-module afhangt van Enterprise, heb je het abonnement nodig; als hij alleen afhangt van de kern, werkt hij in Community. Meer details in de licentiegids.

Zonder de sleutel license in het manifest laadt Odoo de module als LGPL-3 met een waarschuwing in het log, en behandelt de App Store hem als "Other proprietary". Dezelfde module, twee antwoorden: dit is het eerste wat je moet corrigeren.

Vóór je koopt: vijf controles

  • Het manifest. Kijk naar license en depends in __manifest__.py. Een OPL-1-module die van de OCA afhangt, verdient een vraag aan de auteur.
  • De versie. Koop die van jouw Odoo en vraag, als je gaat migreren, naar de volgende.
  • De hosting. Odoo.sh of eigen server: ja; Odoo Online: nee.
  • De repository. Als de module naar Git gaat: privé.
  • De titularis. Als je partner hem installeert, zorg dat de aankoop op naam van jouw bedrijf staat.

Wanneer je geen OPL-1-module nodig hebt

Als de OCA een onderhouden module voor jouw versie heeft die doet wat je nodig hebt, begin daar; in native module of OCA leggen we uit hoe je dat beslist. Een betaalde module is zinvol als er geen volwassen vrij alternatief is of als je liever hebt dat de maker het onderhoud tussen versies doet. Onze betaalde modules hebben OPL-1: die voor VeriFactu werkt bijvoorbeeld in Odoo 17, 18 en 19 en kost € 49 eenmalig in de Odoo App Store, broncode inbegrepen. En als wat je nodig hebt niet bestaat, gaat het niet meer om licenties: dan is het maatwerkontwikkeling.

Veelgestelde vragen

Kan ik een OPL-1-module in meerdere databases gebruiken?

De tekst van de OPL-1 zegt het niet: dat bepaalt de verkoper. Bij onze modules: één productie-instantie en maximaal twee testinstanties van hetzelfde bedrijf, zoals de EULA vermeldt. Wat geen enkele voorwaarde toestaat, is dezelfde aankoop meenemen naar de Odoo van een ander bedrijf: dat is distribueren.

Kan ik een OPL-1-module aanpassen?

Ja. De tekst staat uitdrukkelijk toe hem aan te passen en aangepast uit te voeren. Wat je niet mag, is die versie publiceren of aan derden geven. Als de wijziging meer mensen helpt, vraag haar dan aan de auteur: zo hoef je bij elke update geen eigen kopie te onderhouden.

Is de OPL-1 dezelfde licentie als die van Odoo Enterprise?

Nee. De modules van Odoo Enterprise gebruiken de OEEL-1, die een geldig Enterprise-abonnement vereist. De OPL-1 is voor modules van derden en vereist alleen dat je de module hebt gekocht; als hij alleen van de kern afhangt, werkt hij ook in Community.

Nuttige links binnen FlexigoTech

Gids over Odoo-licentiesOPL-1, AGPL-3, LGPL-3 en Enterprise, met vergelijkingstabelEULA van de FlexigoTech-modulesInstanties, support en beperkingen van onze OPL-1-modulesEen module publiceren in de Odoo App StoreDe licentie gezien vanuit de verkoper

Twijfels over de licentie van een module vóór je hem installeert?

Stuur ons de naam van de module of het manifest en de versie van je Odoo. We vertellen je welke licentie hij echt heeft, waarvan hij afhangt en of hij botst met wat je al hebt geïnstalleerd. Als het antwoord is dat een module van de OCA volstaat, zeggen we dat ook. Schrijf naar comercial@flexigobe.com of plan een gesprek.

Praat met een ingenieur