Encontrar la licencia adecuada para admitir solo la comunidad de código abierto. GPLv3 demasiado estricta, LGPLv3 demasiado permisiva

Jan 03 2021

He creado una biblioteca de código abierto ( https://github.com/pitschr/knx-link) que está diseñado para ser utilizado por otros proyectos de código abierto; no por los usuarios finales. Actualmente tiene licencia GPLv3.

Mi principal objetivo es que todos los proyectos que utilicen mi biblioteca sean de código abierto . Para mí, personalmente, no importa si el otro proyecto que usa mi biblioteca tiene licencia, por ejemplo, Apache-2.0 o MIT, siempre que el proyecto utilizado por el usuario final sea de código abierto, por ejemplo, GitHub.

Basado en diferentes licencias, veo que:

  • LGPLv3 no sería la elección correcta ya que permite vincularse mediante un software propietario
  • GPLv3 parece ser demasiado estricto para mí, ya que exige que otro software también deba tener licencia como GPLv3. Además, GPLv3 no permite que la utilice un proyecto con licencia de Apache-2.0 / MIT.
  • Las licencias Apache-2.0 y MIT no parecen ser la opción para mí, ya que pueden ser utilizadas directamente por software propietario.

No pude encontrar la licencia adecuada para mi propósito. Una vez más, está totalmente bien usar mi biblioteca siempre que el proyecto / software del usuario final sea de código abierto sin exigir que también deba tener una licencia GPLv3 . ¡Mi objetivo principal es apoyar solo a la comunidad de código abierto!

¿Estoy solo con la idea? ¿Cuál es la mejor manera de lograrlo? ¿Qué licencia sería la más adecuada para mí?

Gracias, Christoph (que está un poco confundido)

Respuestas

4 planetmaker Jan 03 2021 at 16:46

Hay dos versiones fundamentalmente diferentes de las licencias de código abierto:

a) los permisivos como MIT, Apache, etc. que, en términos generales, no les importa lo que suceda con sus fuentes siempre que los créditos se mantengan y se comuniquen.

b) Y están las licencias de código abierto más estrictas, las licencias de copia izquierda, que quieren asegurarse de que cualquier derivado siga siendo también de código abierto, sobre todo la licencia GPL.

La licencia suele ser elegida por los autores (iniciales) por una razón por la que quiere la primera o la última.

Como tal, la licencia que usted busca podría estar diseñada, pero tiene poca utilidad: un proyecto con licencia permisiva no querría hacer uso de una licencia que solo puede usarse en proyectos de código abierto; su licencia se eligió en particular de modo que sea posible el uso propietario.

Un proyecto que ya tiene una licencia de copia izquierda tampoco necesita dicha licencia; también podría usar la GPL, que garantiza precisamente eso: ser de código abierto y seguir siendo de código abierto.

Como tal, incluso se podría argumentar que ya existe una licencia que puede usarse solo en un proyecto de código abierto: la GPL. La mayoría de las licencias de código abierto son compatibles con la GPL en el sentido de que pueden usarse en un proyecto con licencia GPL (simplemente cambiando la licencia a GPL para el software derivado / combinado, incluso cuando existen excepciones notables como la incompatibilidad con Apache o MPL ).

3 JNic Jan 08 2021 at 06:48

Digamos que alguien usa su proyecto (con licencia bajo su licencia personalizada) en una aplicación con licencia del MIT. Dado que la licencia del MIT permite explícitamente que el software se distribuya de código cerrado, su licencia personalizada sería ineficaz y no tendría sentido.

Si no desea que su biblioteca se utilice en software propietario, la mejor opción sería GNU GPL.

Hay licencias compatibles con GNU GPL. El software con licencia GNU GPL puede contener código con cualquier licencia compatible.