Estou escrevendo um pacote comercial que usa R (GPL) para o seu cálculo. As Perguntas frequentes da GPL indicam claramente que os intérpretes da linguagem de programação GPL não impõem restrições de licenciamento ao "programa" (arquivo de texto com código R). Por enquanto, tudo bem.
Parte do pacote é compilada usando o Rcpp, que também usa a GPL. O próximo parágrafo da FAQ diz:
No entanto, quando o intérprete é estendido para fornecer "ligações" a outras instalações (frequentemente, mas não necessariamente, bibliotecas), o programa interpretado é efetivamente vinculado às instalações que utiliza através dessas ligações.
Pode-se interpretar que R está fornecendo uma ligação às bibliotecas Rcpp ( Rcpp.dll
no pacote do Windows). A suposição segura é que isso atrapalha meu código com a GPL, mas essa é realmente a conclusão correta?
Parte da minha incerteza é a rigidez do link entre meu código e Rcpp.dll
. Existem referências ao Rcpp na dll, mas não sou proficiente o suficiente para saber se essas são referências ao ambiente de desenvolvimento ou às chamadas que estão sendo feitas para símbolos na biblioteca do Rcpp. Se for o primeiro, acredito que a biblioteca Rcpp está sendo vinculada pelo R e não pela minha biblioteca. Eu suspeito que este último, no entanto, já que o Rcpp fornece uma cola (açúcar, na verdade) para simplificar a escrita e a execução do código.
Existem inúmeras discussões relacionadas à GPL na distribuição de código. Para nomear alguns:
- Dentro de uma máquina virtual
- Exposição de propriedade intelectual
- Consequências das dependências da GPL
- Usando uma biblioteca GPL em software comercial
NB: Geralmente sou um grande defensor do OSS e participei do desenvolvimento e distribuição no passado. Questões de "proteção de código" geralmente causam problemas aos programadores de código aberto, resultando frequentemente em debates acalorados sobre a filosofia do software. Reconheço valor de ambos os lados e quero garantir que estou cumprindo a letra e (se possível) o espírito das leis. Não estou pescando uma brecha na licença; Estou procurando ajuda para interpretar e colocar no contexto.
Os pacotes R que dependem do Rcpp são necessários para usar a GPL?