Nota: questa è una domanda legale. Programmers.SE non è un forum legale, è un forum di programmazione. Mentre le persone qui sanno un bel po 'di programmazione, non sanno nulla della legge. Se vuoi fare una domanda legale, dovresti farlo in un forum legale, dove ci sono persone che sanno effettivamente qualcosa sull'argomento.
La GPL non dice nulla sul collegamento statico o dinamico. Non ha nemmeno dire nulla sul collegamento a tutti . Ogni avvocato o giudice con cui ho parlato afferma che la questione del collegamento statico e dinamico è completamente irrilevante.
Il copyright riguarda la creatività. Il collegamento statico vs. dinamico è un dettaglio di implementazione tecnica. Se qualcosa è staticamente o dinamicamente collegato non è un atto creativo, non può assolutamente cambiare lo stato del copyright di un'opera.
Nella tua domanda, parli di "lingue interpretate". Ma quel termine non ha senso: non esiste un linguaggio interpretato. Una lingua è un insieme astratto di regole e restrizioni matematiche. Una lingua non è interpretata o compilata. Una lingua è solo . Il termine "linguaggio interpretato" non è solo sbagliato , ma non è sensato . Se l'inglese fosse una lingua tipizzata, sarebbe un errore di tipo.
L'interpretazione e la compilazione sono tratti dell'interprete o del compilatore (duh!), Non della lingua. Ogni lingua può essere implementata con un interprete e ogni lingua può essere implementata con un compilatore. La maggior parte delle lingue ha entrambe. L'implementazione del linguaggio più moderno combina persino entrambi in un singolo motore di esecuzione.
L'implementazione di Rubinius Ruby, ad esempio, contiene un compilatore statico anticipato che compila il codice Ruby in codice byte Rubinius, un interprete che interpreta il codice byte Rubinius e un compilatore dinamico just-in-time che compila il codice byte Rubinius in LLVM IR, che l'infrastruttura LLVM a sua volta compila in codice macchina nativo. L'implementazione Ruby di MacRuby non contiene affatto un interprete, compila il codice Ruby direttamente in IR LLVM, quindi successivamente nel codice macchina nativo.
D'altra parte, ci sono interpreti per C o C ++.
Tutto questo è solo dettagli tecnici. È completamente irrilevante per il copyright.
Non ha senso che la violazione o meno del copyright di qualcun altro dipende dal fatto che una terza persona scelga di eseguire il programma con un interprete o compilarlo per primo.
La domanda è se un'opera sia derivata o meno da un'altra opera. Può essere collegato dinamicamente e comunque essere derivato, e può essere staticamente collegato e non derivato affatto.