Estoy escribiendo un paquete comercial que usa R (GPL) para su cálculo. Las preguntas frecuentes sobre GPL establecen claramente que los intérpretes de lenguaje de programación GPL no imponen restricciones de licencia al "programa" (archivo de texto con código R). Hasta aquí todo bien.
Parte del paquete se compila usando Rcpp, que también usa la GPL. El siguiente párrafo en las preguntas frecuentes dice:
Sin embargo, cuando el intérprete se extiende para proporcionar "enlaces" a otras instalaciones (a menudo, pero no necesariamente, bibliotecas), el programa interpretado está efectivamente vinculado a las instalaciones que utiliza a través de estos enlaces.
Se puede interpretar que R está proporcionando un enlace a las bibliotecas Rcpp ( Rcpp.dll
en el paquete de Windows). La suposición segura es que esto contamina mi código con la GPL, pero ¿es esta realmente la conclusión correcta?
Parte de mi incertidumbre es la estrechez del vínculo entre mi código y Rcpp.dll
. Hay referencias a Rcpp en el archivo dll, pero no soy lo suficientemente competente como para saber si se trata de referencias al entorno de desarrollo o de llamadas a símbolos dentro de la biblioteca Rcpp. Si es lo primero, entonces creo que la biblioteca Rcpp está siendo vinculada por R y no por mi biblioteca. Sin embargo, sospecho lo último, ya que Rcpp proporciona un pegamento (azúcar, en realidad) para simplificar la escritura y ejecución de códigos.
Hay innumerables discusiones relacionadas relacionadas con la GPL en la distribución de código. Para nombrar unos pocos:
- Dentro de una máquina virtual
- Exposición de propiedad intelectual.
- Consecuencias de las dependencias GPL
- Usando una biblioteca GPL en software comercial
NB: generalmente soy un gran defensor de OSS y he participado en el desarrollo y distribución en el pasado. Las preguntas sobre el "código de protección" a menudo provocan molestias de los programadores de código abierto, lo que a menudo resulta en acalorados debates sobre la filosofía del software. Reconozco el valor de ambos lados y quiero asegurarme de cumplir con la letra y (si es posible) el espíritu de las leyes. No estoy buscando un agujero en la licencia; Estoy buscando ayuda para interpretarlo y ponerlo en contexto.
¿Se requieren paquetes R que dependen de Rcpp para usar la GPL?