Criação de Apps

Licenças de código aberto: MIT, Apache e GPL, o que muda para você

Resposta rápida

Licenças de código aberto definem o que você pode fazer com um código de terceiros. A MIT e a Apache 2.0 são permissivas: permitem usar, modificar e até vender, mantendo o aviso de autoria. A GPL é copyleft: se você distribuir um software derivado, precisa liberá-lo sob a mesma licença. Código sem licença não pode ser usado livremente.

Neste artigo
  1. O que é código aberto, de verdade
  2. Licenças permissivas
  3. Licenças copyleft
  4. Resumo comparativo em palavras
  5. O que conferir ao usar uma biblioteca
  6. E o código gerado por IA?
  7. Erros comuns com licenças
  8. Escolhendo a licença do seu projeto

Quase todo projeto moderno usa código de outras pessoas: bibliotecas, frameworks, trechos de exemplos. Esse código só pode ser usado de acordo com a licença que o autor escolheu. Ignorar isso pode gerar problemas de direitos autorais, principalmente quando o projeto vira um produto. Entender o básico das licenças mais comuns evita surpresas.

Este conteúdo é informativo e não substitui orientação jurídica. Para projetos comerciais, consulte um advogado especializado.

O que é código aberto, de verdade

Código aberto (open source) não quer dizer apenas que o código pode ser lido. Significa que ele é distribuído sob uma licença que permite usar, estudar, modificar e redistribuir, com certas condições. Quem define essas condições é a licença, e cada uma é diferente.

Código visível mas sem licença, ou sob licença que proíbe uso comercial, não é código aberto no sentido estrito. Por isso, antes de copiar qualquer coisa, procure um arquivo chamado LICENSE ou COPYING no repositório.

Licenças permissivas

Dão muita liberdade e exigem pouco.

MIT

É uma das mais populares e das mais curtas. Permite usar, copiar, modificar, mesclar, publicar, distribuir e até vender, inclusive em software fechado. A condição principal é manter o aviso de copyright e o texto da licença junto com o código. O software é fornecido “como está”, sem garantias.

Apache 2.0

Também permissiva, com algumas diferenças relevantes: inclui uma concessão expressa de patentes (quem contribui autoriza o uso das patentes envolvidas), exige indicar alterações feitas nos arquivos e pede a manutenção de avisos. É muito usada em projetos de empresas.

BSD

Família parecida com a MIT, com variações sobre a exigência de não usar o nome dos autores para promover derivados.

Para a maioria dos projetos pessoais e comerciais, usar bibliotecas com essas licenças é simples: basta preservar os avisos (muitos projetos fazem isso listando as licenças das dependências em uma página).

Licenças copyleft

O copyleft é a ideia de que as liberdades devem se manter nos trabalhos derivados.

GPL

Se você modifica ou incorpora código GPL em um programa e distribui esse programa, ele também precisa ser disponibilizado sob a GPL, com o código-fonte. É a licença usada por projetos como o kernel Linux. Quem quer manter o código próprio fechado deve evitar incorporar código GPL na distribuição do seu software.

LGPL e a LGPD: não confunda

A LGPL é uma versão mais flexível da GPL, pensada para bibliotecas: permite usar a biblioteca em software com outra licença, desde que as alterações na biblioteca em si sejam compartilhadas. Já LGPD é a lei brasileira de proteção de dados, outro assunto, tratado em LGPD para pequenas empresas.

AGPL

Estende a GPL a software usado por rede: se você oferece como serviço na web um programa baseado em código AGPL, pode ser obrigado a disponibilizar o código aos usuários. Exige atenção redobrada em SaaS.

Resumo comparativo em palavras

  • MIT: liberdade quase total; mantenha o aviso.
  • Apache 2.0: como a MIT, com proteção de patentes e registro de alterações.
  • GPL: o derivado distribuído também precisa ser GPL.
  • LGPL: foco em bibliotecas; mais flexível que a GPL.
  • AGPL: a GPL aplicada também a serviços na rede.

