In this article
Licença Pública Geral GNU: GPLv3 explicada
O que é a licença GPL?
A licença GPL é uma licença de software livre que permite modificar ou redistribuir o software sem restrições nem pagamentos obrigatórios pelo código licenciado. Os desenvolvedores usam a licença GPL para garantir que seu código não se torne proprietário quando for modificado.
A licença GPL é a Licença Pública Geral GNU, amplamente usada em software de código aberto. Ela foi criada por Richard Stallman em 1989. Desenvolvedores e organizações a utilizam para impedir que o software se torne proprietário. A licença unificou licenças semelhantes que existiam na época, mas é, sobretudo, uma implementação da filosofia da Free Software Foundation (FSF) e do conceito de copyleft de Stallman para o desenvolvimento e a distribuição de software.
Com uma licença GPL (ou simplesmente GPL), qualquer usuário pode usar, modificar ou redistribuir o software livremente, sem restrições. Um exemplo conhecido de software que usa a GPL é o WordPress. Isso significa que qualquer pessoa pode usar, modificar ou ampliar o código-fonte como quiser. No contexto do projeto WordPress, a GPL equivale à declaração de direitos do software.
Ela concede aos usuários permissões de código aberto, incluindo:
O direito de baixar e executar o software livremente
O direito de fazer as alterações que quiser no software
O direito de redistribuir cópias do software
O direito de modificar e distribuir cópias de novas versões do software
A GPL alcança seus objetivos por meio do conceito de copyleft. Em uma inversão evidente do copyright, o copyleft usa as leis de direitos autorais para garantir que o software continue sendo de código aberto. Ao proteger a liberdade por meio de uma licença de software, os desenvolvedores podem garantir que o software não se torne proprietário quando outro usuário o modificar ou ampliar.
Qual é a diferença entre GPLv2 e GPLv3?
A GPLv3 mantém o mesmo objetivo principal da GPLv2, mas oferece proteções de copyleft mais rigorosas. A redação da GPLv3 é mais abrangente para lidar com mudanças técnicas e jurídicas, incluindo cláusulas de compatibilidade internacional entre licenças.
As quatro principais cláusulas novas da GPLv3 são:
Regras de compatibilidade – A compatibilidade entre licenças diz respeito a situações em que dois componentes distintos, licenciados sob condições diferentes, são combinados para formar uma nova obra. A GPLv3 facilita o gerenciamento de licenças compatíveis, abordando especificamente o código sob a Licença Apache V2.0.
Gerenciamento de direitos digitais – Novas cláusulas tentam restringir a liberdade de alterar o software GPL, enquanto os usuários recorrem a normas legais (como a DMCA) para obter medidas técnicas de proteção.
Licenciamento explícito de patentes – Uma nova cláusula sobre patentes protege os usuários para que apenas alguns licenciados não se beneficiem dos direitos de patente. Ela exige que todos os usuários tenham as mesmas vantagens ou que ninguém possa lucrar com o software.
Isenção de código-fonte para ASP – Esclarece que, em uma implementação de GPL como ASP, não é necessário divulgar o código-fonte se os usuários não distribuírem uma cópia aos clientes. Para que o copyleft também se aplique ao uso como ASP, deve-se usar a Licença Pública Geral Affero (AGPLv3).
Quais são os termos e condições da licença GPLv3?
Se um desenvolvedor usar qualquer componente GPL em seu software, a obra inteira estará sujeita aos termos e condições da GPL. A GPLv3 estabelece termos específicos para obras combinadas, que podem se aplicar quando outros códigos-fonte, componentes ou bibliotecas são incluídos no software GPL.
Os termos e condições específicos aplicáveis ao software GPLv3 são:
Permissões – Direitos de uso comercial, distribuição, modificação, uso de patentes e uso privado do software.
Condições – Requisitos para divulgar o código-fonte, exibir os avisos de licença e direitos autorais, informar todas as alterações e indicar as bibliotecas sob a mesma licença.
Limitações – Incluir na obra informações sobre responsabilidade e garantia.
O contrato de licença completo define claramente quando cada condição se aplica e quando os desenvolvedores podem dispensar essa cláusula. Ele também traz definições que ajudam os usuários a entender os limites dos componentes usados em obras maiores, inclusive como avaliar qual cláusula seguir em caso de dúvida.
Como usar a GPLv3?
Para distribuir software sob licenças GPL, os usuários precisam obter uma declaração de cessão de direitos autorais de qualquer entidade superior, como um empregador ou uma instituição de ensino. Depois de obtê-la, cada arquivo deve incluir os avisos de direitos autorais adequados e indicar claramente quais versões os usuários podem utilizar.
Por fim, adicione um arquivo COPYING com o texto completo dos termos e condições da GNU GPL. Inclua também avisos de licença e uma declaração de permissão em cada arquivo. A exibição do aviso de direitos autorais na inicialização é opcional.
Posso usar a GPLv3 em software comercial?
Os desenvolvedores devem ter em mente que a GPL busca impedir a imposição de restrições adicionais ao software. Ao usar qualquer parte de um software licenciado sob a GPL, a versão modificada mantém os mesmos direitos. Portanto, o usuário deve disponibilizar o código-fonte atualizado para os usuários seguintes — mas somente se distribuir publicamente o software modificado. É possível vender software licenciado sob a GPL para outro usuário, mas não é permitido limitar o direito dessa pessoa de modificá-lo e distribuí-lo.
Outras licenças de código aberto
Outras licenças de código aberto incluem a licença MIT, do Massachusetts Institute of Technology, e a licença BSD de três cláusulas, da Berkeley Software Distribution. O principal objetivo da GPL é promover a colaboração e a melhoria contínua por uma comunidade de desenvolvedores. Todo software licenciado anteriormente sob a GPLv3 continuará livre, sem restrições à concorrência. Quando é preciso limitar um pouco essa liberdade — prática também conhecida como licenciamento de copyleft fraco —, a Licença Pública Geral Menor (LPGL) é mais adequada.

Com a LGPL, os usuários podem manter o código-fonte privado, pois ela exige apenas a divulgação das modificações feitas na biblioteca livre original. Assim, usuários posteriores podem substituir somente as partes do software licenciadas sob a GPL, sem poder alterar as partes proprietárias.
Gerencie componentes GPL com facilidade usando a Snyk
Agora que você já conhece a licença GPL, que tal saber mais sobre a ferramenta de gerenciamento de conformidade de licenças da Snyk, feita para desenvolvedores? Ela ajuda os desenvolvedores a manter ciclos ágeis de compilação e lançamento, enquanto identificam problemas de licenciamento logo no início do processo.
Comece a resolver desafios de capture the flag
Aprenda a resolver desafios de capture the flag assistindo sob demanda ao nosso workshop virtual introdutório.