A OPL-1 aparece na ficha de muitos módulos pagos da App Store do Odoo, e quase ninguém lê o que está por trás: cinco parágrafos curtos que a Odoo S.A. publica na sua documentação. Aqui lemo-los do lado de quem paga: o que permitem, o que proíbem, o que calam e como convivem com LGPL e AGPL. É a leitura de engenheiros que publicam módulos, não aconselhamento jurídico.
O que diz a OPL-1, parágrafo a parágrafo
A Odoo Proprietary License v1.0 diz cinco coisas. Só se pode usar o módulo (executá-lo, modificá-lo e executá-lo modificado) com uma licença comprada aos seus autores, «normalmente através do Odoo Apps», ou com um acordo escrito. Pode escrever módulos que dependam dele sem copiar o seu código. Está proibido publicar, distribuir, sublicenciar ou vender cópias, modificadas ou não. O aviso de copyright acompanha todas as cópias. E é entregue «tal como está», sem garantia. Na prática:
| Quer… | Pode-se? | O pormenor |
|---|---|---|
| Usá-lo no Odoo da sua empresa | Sim | Com licença comprada ou acordo escrito com o autor. |
| Modificá-lo para os seus processos | Sim | A sua versão modificada continua a ser OPL-1. |
| Ler e auditar o código | Sim | Chega legível: a App Store retira o código ofuscado ou cifrado. |
| Escrever um módulo que dependa dele | Sim | Sem copiar o seu código e com licença compatível. |
| Carregá-lo num GitHub público | Não | É publicar. No Odoo.sh, com repositório privado. |
| Instalar uma compra em vários clientes | Não | É distribuir. Cada cliente compra a sua. |
| Revendê-lo ou incluí-lo no seu produto | Não | Nem grátis nem modificado. |
O que a OPL-1 não diz, e onde está a resposta
A licença não fala de utilizadores, bases de dados, atualizações nem versões. Isso é fixado por quem vende. Na App Store, as suas condições de venda: desde o Odoo 13 cada versão vende-se à parte, pelo que comprá-lo para o Odoo 18 não lhe dá o do Odoo 19; os módulos de terceiros não se instalam no Odoo Online; e há dois meses para reclamar se não instalar na versão anunciada ou se lhe faltar uma funcionalidade que a ficha promete. Comprar a versão errada não dá direito a reembolso. Se comprar diretamente ao autor, vale o acordo dele: o nosso fixa uma instância de produção e até duas de testes, com doze meses de suporte.
Porque é que os módulos pagos levam OPL-1
Porque com uma licença livre a venda por cópia não se sustenta. Pode-se vender um módulo LGPL-3 ou AGPL-3, mas o comprador recebe o direito de o redistribuir e poderia publicá-lo gratuitamente, legalmente. A OPL-1 é a licença que a Odoo S.A. escreveu para essa lacuna, e a App Store reconhece-a com o valor OPL-1 do manifesto. O que surpreende: a proteção é contratual, não técnica. O módulo chega-lhe em Python legível, como um da OCA.
OPL-1, LGPL-3 e AGPL-3 na mesma base de dados
O núcleo do Odoo Community é LGPL-3, que permite que outros módulos o usem sem herdar as suas condições; por isso, por cima cabem módulos OPL-1. Os da OCA costumam ser AGPL-3. Tê-los instalados juntos para uso próprio não cria conflito: a AGPL obriga ao distribuir ou ao oferecer por rede uma versão modificada, por exemplo num portal de clientes. O choque surge quando um módulo depende de outro. Assim o resume a App Store:
| Se o seu módulo é… | Pode depender de… | Não pode depender de… |
|---|---|---|
| AGPL-3 | AGPL-3, GPL-3 e LGPL-3 | OPL-1, OEEL-1 (Enterprise), outras OSI nem proprietárias |
| LGPL-3 | LGPL-3, OPL-1, OEEL-1, outras OSI e proprietárias | AGPL-3 nem GPL-3 |
| OPL-1 | LGPL-3, OPL-1, OEEL-1, outras OSI e proprietárias | AGPL-3 nem GPL-3 |
Traduzido: um módulo OPL-1 não pode depender de um AGPL-3 da OCA, nem ao contrário, e uma peça que importe os dois não cabe em nenhuma licença. Se o módulo OPL-1 depende do Enterprise, precisa da subscrição; se só depende do núcleo, funciona no Community. Mais pormenor no guia de licenças.
Sem a chave license no manifesto, o Odoo carrega o módulo como LGPL-3 com um aviso no log, e a App Store trata-o como «Other proprietary». Mesmo módulo, duas respostas: é a primeira coisa a corrigir.
Antes de comprar: cinco verificações
- O manifesto. Veja
licenseedependsem__manifest__.py. Um módulo OPL-1 que depende da OCA merece uma pergunta ao autor. - A versão. Compre a do seu Odoo e, se vai migrar, pergunte pela seguinte.
- O alojamento. Odoo.sh ou servidor próprio, sim; Odoo Online, não.
- O repositório. Se o módulo vai para o Git, privado.
- O titular. Se for o seu partner a instalá-lo, que a compra fique em nome da sua empresa.
Quando não precisa de um módulo OPL-1
Se a OCA tem um módulo mantido para a sua versão que faz o que precisa, comece por aí; em módulo nativo ou da OCA explicamos como decidir. Um módulo pago faz sentido quando não há alternativa livre madura ou prefere que a manutenção entre versões fique a cargo de quem o escreveu. Os nossos módulos pagos levam OPL-1: o de VeriFactu, por exemplo, funciona no Odoo 17, 18 e 19, e custa 49 € de pagamento único na App Store do Odoo, com o código-fonte incluído. E se o que precisa não existe, já não é questão de licenças: é desenvolvimento à medida.
Perguntas frequentes
Posso usar um módulo OPL-1 em várias bases de dados?
O texto da OPL-1 não o diz: é fixado por quem vende. Nos nossos módulos, uma instância de produção e até duas de testes da mesma empresa, tal como consta do EULA. O que nenhuma condição permite é levar a mesma compra para o Odoo de outra empresa: isso é distribuir.
Posso modificar um módulo OPL-1?
Sim. O texto permite expressamente modificá-lo e executá-lo modificado. O que não pode é publicar essa versão nem entregá-la a terceiros. Se a alteração servir a mais gente, peça-a ao autor: poupa-se a manter uma cópia própria em cada atualização.
A OPL-1 é a mesma licença que a do Odoo Enterprise?
Não. Os módulos do Odoo Enterprise usam a OEEL-1, que exige uma subscrição Enterprise válida. A OPL-1 é para módulos de terceiros e só exige ter comprado o módulo; se depender apenas do núcleo, funciona também no Community.
Ligações úteis dentro da FlexigoTech
Dúvidas com a licença de um módulo antes de o instalar?
Envie-nos o nome do módulo ou o seu manifesto e a versão do seu Odoo. Dizemos-lhe que licença tem de facto, de que depende e se choca com o que já tem instalado. Se a resposta for que lhe basta um da OCA, também lho dizemos. Escreva para comercial@flexigobe.com ou agende uma chamada.

