Open source no produto da empresa: licenças e obrigações
Componente aberto dentro do produto parece escolha técnica e cria obrigação jurídica. Veja o que cada licença exige e como auditar o que entrou no código.

Produto de software raramente é escrito do zero. Frameworks, bibliotecas, conectores e trechos copiados de repositório público entram no código antes da primeira versão, e cada peça vem com uma licença que continua valendo depois que o produto é vendido. A decisão de usar o componente é técnica, mas a obrigação que nasce dela é da empresa que distribui o software.
Onde a licença do componente entra no produto
Nenhum time de desenvolvimento começa do zero. Framework de interface, biblioteca de validação, conector de banco de dados, gerador de relatório, ferramenta de build e trechos de exemplo copiados de repositório público entram no código antes de o produto existir comercialmente. Cada um desses componentes vem acompanhado de uma licença, e licença de software funciona como contrato: define o que pode ser feito, o que precisa ser mantido e o que precisa ser entregue junto com o que for distribuído.
A escolha do componente costuma seguir critério técnico, como maturidade, documentação, comunidade ativa e frequência de correções. A consequência dessa escolha, no entanto, recai sobre a empresa que coloca o produto no mercado. Quem incorpora código de terceiro ao próprio software assume as condições daquele licenciamento perante o titular do direito autoral, independentemente de quem selecionou a biblioteca ou de o time saber que havia condições a cumprir.
O primeiro passo para organizar o tema é separar uso interno de distribuição. Serviço que roda apenas nos servidores da empresa e é acessado por navegador tem tratamento diferente de aplicativo instalado no computador do cliente, e diferente ainda de biblioteca entregue dentro de outro sistema. Boa parte da confusão sobre open source nasce de aplicar a mesma régua a situações que a licença trata de formas distintas. A pergunta que abre a análise é simples: o componente chega às mãos de terceiro, e de que forma?
- Componente aberto é licenciado e não cedido: o autor permanece titular do código.
- A obrigação acompanha a distribuição do produto ao cliente, não o download feito pelo time.
- Software como serviço, aplicativo instalado e biblioteca embarcada têm efeitos diferentes.
- Trecho copiado de repositório público conta como componente, mesmo sem aparecer em manifesto.
A pergunta que organiza o tema não é se o componente é aberto, e sim por onde ele sai da empresa. É a saída que aciona a maior parte das obrigações.
Veja também: quem é dono do código
As famílias de licença e o que cada uma exige

