A Licença Pública Geral GNU (GPL) é uma das licenças mais influentes e amplamente utilizadas, criada pela Free Software Foundation (FSF) para garantir a liberdade de uso, modificação e distribuição de software. Desde sua primeira versão, ela passou por várias atualizações, sendo as mais importantes a GPLv2 e a GPLv3.
A primeira versão, hoje denominada GPLv1, foi lançada em 1989 e tinha por objetivo proteger as liberdades dos usuários, garantindo que o código-fonte fosse disponibilizado junto com o software distribuído, impedindo que os distribuidores fornecessem apenas os binários não modificáveis; assim, garantindo que os usuários pudessem estudá-lo e modificá-lo.
A segunda versão, GPLv2, foi lançada em 1991. Mantinha os mesmos objetivos da anterior, mais a cláusula “ou qualquer versão posterior”, permitindo que os desenvolvedores escolham versões futuras da licença.
A terceira, GPLv3, foi lançada em 2007. Além de manter os objetivos anteriores, pretendeu combater a “tivoização”, abordou questões de compatibilidade com outras licenças e incluiu cláusulas que proíbem o uso de patentes contra os usuários do software livre.
A GPLv3 gerou polêmica em seu lançamento devido a várias questões que abordou, refletindo preocupações da comunidade de software livre e as mudanças no cenário tecnológico.
A consulta pública para a GPLv3 durou quase dois anos e incluiu várias revisões, refletindo as divisões dentro da comunidade sobre como melhor proteger as liberdades dos usuários sem alienar desenvolvedores e empresas. Enquanto muitos apoiavam as novas proteções, outros temiam que as mudanças pudessem evitar contribuições valiosas para projetos de código aberto.
Uma das controvérsias na adoção da versão 3, como citado acima, foi evitar a tivoização, ou seja, quando o hardware não permite que você coloque uma versão modificada do software em uso e “trava”.
Outro tema polêmico são as cláusulas relacionadas a patentes e as proteções contra acordos de patentes e distribuidores de software livre. A licença buscou evitar que empresas pudessem processar usuários por violação de patentes ao usar software GPL, o que levou a críticas por ser vista como uma tentativa de restringir a liberdade comercial.
Alguns desenvolvedores e empresas consideraram a GPLv3 restritiva, pois exige que qualquer software derivado também seja licenciado sob os mesmos termos, ou que seja visto como uma barreira para a integração com o software proprietário. Isso levou a críticas sobre sua aplicabilidade em ambientes comerciais, onde a flexibilidade é frequentemente desejada
A cláusula de patentes na GPLv3 tem implicações significativas para desenvolvedores e usuários de software livre. Se um licenciado da GPLv3 processar outro por violação de patentes relacionadas ao software coberto por ela, sua licença será automaticamente revogada.
Isso significa que qualquer tentativa de usar patentes para restringir o uso do software resulta na perda dos direitos concedidos pela GPLv3. É o princípio da “revogação da licença”.
Cada contribuinte do software sob GPLv3 concede aos usuários uma licença não exclusiva e isenta de royalties sobre suas reivindicações essenciais de patente. Isso permite que os usuários façam, usem, vendam e modifiquem o software sem medo de ações judiciais relacionadas a patentes. É o princípio da “licença não exclusiva”.
Ao distribuir software modificado, os licenciados devem fornecer todas as licenças de patente permitidas para que os destinatários possam exercer seus direitos sob a GPLv3. Isso promove um ambiente mais colaborativo e seguro, onde os desenvolvedores podem trabalhar sem recebimento de litígio. É o princípio da “obrigação de compartilhar licenças”.
A cláusula de patentes oferece uma proteção robusta contra a “agressão” de patentes, permitindo que empresas e desenvolvedores utilizem e integrem software GPLv3 em seus produtos, sem o medo constante de serem processados por violação de patentes. É o princípio da “redução do risco legal”.
Em relação a cláusulas de patentes, na GPLv3 tem um impacto significativo na compatibilidade com outras licenças de software, especialmente em relação à GPLv2 e à Licença Apache 2.0.
A GPLv3 e a GPLv2 são incompatíveis e não se deve misturar códigos licenciados sob elas, em um único programa, pois elas possuem requisitos que não podem coexistir sem uma cláusula de compatibilidade explícita.
Projetos que desejam utilizar o código sob a GPLv3 podem não integrar diretamente o código sob a GPLv2, o que pode limitar a colaboração entre projetos que utilizam diferentes versões da GPL.
A GPLv3 é compatível com a Licença Apache 2.0, permitindo que o código sob essas duas licenças seja combinado em um único projeto. Isso é particularmente relevante para desenvolvedores que desejam utilizar bibliotecas ou componentes licenciados sob o Apache 2.0 em projetos GPLv3. Essa situação pode limitar a colaboração entre projetos que utilizam diferentes versões da licença.
O que pode ser atraente para desenvolvedores que desejam evitar conflitos legais ao usar software sob a Licença Apache 2.0, que também possui disposições relacionadas a patentes.
Para empresas que utilizam software livre, a proteção contra questões de patentes pode ser um fator decisivo na escolha entre usar software sob GPLv3 ou outras licenças. Isso pode influenciar decisões estratégicas sobre quais tecnologias adotar e como estruturar seus produtos
Mais um ponto de polêmica, e das grandes, foi em relação ao DRM (Digital Rights Management), as tecnologias e políticas utilizadas para controlar e gerenciar o acesso a conteúdos digitais protegidos por direitos autorais dos criadores de conteúdo, impedindo a distribuição não autorizada, científica e modificações de suas obras.
É uma ferramenta crucial na proteção dos direitos autorais no ambiente digital, mas sua aplicação levanta questões sobre equilíbrio entre proteção e acessibilidade.
A cláusula de DRM na GPLv3 também gerou muita discussão, devido às suas implicações sobre a liberdade dos usuários e a forma como o software pode ser utilizado.
Embora a GPLv3 não proíba o uso de DRM, estabelece que qualquer sistema de DRM implementado com código sob GPLv3 não pode ser considerado uma medida de proteção tecnológica eficaz. Isso implica que, se um usuário conseguir contornar o DRM, ele poderá distribuir seu próprio software sem medo de represálias legais, conforme previsto pela DMCA (Digital Millennium Copyright Act).
A GPLv3 também define que leis que criminalizam a desativação de DRM não podem ser usadas para impedir usuários de modificar o software. Isso significa que, independentemente das leis externas, os direitos garantidos pela licença prevalecem, permitindo que os usuários contornem restrições injustas.
A cláusula de DRM na GPLv3 ajuda a neutralizar essas tentativas de imposição de restrições adicionais por meio de acordos comerciais, garantindo que todos os usuários tenham acesso igual às liberdades do software.
Apesar de suas vantagens, alguns desenvolvedores ainda veem a GPLv3 como uma licença mais restritiva em comparação com alternativas mais permissivas, como a MIT ou BSD. Isso pode levar algumas organizações a hesitarem em adotar a GPLv3 para projetos que desejam manter maior flexibilidade.
Embora a GPLv3 continue a ser uma escolha popular para muitos projetos de software livre, por causa das proteções robustas e claramente legais, sua adoção enfrenta desafios relacionados à sensação de restrição e à coexistência com a GPLv2. A evolução da tecnologia e das práticas de desenvolvimento pode influenciar ainda mais sua adoção, ou não, nos próximos anos.
Fontes: links no texto