Un pacchetto dipendente da Rcpp richiede una licenza GPL?

7

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:

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?

    
posta r2evans 28.08.2014 - 22:30
fonte

2 risposte

5

Sì, se colleghi il tuo codice alla libreria Rcpp e distribuisci il lavoro derivato, il tuo pacchetto sarà quasi certamente soggetto alla GPL. Le risposte a questa domanda correlata si applica alla tua situazione.

A volte, l'autore di un lavoro offrirà una scelta tra licenze commerciali e open-source (con una tariffa spesso richiesta per l'opzione commerciale), ma non sembra che questo sia il caso di Rcpp.

    
risposta data 29.08.2014 - 09:31
fonte
12

Credo che i pacchetti R che dipendono da Rcpp siano non richiesti per usare GPL, ma piuttosto per usare una licenza compatibile GPL.

La lettura della Rcpp-FAQ sezione 1.5 afferma chiaramente che:

you are free to license your work under whichever terms you find suitable (provided they are GPL-compatible, see the FSF site for details).

Ciò significherebbe che se si sceglie di utilizzare, ad esempio, la licenza della clausola BSD-3, è perfettamente adatto a farlo.

Per aggiungere un avvertimento importante: come Dirk ha sottolineato nei commenti, l'aggregazione di codice concesso in licenza compatibile GPL e codice con licenza GPL dovrà essere GPL-ed. Si può trovare in gnu.org una buona spiegazione di cosa sia un aggregato e cosa no. Nota che quando rilasci un pacchetto distribuisci solo il tuo codice, ecco perché puoi utilizzare qualsiasi licenza compatibile GPL e non esclusivamente GPL.

    
risposta data 04.05.2015 - 06:31
fonte

Leggi altre domande sui tag