Licenza Lisp CLISP comune - può forzare il mio codice a essere rilasciato sotto licenza GPL?

3

Mi sono imbattuto su CLISP: * "tutto-ma-forza il tuo codice a essere rilasciato come GPL" qui , quando cerchi una buona implementazione Common Lisp.

Come può un linguaggio imporre una licenza sul tuo codice? È solo FUD?

Te lo chiedo perché in realtà non parlo "legalese" quindi forse c'è qualcosa che non capisco qui ...

Ho capito che la lingua è GPL e che compila in una forma di bytecode, ma non posso avere il mio programma con le licenze che voglio?

MODIFICATO: CMUCL - > CLISP (avevo la mia testa nel posto sbagliato quando ho scritto la domanda per la prima volta, scusa ...)

    
posta NeuronQ 20.01.2013 - 10:43
fonte

2 risposte

6

Sembra che la dichiarazione FindingLisp possa essere errata o almeno semplificato. Dice "Come ho detto in precedenza, mi piace molto CLISP, e lo uso per lo sviluppo su Windows, ma la licenza non è adatta a tutti i codici poiché tutto-ma-forza il tuo codice a essere rilasciato come GPL." Tuttavia, il Riepilogo CLISP dice, in parte: "È possibile distribuire applicazioni proprietarie commerciali compilate con CLISP, vedere il file COPYRIGHT nella distribuzione CLISP. "

Dopo averlo tolto di mezzo ...

Questo è un problema tecnico con Common LISP. (Non so se sia un problema con altri sapori di LISP. Sospetto che lo sia.)

C'è questa strana stranezza sul Common LISP (di cui CLISP è solo un'implementazione). Contiene una funzione, EVAL, che può valutare ANY espressione LISP ben formata, e contiene un compilatore, entrambi disponibili AT RUN TIME. In determinate condizioni, al runtime Common LISP potrebbe essere richiesto di compilare una funzione nuova di zecca, creata al volo, come parte dell'esecuzione dell'applicazione.

Per questo motivo, un eseguibile binario compilato (la tua applicazione) deve includere una grande porzione dell'implementazione comune di LISP, in modo che possa rendere EVAL e il compilatore disponibili per l'applicazione. A quel punto, stai effettivamente collegando la tua applicazione con il loro codice, per fare il tuo binario, e ridistribuisci il codice THEIR insieme al tuo codice, e ti è permesso solo di ridistribuire il codice THEIR nelle condizioni imposte dalla licenza THEIR.

Nel caso di CLISP, questa è la GPL. Se non vuoi GPL il tuo codice, usa un'implementazione diversa (presumibilmente commerciale) di Common LISP (mi viene in mente Allegro) e paghi per la licenza di runtime.

Questo è spiegato in modo molto dettagliato nei primi capitoli di Paul Graham "On Lisp" .

    
risposta data 20.01.2013 - 13:13
fonte
0

Semplificato: se vuoi distribuire un'applicazione che hai scritto in base a CLISP, allora dovresti pubblicare il tuo codice sotto la GPL. Questa è una conseguenza del modo in cui funziona un tipico sistema Lisp: carica il codice in un unico grande runtime e quindi estende / modifica il sistema Lisp.

Esistono varie implementazioni Common Lisp pubblicate sotto altre licenze.

Clozure CL, ad esempio, è pubblicato sotto LLGPL, SCBL è di dominio pubblico con parti concesse in licenza come BSD, ...

    
risposta data 20.01.2013 - 13:59
fonte

Leggi altre domande sui tag