Nota: esta es una pregunta legal. Programmers.SE no es un foro legal, es un foro de programación. Si bien las personas aquí saben bastante sobre programación, no saben nada sobre la ley. Si desea hacer una pregunta legal, debe hacerlo en un foro legal, donde hay personas que realmente saben algo sobre el tema.
La GPL no dice nada sobre enlaces estáticos o dinámicos. Ni siquiera dice nada sobre vinculación en absoluto . Cada abogado o juez con el que hablé dice que el tema de la vinculación estática y dinámica es completamente irrelevante.
El derecho de autor es acerca de la creatividad. La vinculación estática frente a dinámica es un detalle técnico de implementación. Si algo está vinculado estática o dinámicamente no es un acto creativo, no puede cambiar el estado de copyright de una obra.
En su pregunta, habla de "idiomas interpretados". Pero ese término no tiene sentido: no existe un lenguaje interpretado. Un lenguaje es un conjunto abstracto de reglas y restricciones matemáticas. Un idioma no se interpreta ni se compila. Un idioma simplemente es . El término "lenguaje interpretado" no solo es incorrecto , no es sensitivo . Si el inglés fuera un idioma escrito, sería un error de tipo.
La interpretación y la compilación son rasgos del intérprete o compilador (¡duh!), No del lenguaje. Cada idioma puede implementarse con un intérprete, y cada idioma puede implementarse con un compilador. La mayoría de los idiomas tienen ambos. La implementación del lenguaje más moderno incluso combina ambos en un solo motor de ejecución.
La implementación de Rubinius Ruby, por ejemplo, contiene un compilador estático anticipado que compila el código Ruby en el código de bytes Rubinius, un intérprete que interpreta el código de bytes Rubinius y un compilador dinámico justo a tiempo que compila el código de bytes Rubinius en LLVM IR, que la infraestructura LLVM a su vez compila en código máquina nativo. La implementación de Ruby de MacRuby no contiene un intérprete, compila el código de Ruby directamente a LLVM IR y luego al código de máquina nativo.
Por otro lado, hay intérpretes para C o C ++.
Todo esto son solo detalles técnicos. Es completamente irrelevante para los derechos de autor.
Simplemente no tiene sentido que si alguien viola o no los derechos de autor de otra persona depende de si una tercera persona elige ejecutar el programa con un intérprete o compilarlo primero.
La pregunta es si un trabajo se deriva o no de otro trabajo. Se puede vincular dinámicamente y seguir derivando, y se puede vincular estáticamente y no derivar en absoluto.