Novidades na GPLv3

Alexandre Oliva

Esta é a versão que submeti para publicação na [GNU/]Linux Magazine Brasil #33. Não é idêntica à versão publicada, ?leia sobre algumas diferenças.

A GNU GPL é a licença de software livre preferida dentre os desenvolvedores. Mais de dois terços de todos os softwares livres a utilizam. Exemplos proeminentes são o GCC, o GNU Emacs e o núcleo Linux (não confundir com sistema operacional GNU+Linux, com programas sob várias licenças). A grande maioria desses softwares permite relicenciamento sob a GPLv3, lançada em 29 de junho último, daí a importância de saber o que ela traz de novo.

A idéia da GPL

Software é livre quando o usuário tem quatro liberdades fundamentais: (0) rodar o programa para qualquer propósito, (1) estudá-lo e adaptá-lo às suas necessidades, (2) redistribuí-lo, da forma como foi recebido e (3) modificá-lo e distribuir as modificações.

A GPL foi a primeira licença copyleft, que usa direito autoral não só para conceder permissões, mas também para garantir que o programa permaneça livre, como explica seu preâmbulo. Já na GPLv1, explicitava o respeito do autor à liberdades do usuário, porém condicionando o gozo de algumas das liberdades ao respeito às liberdades dos demais usuários do software. Viola a licença quem distribui o programa impondo restrições adicionais a quem o receba direta ou indiretamente.

Potenciais restrições, há muitas. Negar acesso ao código fonte (a forma mais adequada para modificar o software) ou usar termos de licenciamento potencialmente mais restritivos são duas já explicitamente proibidas na GPLv1. Na GPLv2, foi adicionada a cláusula "liberdade ou morte", explicando que qualquer obrigação de restringir a liberdade de outros implica não poder distribuir o programa. Isso coibia a distribuição sob licenças restritivas de patentes, ou sob quaisquer outras condições que impedissem a distribuição "sem restrições adicionais", proibição implícita na GPLv1, cláusula 6.

"Restrições adicionais" na GPLv3

A GPLv3 agrega vários exemplos de restrições adicionais que ferem o princípio do preâmbulo das GPLs de que os direitos concedidos na GPL acompanham a obrigação de não negá-los a outros usuários do programa.

Distribuir software e depois limitar seus usos através de patentes nele implementadas é uma restrição adicional que, pela lei norte-americana, a GPLv2 já proibia de forma implícita. Na GPLv3, a licença de patente passou a ser explícita. O uso de patentes para impor restrições adicionais às liberdades de qualquer outro usuário com relação ao programa, modificado ou não, viola a licença.

Leis draconianas que criminalizam a desativação de DRM (Digital Restrictions Management, ou Gestão Digital de Restrições: são medidas técnicas de controle de acesso a informação em formato digital), mesmo para usos permitidos por lei, também não podem ser usadas para impedir usuários de modificar o software GPL.

O uso de assinaturas digitais para impedir a execução de versões modificadas do software GPL que acompanha dispositivos como o vídeo-cassete digital TiVo também é restrição adicional. Para quem acredita que os termos "sem restrições adicionais" da GPLv2 não proibiam a prática da Tivoização, a GPLv3 esclarece que o usuário deve receber, juntamente com o código fonte, informação de instalação necessária para o pleno gozo das liberdades. Vale ressaltar que software em ROM em princípio não caracteriza restrição adicional, e a GPLv3 explicitamente permite essa prática.

Terceirização não exime as partes do cumprimento das obrigações da GPL. Novell e Microsoft fecharam um acordo em que uma distribui o software e a outra impõe restrições, através do licenciamento restritivo de supostas patentes. Nessas condições, Novell seria impedida de distribuir o software, mas a GPLv3 abre uma exceção para que ela possa distribuir software GPLv3 em nome da Microsoft, assim estendendo a licença de patentes para todos. A exceção não vale para acordos posteriores.

Ou seja, a GPLv3 não impõe de fato novas restrições. Ao contrário, deixa claro que novas formas de restrição não fogem do escopo de "sem restrições adicionais".

Mais vantagens

Explicitando todos esses casos de restrições adicionais não permitidas, a GPLv3 traz muito mais segurança para o usuário e mais facilidade para o titular do programa coibir tais infrações da licença. Mas há várias outras novidades da GPLv3 para trazer tranqüilidade ao usuário e ao desenvolvedor.

Quem recebe software livre em protocolos P2P, como bittorrent, pode estar violando a GPLv2, pois está também distribuindo o programa recebido, provavelmente desacompanhado dos fontes. A GPLv3 explicitamente permite essa forma de distribuição, sem exigir aceitação dos termos da licença, desde que a informação sobre como obter os fontes correspondentes seja disponibilizada junto à oferta do binário. A GPLv3 também flexibiliza a exigência de oferta de fontes em mídia tangível, permitindo a oferta dos fontes para download, inclusive em servidores mantidos por terceiros. Só não exime o distribuidor dos binários da responsabilidade de providenciar os fontes para o usuário, caso o servidor sugerido deixe de oferecê-los.

A GPLv3 introduz compatibilidade com a conhecida licença Apache 2.0, assim como com a menos conhecida GNU Affero GPL, uma licença que exige a oferta dos fontes mesmo para usuários remotos do software, como por exemplo software que roda num servidor na Internet.

Advogados vão apreciar o ar mais "legalês" da GPLv3, a redução de ambigüidades, a internacionalização alcançada evitando o uso de termos específicos da lei norte-americana de direito autoral, a permissão para adicionar termos de ausência de garantia e os dois mecanismos de perdão de infração acidental: cumprimento da licença em até 30 dias após a primeira notificação de infração, ou cumprimento por 60 dias consecutivos após a última infração, se não houver notificação antes do fim do prazo.

Balanço positivo

Ainda que certa cautela seja justificável até que o entendimento da nova licença se consolide, temer a GPLv3 só faz sentido para quem pretendia modificar e/ou distribuir software sob a GPL e impor restrições adicionais aos demais usuários, esperando que prevalecessem interpretações da GPLv2 favoráveis a seus propósitos.

O espírito da GPL sempre foi garantir que o software permaneça livre para todos os seus usuários, inclusive para exploração comercial. Quem não compartilha esse espírito é tão livre para se abster de modificar ou distribuir software sob a GPL quanto sempre foi.

Com a GPLv3, você tem ainda mais garantias de que nenhum dos desenvolvedores ou distribuidores do software vá impedi-lo de executar, modificar ou distribuir o software, enquanto você estiver disposto a também respeitar as liberdades dos demais usuários do software. Se suas atividades dependem desse software, essa segurança adicional há de ser muito bem-vinda.


Copyright 2007 Alexandre Oliva

Permite-se distribuição, publicação e cópia literal da íntegra deste documento, sem pagamento de royalties, desde que sejam preservadas a nota de copyright, a URL oficial do documento e esta nota de permissão.

http://www.fsfla.org/svnwiki/blogs/lxo/pub/gplv3-novidades