Vai al contenuto principale
Licenze · OPL-1, LGPL e AGPL

Cosa significa la licenza OPL-1 di Odoo quando acquisti un modulo: cosa consente, cosa vieta e come convive con LGPL e AGPL

La OPL-1 sono cinque paragrafi scritti da Odoo S.A. Ti lasciano usare, leggere e modificare il modulo che hai acquistato, e ti vietano di pubblicarlo o di passarlo a un'altra azienda. Altrettanto importante è ciò che non dicono: versioni, database e dipendenze con l'OCA.

Catalogo dei moduli di FlexigoTech per Odoo con le versioni compatibili, il prezzo una tantum e il link all'Odoo App Store

OPL-1 compare nella scheda di molti moduli a pagamento dell'App Store di Odoo, e quasi nessuno legge cosa c'è dietro: cinque brevi paragrafi che Odoo S.A. pubblica nella sua documentazione. Qui li leggiamo dal lato di chi paga: cosa consentono, cosa vietano, cosa tacciono e come convivono con LGPL e AGPL. È la lettura di ingegneri che pubblicano moduli, non una consulenza legale.

Cosa dice la OPL-1, paragrafo per paragrafo

La Odoo Proprietary License v1.0 dice cinque cose. Il modulo si può usare (eseguirlo, modificarlo ed eseguirlo modificato) solo con una licenza acquistata dai suoi autori, «normalmente tramite Odoo Apps», o con un accordo scritto. Puoi scrivere moduli che dipendano da esso senza copiarne il codice. È vietato pubblicare, distribuire, concedere in sublicenza o vendere copie, modificate o meno. L'avviso di copyright accompagna tutte le copie. E viene fornito «così com'è», senza garanzia. In pratica:

Vuoi…Si può?La sfumatura
Usarlo nell'Odoo della tua aziendaSìCon licenza acquistata o accordo scritto con l'autore.
Modificarlo per i tuoi processiSìLa tua versione modificata resta OPL-1.
Leggere e verificare il codiceSìArriva leggibile: l'App Store rimuove il codice offuscato o cifrato.
Scrivere un modulo che dipenda da essoSìSenza copiarne il codice e con una licenza compatibile.
Caricarlo su un GitHub pubblicoNoQuesto è pubblicare. Su Odoo.sh, con repository privato.
Installare un solo acquisto su più clientiNoQuesto è distribuire. Ogni cliente acquista il proprio.
Rivenderlo o inserirlo nel tuo prodottoNoNé gratis né modificato.

Cosa non dice la OPL-1, e dove trovare la risposta

La licenza non parla di utenti, database, aggiornamenti né versioni. Lo stabilisce chi vende. Nell'App Store, le sue condizioni di vendita: da Odoo 13 ogni versione si vende separatamente, quindi acquistarlo per Odoo 18 non ti dà quello per Odoo 19; i moduli di terze parti non si installano su Odoo Online; e hai due mesi per reclamare se non si installa nella versione indicata o se manca una funzione promessa dalla scheda. Acquistare la versione sbagliata non dà diritto al rimborso. Se acquisti direttamente dall'autore, vale il suo accordo: il nostro prevede un'istanza di produzione e fino a due di test, con dodici mesi di supporto.

Perché i moduli a pagamento hanno la OPL-1

Perché con una licenza libera la vendita per copia non regge. Si può vendere un modulo LGPL-3 o AGPL-3, ma l'acquirente riceve il diritto di ridistribuirlo e potrebbe pubblicarlo gratis, legalmente. La OPL-1 è la licenza che Odoo S.A. ha scritto per questo vuoto, e l'App Store la riconosce tramite il valore OPL-1 del manifest. Ciò che sorprende: la protezione è contrattuale, non tecnica. Il modulo ti arriva in Python leggibile, come uno dell'OCA.

OPL-1, LGPL-3 e AGPL-3 nello stesso database

Il nucleo di Odoo Community è LGPL-3, che permette ad altri moduli di usarlo senza ereditarne le condizioni; per questo sopra possono stare moduli OPL-1. Quelli dell'OCA sono in genere AGPL-3. Averli installati insieme per uso proprio non crea conflitto: la AGPL obbliga quando si distribuisce o si offre in rete una versione modificata, per esempio in un portale clienti. Lo scontro compare quando un modulo dipende da un altro. Così lo riassume l'App Store:

