En primer lugar, no soy un abogado. Pero he estudiado muchas licencias y comprendo cuestiones relacionadas con ellas.
Segundo, sé que esta es una pregunta antigua, pero creo que todavía es un punto de confusión y preocupación. Si NO ES un punto de preocupación, debería serlo. Elegir una licencia es un gran problema que no se puede cambiar trivialmente por el camino, especialmente si hay múltiples contribuyentes involucrados.
Desafortunadamente,
(L) GPL se escribió teniendo en cuenta C / C ++. Habla de "Código fuente", "Código de objeto", "Enlace dinámico", "Enlace estático", "Compiladores" e "Intérprete de código de objeto". Por lo tanto, traducir esto para otros idiomas que no siguen las mismas técnicas de compilación (como el código de bytes de Java, la compilación justo a tiempo de Python o la naturaleza interpretada de Javascript) requiere algunas suposiciones y suposiciones. Cuando se habla de la ley, es decir, pensar en eventuales casos judiciales en los que dos partes discuten, no tener una distinción clara es una MALA COSA.
Un código estándar con licencia GPL es bastante sencillo en su intención. Se espera que cualquier persona que use ese código libere su código a todos los usuarios cuando lo distribuyan o vendan. Ese es el virus GPL que Richard Stallman quiso crear e hizo de manera clara y limpia.
La LGPL fue originalmente un intento de permitir una "biblioteca" que no sería viral. Pero aún querían que el usuario final fuera capaz de reemplazar la biblioteca por su cuenta, de ahí la distinción entre enlaces "estáticos" y "dinámicos": el usuario podría cambiar a una biblioteca diferente con enlaces dinámicos, por lo que no sería necesario tener licencia como GPL. Y un enlace estático requería que el usuario fuera GPL. La licencia realmente habla de "archivos de encabezado", que están claros en C / C ++ pero obviamente no están claros cuando estás en los mundos de Java, Python, Javascript, etc. Así que la L ("biblioteca") de LGPL está embarrada, en el mejor de los casos.
Esto llega al meollo del asunto. Algo que no esté claro es MALO en el mundo de las leyes. Si estoy pensando en construir algo usando el componente GPL o LGPL, quiero estar seguro de cuál es mi posición legal en el futuro si llego a la corte. Pero a partir de hoy, no estoy seguro porque realmente no ha habido buenos casos judiciales que establezcan un precedente legal, solo argumentos intelectuales en foros como este.
Aquí es donde la excepción Classpath es invaluable. Indica claramente que el código bajo la licencia es (L) GPL, pero cualquier cosa que use ese código puede seguir la licencia que desee. Sin dudas, quejas o peros. Si cambia el código principal (por ejemplo, arreglando errores), todavía tiene que liberar esos cambios como parte de la GPL. Pero el uso NO te infecta.
Desde una perspectiva empresarial, entiendo por qué algunos no quieren tocar el código GPL con un polo de 10 '. La posición legal no está clara y el negocio podría verse afectado una década después, cuando finalmente se establezca el precedente legal. O podrían estar atrapados en la corte durante años luchando para establecer el precedente legal. En cualquier caso, simplemente no quieren arriesgar el costo de esa batalla. La adición de la cláusula de excepción Classpath elimina las preguntas legales y evita cualquier caso judicial (grave) potencial.
Entonces, para mí, la excepción Classpath es muy diferente a la LGPL. Es una forma legalmente clara de dibujar una línea brillante que permite el uso no GPL del código fuente o las bibliotecas GPL o LGPL.