As licenças abertas se organizam em dois grupos que a prática conhece bem. O grupo permissivo, representado por licenças como MIT, BSD e Apache 2.0, permite uso comercial, modificação e redistribuição com poucas condições, em geral a manutenção do aviso de copyright, a inclusão do texto da licença e, no caso da Apache 2.0, tratamento expresso de patentes e indicação de alterações feitas nos arquivos. É o grupo mais usado em bibliotecas de propósito geral, porque oferece pouca fricção jurídica.
O grupo com copyleft, que inclui GPL, LGPL, AGPL e MPL, impõe condições sobre a obra derivada. A lógica é usar o direito autoral para garantir que o software e suas derivações continuem sob as mesmas liberdades. Na prática, isso significa que a forma de incorporação passa a importar: usar o componente como biblioteca separada, com chamada entre processos distintos, não produz os mesmos efeitos de incorporar o código ao próprio arquivo e compilar tudo junto. LGPL e MPL trazem graus intermediários, com obrigações que recaem sobre o próprio componente modificado e não sobre todo o produto.
Existem ainda licenças que circulam em repositórios públicos sem serem reconhecidas como abertas, com cláusulas de uso restrito, limitação a uso não comercial ou exigência de autorização por tipo de usuário. O efeito para a empresa é diferente: a restrição não se resolve com atribuição, ela pode simplesmente impedir o uso pretendido. Encontrar esse tipo de licença no inventário não é falha grave por si, é sinal de que a triagem precisa existir antes da incorporação, e não depois da entrega.
- Licenças permissivas em geral exigem aviso de copyright, texto da licença e indicação de alterações.
- Licenças com copyleft alcançam a obra derivada e condicionam a distribuição do conjunto.
- Licenças com grau intermediário concentram a obrigação no componente modificado.
- Licenças não reconhecidas como abertas podem restringir uso comercial e exigir autorização.
Ler a licença antes de incorporar custa minutos. Ler depois do lançamento costuma custar decisão de arquitetura, substituição de módulo ou negociação com o titular.
Copyleft: quando a obrigação alcança o produto da empresa
O copyleft preocupa porque sua consequência não é documental, é estrutural. Quando um componente sob GPL é incorporado ao produto distribuído, a licença pode alcançar o conjunto e exigir que o código correspondente seja oferecido a quem recebeu o software, sob a mesma licença. Cumprir isso depois do lançamento pode significar rever o que a empresa considera ativo estratégico, o que é discussão de negócio e não apenas de conformidade. Por isso a recomendação prática é decidir sobre copyleft antes de o componente virar parte do núcleo do produto.
A AGPL leva a lógica um passo adiante ao tratar o uso em rede como gatilho. A ideia é evitar que alguém modifique o software e o ofereça como serviço sem devolver as alterações à comunidade. Para quem opera plataforma acessada por navegador, esse detalhe muda a análise: a entrega deixa de ser o arquivo instalado e passa a ser o serviço disponibilizado. Empresas que tratam todo software interno como uso privado costumam ser surpreendidas justamente nesse ponto.
Há também a situação intermediária, que é a mais comum em produto comercial. O time isola o componente copyleft em serviço separado, com comunicação por rede, e presume que a questão está resolvida. Essa separação pode ser adequada, mas depende de como a licença descreve obra derivada e de como a arquitetura realmente funciona, incluindo bibliotecas compartilhadas, vinculação estática e código gerado. A conclusão sobre isolamento precisa nascer da leitura da licença combinada com a arquitetura real, e ficar registrada com data e responsável.
- Copyleft pode alcançar o conjunto distribuído e exigir oferta do código correspondente.
- AGPL considera o uso em rede como hipótese de acionamento da obrigação.
- Isolamento em serviço separado é decisão de arquitetura com efeito jurídico, não detalhe técnico.
- Vinculação estática, biblioteca compartilhada e código gerado alteram a análise do que é derivado.
Copyleft não impede o uso comercial, mas define condições que a empresa precisa conseguir cumprir. Descobrir isso depois da entrega transforma licença em problema de produto.
Veja também: integração com API de terceiro
Cenários de uso e consequência prática
A forma mais rápida de explicar o tema para um time que não é jurídico é por cenário. O mesmo componente pode gerar obrigações diferentes conforme esteja embarcado no aplicativo, exposto como serviço, usado em ferramenta interna ou entregue como parte de um produto licenciado a cliente corporativo. Trocar o cenário sem trocar a licença muda o que a empresa precisa fazer, e é por isso que a triagem começa pela arquitetura e pela forma de entrega.
A tabela abaixo organiza cenários comuns e o que cada um costuma exigir. O quadro não substitui a leitura da licença específica, porque versões diferentes da mesma família têm regras próprias e texto próprio, mas serve para orientar a primeira conversa entre desenvolvimento, produto e jurídico sobre onde colocar esforço de verificação.
| Cenário | Licença permissiva | Licença com copyleft | Ponto de atenção |
|---|---|---|---|
| Ferramenta interna de build e teste | Aviso e texto da licença no repositório | Em regra não aciona distribuição | Uso interno precisa continuar sendo interno |
| Biblioteca embarcada em app instalado | Aviso no produto e texto da licença | Condições sobre o conjunto distribuído | Vincular antes de decidir é o caminho inverso |
| Serviço acessado por navegador | Aviso em página de créditos | AGPL pode acionar pelo uso em rede | Serviço não é automaticamente uso privado |
| Software entregue a cliente corporativo | Aviso no pacote e no contrato | Oferta de código correspondente conforme a licença | Contrato de licença ao cliente precisa ser compatível |
| Produto white label redistribuído | Aviso preservado em cada cópia | Obrigação acompanha quem redistribui | Cadeia de redistribuição amplia a exposição |

