Esta tradução pode não refletir as alterações feitas desde 2022-01-02 ao original em Inglês.

Você deveria dar uma olhada nas alterações. Por favor, veja o README de traduções para informações sobre a manutenção de traduções a este artigo.

Por que Atualizar para GPLv3

por Richard Stallman

A versão três da Licença Pública Geral GNU (GNU GPL) foi lançada, possibilitando a pacotes de software livre uma atualização da GPL versão dois. Este artigo explica por que é importante fazer a atualização de licença.

Em primeiro lugar, é importante observar que a atualização é uma escolha. A GPL versão 2 vai continuar sendo uma licença válida e nenhum desastre vai acontecer se alguns programas continuarem sob a GPLv2 enquanto outros avançarem para a GPLv3. Essas duas licenças são incompatíveis, mas isso não é um problema sério.

Quando dizemos que a GPLv2 e a GPLv3 são incompatíveis, significa que não há um meio legal de combinar código sob a GPLv2 com código sob a GPLv3 em um único programa. É assim porque ambas a GPLv2 e a GPLv3 são licenças copyleft: cada uma delas diz: “Se você incluir código sob esta licença em um programa maior, o programa maior deve estar sob esta licença também”. Não há como torná-las compatíveis. Nós poderíamos adicionar uma cláusula de compatibilidade com a GPLv2 na GPLv3, mas isso não seria o suficiente, porque a GPLv2 precisaria ter uma cláusula similar.

Felizmente, incompatibilidade entre licenças somente importa quando você quiser usar, mesclar ou combinar código de dois programas diferentes em um único programa. Não há problema em ter programas cobertos pela GPLv3 e programas cobertos pela GPLv2 lado a lado em um sistema operacional. Por exemplo, a licença TeX e a licença Apache são incompatíveis com a GPLv2, mas isso não nos impede de usar o TeX e o Apache no mesmo sistema com Linux, Bash e GCC. É assim porque todos são programas separados. Do mesmo modo, se Bash e GCC mudarem para a GPLv3, enquanto o Linux continuar sob a GPLv2, não há nenhum conflito.

Manter um programa sob a GPLv2 não criará problemas. A razão para migrar são os problemas existentes que a GPLv3 vai resolver.

Um grande perigo que a GPLv3 vai bloquear é a tivoização. Tivoização significa computadores (chamados de “appliances”) que contêm software coberto pela GPL que você não pode alterar, porque o dispositivo se desliga ao detectar software modificado. O motivo usual para a tivoização é que o software apresenta características que o fabricante acredita que muitas pessoas não vão gostar. Os fabricantes destes computadores tomam vantagem da liberdade que o Software Livre oferece, mas eles não deixam você fazer o mesmo.

Alguns argumentam que a competição entre estes dispositivos em um mercado livre deveria ser o suficiente para manter características maliciosas em um nível reduzido. Talvez a competição sozinha evite funções arbitrárias e sem sentido, como “Deve desligar entre as 13h e 17h toda terça-feira”, mas mesmo assim, a escolha dos mestres não é liberdade. Liberdade significa que você controla o que o seu software faz, não apenas que você pode implorar ou ameaçar alguém que decide por você.

