Licença de Software¶
Uma licença de software é um documento legal que estabelece as regras para o uso, distribuição, modificação e redistribuição de um software. Ela define quais direitos são concedidos aos usuários e quais obrigações devem ser respeitadas ao utilizar o código.
Toda licença representa um acordo entre quem detém os direitos autorais do software (o autor ou os mantenedores) e as pessoas ou organizações que desejam utilizá-lo.
No contexto de projetos FLOSS (Free/Libre and Open Source Software), a licença é um dos elementos mais importantes de um projeto, pois determina como outras pessoas podem colaborar, reutilizar e distribuir o software.
Para que serve uma licença?¶
A licença existe para deixar explícito o que pode e o que não pode ser feito com o software.
Ela estabelece, por exemplo:
- quem pode utilizar o software;
- se o código pode ser estudado e modificado;
- se versões modificadas podem ser distribuídas;
- quais obrigações devem ser cumpridas ao redistribuir o software;
- quais responsabilidades são assumidas (ou não) pelos autores.
Sem uma licença, essas permissões não são concedidas automaticamente.
Por que é importante ter uma licença?¶
Adicionar uma licença é uma das primeiras etapas ao criar um projeto de software.
Ela oferece segurança jurídica tanto para quem desenvolve quanto para quem utiliza o software, deixando claras as permissões e restrições aplicáveis.
Uma licença bem escolhida também:
- incentiva a adoção do projeto;
- facilita contribuições da comunidade;
- reduz dúvidas legais para usuários e empresas;
- permite a reutilização do código de forma compatível com os objetivos do projeto;
- estabelece responsabilidades e limitações de garantia.
Em projetos Open Source, a licença é tão importante quanto a documentação e o próprio código-fonte.
O que acontece se um projeto não tiver uma licença?¶
Um equívoco comum é acreditar que disponibilizar o código em um repositório público significa que qualquer pessoa pode utilizá-lo livremente.
Na realidade, isso não é verdade.
Na maioria das legislações, o código-fonte é automaticamente protegido por direitos autorais desde o momento em que é criado. Isso significa que, na ausência de uma licença, terceiros não possuem autorização legal para:
- copiar o código;
- modificá-lo;
- redistribuí-lo;
- utilizá-lo em outros projetos.
Na prática, um projeto sem licença possui um status jurídico incerto, o que pode impedir empresas e desenvolvedores de adotá-lo, mesmo que o código esteja disponível publicamente.
Componentes de uma licença¶
Embora cada licença tenha seu próprio texto, elas normalmente definem aspectos como:
- Permissões: o que os usuários podem fazer com o software.
- Condições: requisitos para exercer essas permissões.
- Limitações: responsabilidades e garantias oferecidas pelos autores.
- Direitos autorais: quem detém a autoria da obra.
- Distribuição: regras para compartilhar versões originais ou modificadas.
- Compatibilidade: em alguns casos, requisitos relacionados ao uso com outras licenças.
Tipos de licença¶
Existem diferentes modelos de licenciamento, cada um com objetivos distintos.
Licenças permissivas¶
Permitem ampla reutilização do código, inclusive em softwares proprietários, geralmente exigindo apenas a manutenção dos avisos de copyright e da própria licença.
Exemplos:
- MIT License;
- BSD License;
- Apache License 2.0;
- ISC License.
Licenças copyleft¶
Exigem que versões derivadas também sejam distribuídas sob uma licença compatível, preservando as liberdades concedidas pelo projeto original.
Exemplos:
- GNU GPL;
- GNU LGPL;
- GNU AGPL;
- Mozilla Public License (MPL).
Licenças para outros tipos de obras¶
Embora não sejam destinadas ao software, projetos Open Source frequentemente utilizam outras licenças para documentação, imagens, vídeos e outros materiais.
Entre elas estão:
- Creative Commons;
- CC0;
- GNU Free Documentation License (GFDL).
Licenças mais comuns¶
Algumas das licenças mais utilizadas no ecossistema Open Source incluem:
| Licença | Características |
|---|---|
| MIT | Simples, curta e altamente permissiva. |
| Apache License 2.0 | Permissiva, com proteção relacionada a patentes. |
| BSD 2-Clause / 3-Clause | Permissivas e amplamente utilizadas em projetos acadêmicos e corporativos. |
| GNU GPL | Copyleft forte, exige que trabalhos derivados mantenham a mesma licença. |
| GNU LGPL | Copyleft mais flexível, bastante utilizada em bibliotecas. |
| GNU AGPL | Estende o copyleft para softwares utilizados pela rede. |
| Mozilla Public License 2.0 | Copyleft em nível de arquivo (file-level copyleft), permitindo combinações com outros tipos de licença. |
Como escolher uma licença?¶
A escolha da licença depende dos objetivos do projeto.
Algumas organizações desejam maximizar a adoção do software utilizando licenças permissivas, enquanto outras preferem garantir que todas as melhorias permaneçam abertas por meio de licenças copyleft.
Não existe uma licença "melhor" para todos os projetos. A escolha deve considerar fatores técnicos, jurídicos, estratégicos e comunitários.
Para entender os critérios de decisão e conhecer um processo para selecionar a licença mais adequada, consulte a página Como Escolher uma Licença disponível neste portal.