Cenário define obrigação. Antes de discutir nome de licença, vale escrever como o componente chega ao cliente, porque é isso que decide o restante da análise.
Auditoria de licenças: o que levantar e como registrar
Ferramentas de análise de composição de software leem manifestos de dependências, arquivos de bloqueio de versão e metadados de pacote, e produzem uma lista de componentes com a licença declarada. Essa lista é o ponto de partida, não a conclusão. Metadata de pacote pode estar incompleta ou incorreta, componentes podem trazer licenças duplicadas ou arquivos com licenças diferentes dentro do mesmo diretório, e trechos copiados manualmente não aparecem em manifesto algum. Auditoria útil cruza três fontes: inventário automatizado, repositório de código e arquivos de licença efetivamente presentes.
O inventário precisa de recorte por produto, porque a obrigação depende da forma de distribuição de cada um. Misturar tudo em uma planilha única costuma produzir ruído: a biblioteca usada apenas em script interno aparece na mesma lista do componente embarcado no aplicativo vendido, e o time perde tempo analisando o que não gera obrigação. Separar por produto, por canal de entrega e por versão analisada torna o resultado utilizável e permite comparar auditorias ao longo do tempo.
Vale ainda registrar decisões, e não apenas achados. Quando o time decide manter um componente copyleft porque ele está isolado em serviço separado, essa conclusão precisa ficar escrita com a justificativa técnica e a data. Auditoria seguinte que encontra o mesmo componente sem contexto reabre a discussão do zero. O registro transforma verificação pontual em histórico, e histórico é o que sustenta a posição da empresa se a titularidade do componente for questionada mais adiante.
- Inventário por produto, com versão analisada, data e responsável pela verificação.
- Conferência de licença declarada contra arquivos de licença presentes no repositório.
- Busca por trechos copiados e por código gerado, que escapam ao manifesto de dependências.
- Registro da decisão adotada para cada componente com licença sensível, com justificativa técnica.
Inventário sem dono e sem data envelhece em silêncio. Auditoria que gera registro de decisão evita rediscutir o mesmo componente a cada entrega.
Contrato com fornecedor e política interna de licenças
Boa parte do código de terceiro chega pela mão de fornecedor. Empresa contratada para desenvolver módulo, agência que entrega integração, freelancer que escreve serviço inteiro: todos podem incorporar componentes abertos sem informar. O contrato de desenvolvimento precisa tratar disso de forma explícita, com declaração de que o código entregue está devidamente licenciado, obrigação de informar componentes com copyleft e responsabilidade por reclamação de titular de direito autoral. Uma coisa é definir quem é dono do que foi criado, outra é a licença do componente aberto que entrou no meio: um contrato pode ceder todo o código à contratante e o produto continuar sujeito a GPL por causa de uma biblioteca embarcada, distinção tratada no texto sobre quem é dono do código, licença e escrow.
Do lado interno, o modo mais eficiente de reduzir risco não é auditar mais, é decidir antes. Uma política simples de licenciamento define quais licenças podem ser usadas sem consulta, quais exigem avaliação e quais dependem de autorização específica, com verificação automática no fluxo de desenvolvimento que bloqueia dependência não aprovada. A política também precisa indicar caminho de exceção, porque proibição sem alternativa costuma ser contornada: quando o time encontra componente sob copyleft que resolve problema real, deve existir fluxo para avaliar isolamento, testar substituição por alternativa permissiva ou negociar licença comercial com o titular.
Depois da entrega, restam obrigações que acompanham o produto enquanto ele circular. Manter arquivo de avisos atualizado, incluir texto de licenças no pacote, oferecer o código correspondente quando a licença exigir e preservar avisos em cada versão distribuída são tarefas contínuas, não etapas de lançamento. Quando o produto depende de API de terceiro que também impõe condições de uso, a análise se acumula, e o limite de responsabilidade nessas integrações é discutido em integração com API de terceiro e limite de responsabilidade.
- Declaração do fornecedor de que o código entregue está licenciado de forma compatível com o uso previsto.
- Dever de informar componentes com copyleft e trechos de terceiros incorporados ao entregável.
- Responsabilidade por reclamação de titular de direito autoral sobre o que foi entregue.
- Rotina de manutenção de avisos, textos de licença e oferta de código após cada versão.
Titularidade do código e licença de componente aberto são perguntas diferentes, e o contrato e a política interna precisam responder as duas. Quem escolhe biblioteca precisa conhecer o critério, ou o produto herda obrigação que ninguém negociou.
Perguntas frequentes
- Posso usar componente open source em produto comercial?
- Sim, na maior parte dos casos, e sem pagar por isso. As licenças abertas permitem uso comercial, desde que as condições de cada uma sejam cumpridas, o que em geral significa manter avisos de copyright, incluir o texto da licença e respeitar eventuais exigências sobre a distribuição da obra derivada. O problema não está no uso comercial em si, está em usar sem verificar qual licença se aplica e o que ela pede naquele formato de entrega.
- Licença GPL obriga a abrir o código do meu produto?
- Depende de como o componente foi usado e de como o produto é entregue. Quando código sob GPL é incorporado ao produto e o produto é distribuído ao cliente, a licença alcança a obra derivada e impõe condições sobre o conjunto distribuído. Quando o componente é usado apenas internamente, ou quando o acesso se dá por serviço em rede, a análise muda. Por isso a pergunta prática é onde o componente está e como o produto chega ao cliente, não apenas qual é o nome da licença.
- O que é copyleft e por que ele preocupa a área jurídica?
- Copyleft é o modelo de licença que usa o direito autoral para garantir que a obra e suas derivações permaneçam sob as mesmas liberdades, em vez de permitir apropriação exclusiva. Isso significa que quem distribui o software pode ser obrigado a oferecer o código correspondente e a manter a licença. A preocupação não é com o copyleft em si, e sim com a descoberta tardia dele em componente embarcado no núcleo do produto, quando o cumprimento exige decisão de arquitetura e não apenas um arquivo de avisos.
- Preciso manter o aviso de copyright do componente?
- Sim, quando a licença exige. Mesmo as licenças permissivas mais simples pedem que o aviso de copyright e o texto da licença acompanhem as cópias ou as partes substanciais do software. Na prática, isso vira um arquivo de avisos ou uma página de créditos dentro do produto, além da manutenção do arquivo de licença no repositório. Apagar cabeçalho de arquivo, renomear autor ou remover a licença do diretório do componente descumpre a condição e cria discussão desnecessária.
- Como fazer uma auditoria de licenças que funcione?
- Comece pelo inventário gerado por ferramenta de análise de composição de software e trate o resultado como ponto de partida, não como conclusão. Confirme a licença declarada de cada componente relevante, verifique a existência de licenças duplicadas ou não reconhecidas, procure trechos copiados que não aparecem em manifesto de dependências e registre a data da verificação. O inventário precisa ter dono, versão do produto analisada e rotina de revisão antes de cada entrega relevante.
- E se eu descobrir uma licença incompatível depois do lançamento?
- O caminho é levantar a extensão do uso, avaliar se o componente pode ser substituído ou isolado e decidir entre cumprir a licença ou remover o código, com registro do que foi feito. Quando o produto já foi distribuído, pode ser necessário publicar avisos, oferecer o código correspondente ou negociar licença comercial com o titular, quando essa alternativa existir. O que não funciona é ignorar o achado: a obrigação não desaparece porque a verificação foi feita tarde.
Fontes consultadas
- Lei 9.610/1998 (direitos autorais) e Lei 9.609/1998 (programas de computador) — Presidência da República
- Licenças de código aberto aprovadas pela OSI — Open Source Initiative
Conclusão
Open source dentro do produto é decisão de arquitetura com consequência contratual. Saber quais componentes entraram, sob qual licença, em que parte do sistema e por qual caminho chegam ao cliente é o que permite cumprir as condições de cada uma delas, seja com avisos e textos de licença, seja com oferta de código correspondente. Auditoria periódica com registro de decisão, cláusula de garantia no contrato com fornecedor e política interna com caminho de exceção fecham o ciclo. Quem trata o assunto como detalhe de desenvolvimento costuma encontrá-lo de novo em due diligence, em negociação com cliente corporativo ou em notificação de titular. A trilha de [Software, SaaS e licenciamento](/temas/software-e-saas/) reúne outros textos sobre licença, propriedade do código e integração de terceiros.
Este conteúdo tem finalidade informativa, trata de situação geral e não substitui a análise jurídica do caso concreto, dos documentos e da tecnologia utilizada.
Análises relacionadas
Software, SaaS e licenciamento12 min de leitura
Quem é dono do código: licença, cessão e escrow em contratos de software
Pagar pelo desenvolvimento não transfere a titularidade do código. Veja a diferença entre licença de uso, cessão de direitos e escrow antes de assinar o contrato.
Ler a análiseSoftware, SaaS e licenciamento12 min de leitura
Integração com API de terceiro: como limitar a responsabilidade da empresa
Quando a API de terceiro falha, o cliente cobra de quem entrega o serviço. Veja como distribuir risco: SLA herdado, aviso de mudança, teto e plano de saída.
Ler a análiseSoftware, SaaS e licenciamento14 min de leitura
Troca de fornecedor de SaaS: migração de dados e continuidade
Trocar de fornecedor de SaaS só é simples quando o contrato previu a saída. Veja o que definir sobre exportação, prazo de transição e eliminação de dados.
Ler a análiseArtigo publicado por Vlibras. Correções e sugestões de pauta: escreva para a redação, indicada no rodapé.