Na área crucial da Gestão Digital de Restrições (em inglês, Digital Restrictions Management - DRM) – funções maliciosas projetadas para restringir seu uso dos dados no seu computador – a competição não ajuda porque a competição relevante é proibida. Sob o Digital Millenuium Copyright Act e leis similares, é ilegal nos EUA e em muitos outros países, distribuir reprodutores de DVD a não ser que eles restrinjam o usuário de acordo com as regras oficiais da conspiração DVD (seu site é http://www.dvdcca.org/, mas as regras não parecem estar publicadas lá). O público não pode rejeitar a DRM através da compra de reprodutores não DRM porque nenhum está disponível. Não importa quantos produtos estejam disponíveis para a sua escolha, todos eles tem algemas digitais equivalentes.

A GPLv3 garante que você é livre para remover as algemas. Ela não proíbe o DRM, ou qualquer outro tipo de funcionalidade. Ela não coloca limites nas funcionalidades substantivas que você pode adicionar a um programa ou remover dele. Ao contrário. Ela garante que você é tão livre para remover funcionalidades maliciosas quanto o distribuidor da sua copia e livre para adicioná-las. Tivoização é o modo que eles encontraram para negar sua liberdade. Para proteger sua liberdade, a GPLv3 proíbe a tivoização.

O banimento da tivoização aplica-se a qualquer produto que seja usado pelos consumidores, mesmo ocasionalmente, espera-se que a GPLv3 tolere a tivoização somente para produtos que são quase exclusivamente voltados para negócios e organizações.

Outra ameaça que a GPLv3 obstrui são os acordos de patentes como o acordo Novell-Microsoft. A Microsoft deseja utilizar suas milhares de patentes para fazer com que os usuários do GNU/Linux paguem pelo privilégio de uso à própria Microsoft, e fez esse acordo para tentar conseguir isso. Em contrapartida, o acordo oferece aos clientes da Novell proteção limitada das patentes da Microsoft.

A Microsoft cometeu alguns poucos erros no acordo Novell-Microsoft, e a GPLv3 foi projetada para voltar esses erros contra a Microsoft, estendendo a proteção limitada a toda comunidade. Para obtermos essa vantagem, primeiro, os programas precisam usar a GPLv3.

Os advogados da Microsoft não são estúpidos, e na próxima vez eles podem criar uma forma de evitar esses erros. No entanto, a GPLv3 diz que eles não terão uma “próxima vez”. Lançar um programa sob a GPL versão 3 cria uma proteção contra tentativas futuras da Microsoft de fazer a coleta de royalties dos usuários de programas.

A GPLv3 também fornece uma proteção de patentes explícita para usuários contra colaboradores e redistribuidores. Com a GPLv2, os usuários dependem de uma licença de patentes implícita para assegurarem-se de que a companhia que está fornecendo uma cópia não os processará, ou processará as pessoas para quem ele está redistribuindo uma cópia, por quebra de patentes.

A licença de patente explícita na GPLv3 não vai tão longe quanto gostaríamos. Idealmente nós poderíamos fazer com que todo mundo que redistribui um código coberto pela GPL desistisse de todas as suas patentes de software, junto a todos que não distribuem código coberto pela GPL, pois deve haver nenhuma patente de software. Patentes de software é um sistema absurdo e vicioso que coloca todos os desenvolvedores de software sob perigo de processos por companhias das quais eles nunca ouviram falar, assim como de todas as megacorporações do setor. Normalmente programas grandes combinam milhares de ideias, então não será surpresa se eles contiverem ideias cobertas por centenas de patentes. As megacorporações colecionam milhares de patentes e as usam para perturbar pequenos desenvolvedores. Patentes sempre obstruem o desenvolvimento de software livre.

A única forma de fazer o desenvolvimento de software segure é abolir as patentes de software, e nós pretendemos atingir esse ponto algum dia. Mas nós não podemos fazer isso usando uma licença de software. Qualquer programa, livre ou não, pode ser morto por uma patente de software nas mãos de um terceiro não relacionado, e uma licença de software não pode impedir isso. Somente decisões judiciais, ou mudanças na lei de patentes podem fazer o desenvolvimento de software seguro das ameaças das patentes. Se nós tivéssemos tentado fazer isso com a GPLv3, falharíamos.

Consequentemente, a GPLv3 busca limitar e direcionar o perigo. Em particular, nós tentamos salvar o software livre de um destino pior que a morte: ser efetivamente transformado em software privativo via patente. A licença explícita de patentes da GPLv3 garante que companhias que usem a GPL para dar aos seus usuários as quatro liberdades não poderão desistir e usar suas patentes para dizer a alguns usuários “Isto não inclui você”. Isto também os impedirá de criar conluios com outros detentores de patentes para fazer esse tipo de coisa.

Vantagens extras da GPLv3 incluem melhor internacionalização, terminação mais delicada, suporte ao BitTorrent e compatibilidade com a licença Apache. Por tudo e em tudo, todas as razões para fazer a atualização.

Mudanças provavelmente não cessarão após liberação da GPLv3. Se novas ameaças às liberdades dos usuários surgirem, nós teremos que desenvolver a GPL versão 4. É importante termos certeza que os programas não terão problemas em atualizar para a GPLv4, se e quando nós a escrevermos.

Uma forma de fazer isso é lançar seu programa sob “GPL versão 3 e qualquer versão posterior”. Outra forma é se todos os contribuidores de um programa nomear um procurador que decidirá sobre a atualização para uma versões futuras da GPL. O terceiro caminho é que todos os contribuidores atribuam o direito de cópia (copyright) a um único detentor dos direitos de cópia, o qual estará apto a decidir pela atualização de versão. De uma forma ou de outra, os programas devem prover essa flexibilidade para versões futuras da GPL.