O que conferir ao usar uma biblioteca

  1. Procure o arquivo de licença no repositório e na página do pacote.
  2. Verifique as dependências das dependências. Uma biblioteca permissiva pode depender de uma copyleft.
  3. Mantenha os avisos exigidos (copyright e texto da licença).
  4. Registre o que você usa, numa lista simples de pacotes e licenças. Isso ajuda quando o projeto cresce, é auditado ou é vendido.
  5. Cuidado com trechos copiados de fóruns, tutoriais e repositórios sem licença clara.
  6. Pergunte antes se a licença for incomum ou ambígua.

Ferramentas de gerenciadores de pacotes e serviços de análise listam as licenças das dependências automaticamente em muitos casos, vale buscar uma para a linguagem que você usa.

E o código gerado por IA?

O tema é novo e as regras ainda estão sendo discutidas. O trecho que uma IA devolve pode lembrar código existente com licença própria, e a proteção do que foi gerado varia conforme o país. Boas práticas: não pedir que reproduza código de um projeto específico, revisar o que recebe (veja como revisar código gerado por IA) e seguir a política da empresa, se houver. Para um panorama geral de direitos autorais em tecnologia, leia licenças e direitos autorais em apps.

Erros comuns com licenças

  • Achar que público no GitHub é livre: sem licença, não há permissão clara de uso.
  • Remover o aviso de copyright de um código MIT ao copiá-lo.
  • Misturar código GPL em produto fechado sem perceber a obrigação de liberar o fonte ao distribuir.
  • Ignorar as dependências indiretas, que também trazem suas licenças.

Escolhendo a licença do seu projeto

Se você quer publicar seu código:

  • Quer que usem à vontade, inclusive em produtos fechados: MIT ou Apache 2.0.
  • Quer proteção de patentes e registro de mudanças: Apache 2.0.
  • Quer garantir que melhorias continuem abertas: GPL ou AGPL.
  • Quer manter privado: não publique e deixe claro que todos os direitos são reservados.

Inclua um arquivo LICENSE na raiz do repositório com o texto completo da licença escolhida. O GitHub oferece um assistente para isso ao criar o repositório. Se o projeto tem fins comerciais ou muitos colaboradores, vale uma consulta a um advogado para definir licença e contribuições.

O resumo prático: antes de usar, leia a licença; antes de publicar, escolha uma. Sem esse cuidado, o que parecia atalho pode virar problema justamente quando o projeto começa a dar certo.

  • Open source
  • Licenças
  • Programação

Perguntas frequentes

Posso usar código open source em um projeto comercial?

Em geral sim, desde que respeite as condições da licença. Licenças permissivas como a MIT têm poucas exigências. Licenças copyleft como a GPL impõem regras sobre como distribuir o resultado. Em projetos comerciais, confirme com um advogado.

O que acontece se um repositório não tem licença?

Sem licença, em regra todos os direitos continuam reservados ao autor, e você não tem permissão clara para copiar, modificar ou distribuir. Estar público no GitHub não significa que o uso seja livre.

Preciso colocar licença no meu próprio projeto?

Se você quer que outras pessoas possam usar seu código, sim. Escolha uma licença e inclua o arquivo LICENSE no repositório. Se não quiser compartilhar, não é necessário, mas deixe claro que o código é privado.

Leia também

Criação de Apps

Como revisar código gerado por IA antes de usar no seu projeto

Um roteiro de revisão para não colocar no ar código de IA que você não entendeu.

· 5 min de leitura
Segurança Digital

LGPD para pequenas empresas: por onde começar sem complicar

Um roteiro prático para o pequeno negócio se adequar à lei de proteção de dados sem contratar uma consultoria cara de cara.

· 5 min de leitura
Criação de Apps

Licenças e direitos autorais em apps: o que você pode usar

Um guia para saber o que pode e o que não pode entrar no seu app sem risco de problemas jurídicos ou de remoção das lojas.

· 5 min de leitura
Criação de Apps

API de IA para iniciantes: como funciona e como ela é cobrada

O que é uma API de IA, como ela é cobrada por uso e quais cuidados evitam gasto inesperado.

· 5 min de leitura

Deixe seu comentário