Vender exceções à GNU GPL
por Richard StallmanVender exceções significa que o detentor dos direitos autorais do código o lança para o público em geral sob uma licença de software livre válida e, em seguida, oferece separadamente aos usuários a opção de pagar pela permissão para usar o mesmo código em termos diferentes, por exemplo, termos que permitem sua inclusão em formulários privativos.
Devemos distinguir a prática de vender exceções de algo crucialmente diferente: extensões ou versões puramente privativas de um programa livre. Essas duas atividades, mesmo que praticadas simultaneamente por uma empresa, são questões distintas. Na venda de exceções, o mesmo código ao qual a exceção se aplica está disponível para o público em geral como software livre. Uma extensão ou uma versão modificada que está disponível apenas sob uma licença privativa é um software privativa, pura e simples, e tão errado quanto qualquer outro software privativo. Este artigo trata de casos que envolvem estritamente e apenas a venda de exceções.
Devemos também distinguir venda de exceções de licenciamento duplo, o que significa liberar o programa sob uma escolha de licenças. Com o licenciamento duplo, cada usuário pode escolher usar o programa em qualquer uma das licenças ou em ambas em paralelo para atividades que se enquadrem em ambas. (Assim, os redistribuidores normalmente repassam ambas as licenças.) Por exemplo, Perl foi distribuído por muitos anos sob uma licença dupla cujas alternativas eram a GNU GPL e a Licença Artística. Isso não é mais necessário porque a versão 2 da Licença Artística é compatível com a GNU GPL.
Na venda de exceções, os termos da exceção não são uma segunda licença sob a qual o programa é lançado. Em vez disso, eles estão disponíveis apenas para os usuários que compram uma exceção. A única licença que o lançamento traz é a GNU GPL, então não é uma licença dupla.
Devemos distinguir a venda de exceções do tipo usual de “exceção à GPL” que simplesmente dá a todos os usuários permissão para ir além das condições da GPL de alguma forma específica. Essas exceções são regidas pela seção 7 da GNU GPL. A venda de exceções é legalmente independente da GNU GPL. Para evitar confusão, é melhor não se referir às exceções vendidas como “exceções à GPL”.
Considerei a venda de exceções aceitável desde os anos 1990 e, ocasionalmente, sugeri isso às empresas. Às vezes, essa abordagem tornou possível que programas importantes se tornassem software livre.
O desktop KDE foi desenvolvido na década de 90 com base na biblioteca Qt. Qt era um software privativo e a TrollTech cobrava pela permissão para incorporá-lo em aplicativos privativos. A TrollTech permitia o uso gratuito do Qt em aplicativos livres, mas isso não o tornava um software livre. Sistemas operacionais completamente livres, portanto, não podiam incluir Qt, então eles também não podiam usar o KDE.
Em 1998, a gerência da TrollTech reconheceu que poderia fazer o software Qt livre e continuar cobrando por permissão para incorporá-lo em software privativo. Não me lembro se a sugestão veio de mim, mas certamente fiquei feliz em ver a mudança, que tornou possível usar o Qt e, portanto, o KDE no mundo do software livre.
Inicialmente, eles usaram sua própria licença, a Q Public License (QPL) – bastante restritiva para as licenças de software livre, e incompatível com a GNU GPL. Mais tarde, eles mudaram para a GNU GPL; Acho que havia explicado a eles que funcionaria para esse propósito.
A venda de exceções depende fundamentalmente do uso de uma licença protegida com copyleft, como a GNU GPL, para o lançamento de software livre. Uma licença protegida com copyleft permite a incorporação em um programa maior apenas se todo o programa combinado for lançado sob essa licença; é assim que ele garante que as versões estendidas também sejam livres. Assim, os usuários que desejam tornar o programa combinado privativo precisam de permissão especial. Somente o detentor dos direitos autorais pode conceder isso, e vender exceções é um estilo de fazê-lo. Outra pessoa, que recebeu o código sob a GNU GPL ou outra licença protegida com copyleft, não pode conceder uma exceção.
Quando ouvi pela primeira vez sobre a prática de venda de exceções, perguntei a mim mesmo se a prática é ética. Se alguém compra uma exceção para incorporar um programa em um programa privativo maior, ele está fazendo algo errado (ou seja, criando um software privativo). Isso significa que o desenvolvedor que vendeu a exceção também está fazendo algo errado?
Se essa implicação fosse válida, também se aplicaria ao lançamento do mesmo programa sob uma licença de software livre sem copyleft, como a licença X11. Isso também permite essa incorporação. Portanto, temos que concluir que é errado lançar qualquer coisa sob a licença do X11 – uma conclusão que considero inaceitavelmente extrema – ou rejeitar a implicação. Usar uma licença sem copyleft é fraco e geralmente uma escolha inferior, mas não está errada.
Em outras palavras, a venda de exceções permite a incorporação limitada do código em software privativo, mas a licença do X11 vai ainda mais longe, permitindo o uso ilimitado do código (e versões modificadas dele) em software privativo. Se isso não tornar a licença do X11 inaceitável, não tornará as exceções de venda inaceitáveis.
Existem três razões pelas quais a FSF não pratica a venda de exceções. Uma é que não leva ao objetivo da FSF: garantir liberdade para cada usuário de nosso software. Foi para isso que escrevemos a GNU GPL, e a maneira mais completa de conseguir isso é lançar sob a GPL versão 3 ou posterior e não permitir a incorporação em software privativo. Vender exceções não faria isso, assim como o lançamento sob a licença X11 não faria. Normalmente, não fazemos nenhuma dessas coisas: lançamos apenas sob a GPL.
Outra razão pela qual lançamos apenas sob a GPL é para não permitir extensões privativas que apresentariam vantagens práticas sobre nossos programas livres. Os usuários para os quais a liberdade não é um valor podem escolher essas versões não livres em vez dos programas livres nos quais se baseiam – e perder sua liberdade. Não queremos encorajar isso.
Existem casos pontuais em que, por razões específicas de estratégia, decidimos que usar uma licença mais permissiva em um determinado programa é melhor para a causa da liberdade. Nesses casos, liberamos o programa para todos sob essa licença permissiva.
Isso se deve a outro princípio ético que a FSF segue: tratar todos os usuários da mesma forma. Uma campanha idealista pela liberdade não deve discriminar, por isso a FSF se compromete a dar a mesma licença a todos os usuários. O FSF nunca vende exceções; seja qual for a licença ou licenças sob as quais lançarmos um programa, ela estará disponível para todos.
Mas não precisamos insistir para que as empresas sigam esse princípio. Considero a venda de exceções uma coisa aceitável para uma empresa, e vou sugerir quando apropriado como uma forma de lançar programas.