Sto scrivendo un pacchetto commerciale che usa R (GPL) per il suo calcolo. Le Domande frequenti sulla GPL affermano chiaramente che gli interpreti di linguaggio di programmazione GPLed non impongono restrizioni di licenza al "programma" (file di testo con codice R). Fin qui, tutto bene.
Parte del pacchetto è compilata usando Rcpp, che usa anche la GPL. Il seguente paragrafo nelle FAQ recita:
However, when the interpreter is extended to provide "bindings" to other facilities (often, but not necessarily, libraries), the interpreted program is effectively linked to the facilities it uses through these bindings.
Si può interpretare che R sta fornendo un binding alle librerie Rcpp ( Rcpp.dll
nel pacchetto windows). L'ipotesi di sicurezza è che questo tinge il mio codice con la GPL, ma questa è davvero la conclusione giusta?
Parte della mia incertezza è la tenuta del collegamento tra il mio codice e Rcpp.dll
. Ci sono riferimenti a Rcpp nella DLL, ma non sono abbastanza esperto da sapere se questi sono riferimenti all'ambiente di sviluppo o alle chiamate posizionate ai simboli all'interno della libreria Rcpp. Se il primo, allora credo che la libreria Rcpp sia collegata da R e non dalla mia libreria. Sospetto quest'ultimo, però, dal momento che Rcpp fornisce una colla (zucchero, in realtà) per semplificare la scrittura e l'esecuzione del codice.
Ci sono innumerevoli discussioni correlate relative alla GPL nella distribuzione del codice. Per citarne alcuni:
- All'interno di un virtuale macchina
- Esposizione di proprietà intellettuale
- Conseguenze delle dipendenze GPL
- Uso di una libreria GPL nel software commerciale
NB: in genere sono un grande sostenitore dell'OSS e ho partecipato allo sviluppo e alla distribuzione in passato. Le domande sul "codice di protezione" spesso sollevano manette di programmatori open-source, spesso sfociando in accesi dibattiti sulla filosofia del software. Riconosco il valore da entrambe le parti e voglio assicurarmi di soddisfare la lettera e (se possibile) lo spirito delle leggi. Non sto cercando un buco nella licenza; Sto cercando aiuto nell'interpretazione e nel contestarlo.
I pacchetti R che dipendono da Rcpp sono richiesti per utilizzare la GPL?