Se il tuo modulo è…Può dipendere da…Non può dipendere da…
AGPL-3AGPL-3, GPL-3 e LGPL-3OPL-1, OEEL-1 (Enterprise), altre OSI né proprietarie
LGPL-3LGPL-3, OPL-1, OEEL-1, altre OSI e proprietarieAGPL-3 né GPL-3
OPL-1LGPL-3, OPL-1, OEEL-1, altre OSI e proprietarieAGPL-3 né GPL-3

Tradotto: un modulo OPL-1 non può dipendere da uno AGPL-3 dell'OCA, né viceversa, e un componente che importi entrambi non rientra in nessuna licenza. Se il modulo OPL-1 dipende da Enterprise, ti serve l'abbonamento; se dipende solo dal nucleo, funziona in Community. Più dettagli nella guida alle licenze.

Senza la chiave license nel manifest, Odoo carica il modulo come LGPL-3 con un avviso nel log, e l'App Store lo tratta come «Other proprietary». Stesso modulo, due risposte: è la prima cosa da correggere.

Prima di acquistare: cinque verifiche

  • Il manifest. Guarda license e depends in __manifest__.py. Un modulo OPL-1 che dipende dall'OCA merita una domanda all'autore.
  • La versione. Acquista quella del tuo Odoo e, se hai in programma una migrazione, chiedi della successiva.
  • L'hosting. Odoo.sh o server proprio, sì; Odoo Online, no.
  • Il repository. Se il modulo va su Git, privato.
  • L'intestatario. Se lo installa il tuo partner, l'acquisto deve essere intestato alla tua azienda.

Quando non ti serve un modulo OPL-1

Se l'OCA ha un modulo mantenuto per la tua versione che fa ciò che ti serve, parti da lì; in modulo nativo o dell'OCA spieghiamo come decidere. Un modulo a pagamento ha senso quando non esiste un'alternativa libera matura o preferisci che la manutenzione tra le versioni sia a carico di chi lo ha scritto. I nostri moduli a pagamento hanno la OPL-1: quello per VeriFactu, per esempio, funziona su Odoo 17, 18 e 19, e costa 49 € una tantum nell'App Store di Odoo, con il codice sorgente incluso. E se ciò che ti serve non esiste, non è più una questione di licenze: è sviluppo su misura.

Domande frequenti

Posso usare un modulo OPL-1 su più database?

Il testo della OPL-1 non lo dice: lo stabilisce chi vende. Nei nostri moduli, un'istanza di produzione e fino a due di test della stessa azienda, come riporta l'EULA. Ciò che nessuna condizione consente è portare lo stesso acquisto nell'Odoo di un'altra azienda: quello è distribuire.

Posso modificare un modulo OPL-1?

Sì. Il testo consente espressamente di modificarlo ed eseguirlo modificato. Ciò che non puoi fare è pubblicare quella versione né consegnarla a terzi. Se la modifica serve a più persone, chiedila all'autore: ti risparmi di mantenere una copia propria a ogni aggiornamento.

La OPL-1 è la stessa licenza di Odoo Enterprise?

No. I moduli di Odoo Enterprise usano la OEEL-1, che richiede un abbonamento Enterprise valido. La OPL-1 è per moduli di terze parti e richiede solo di aver acquistato il modulo; se dipende unicamente dal nucleo, funziona anche in Community.

Link utili dentro FlexigoTech

Guida alle licenze di OdooOPL-1, AGPL-3, LGPL-3 ed Enterprise, con tabella comparativaEULA dei moduli FlexigoTechIstanze, supporto e restrizioni dei nostri moduli OPL-1Pubblicare un modulo nell'Odoo App StoreLa licenza vista dal lato di chi vende

Hai dubbi sulla licenza di un modulo prima di installarlo?

Mandaci il nome del modulo o il suo manifest e la versione del tuo Odoo. Ti diciamo che licenza ha davvero, da cosa dipende e se è in conflitto con ciò che hai già installato. Se la risposta è che ti basta uno dell'OCA, te lo diciamo comunque. Scrivi a comercial@flexigobe.com o fissa una chiamata.

Parla con un ingegnere