Estoy planeando desarrollar un programa que tengo la intención de vender más tarde. Estoy tratando de decidir sobre un lenguaje para codificarlo, y me he reducido a C ++ o Java.
He pasado por las licencias GPL v2 y v3 utilizadas para GCC y OpenJDK de GNU (sí, puedo entender una cantidad de cosas legales, pero claramente, no todas). Pero hay un punto en el que todos están oscuros (esta debería haber sido una de las primeras cosas respondidas, OMI): si desarrollo un programa usando C ++ / Java y lo compilo usando el compilador GCC o el compilador de OpenJDK, ¿puedo venderlo sin tener colocar mi programa bajo GPL también?
Hasta donde puedo entender, tengo todos los derechos para asignar cualquier licencia a mi programa, pero hay un inconveniente: dice en la licencia que no debería vincularme a ninguna biblioteca que esté bajo GPL. Si es así, tendré que lanzar mi programa bajo GPL.
Ahora, no sé qué en C ++ / Java se considera una biblioteca, así que si uso las cosas normales en C ++ (iostream, list, map, etc.) o las clases / interfaces normales de Java disponibles como parte del JDK estándar 6 distribución (Cadena, Lista, Mapa, etc.), ¿esto constituye 'vinculación a las bibliotecas'?
Respuestas:
Si. La GPL excluye específicamente el resultado de ejecutar el programa:
lo que significa que si incluye bits de GCC o algo más GPL en su programa, entonces sí tendría que ser GPL, de lo contrario no, el hecho de que su código objeto fue producido por un compilador GPL no es relevante para saber si debe ser GPL .
Todas las bibliotecas de idiomas estándar a las que se vincularía no tienen GPL o GPL, pero tienen una excepción especial para permitir que su software propietario se vincule a ellas, si no las modifica . En el caso de C ++ me refiero a libgcc, glibc y libstdc ++; en el caso de Java me refiero a todas las bibliotecas incluidas en el JRE.
Técnicamente, puedes vender legalmente software GPL de todos modos, pero casi nadie gana dinero al hacerlo.
fuente
Tanto GCC como OpenJDK tienen excepciones explícitas:
fuente
No es oscuro Hay una excepción a la licencia que se aplica aquí. Esto se puede encontrar a partir de la pregunta correspondiente en las preguntas frecuentes de GPL .
En resumen, lo que quieres hacer es permisible.
fuente
OpenJDK es GPL, pero con la excepción de vincular a bibliotecas. http://en.wikipedia.org/wiki/OpenJDK
Usar clases de OpenJDK constituiría un enlace a una biblioteca, creo (rt.jar).
Una biblioteca en ese contexto, desde el punto de vista de Java, es seguramente un frasco de dependencia, guerra, clase, etc. De todos modos, estoy seguro de que puede vender legalmente una aplicación Java: hay más de unos pocos que Oracle / Sun no ha emprendido acciones legales.
fuente
No se preocupe, esta es una pregunta de programación informática, o al menos una que concierne estrechamente a los programadores.
Por lo que sé, si crea un software que está vinculado con algún código GPL, debe liberar su código fuente si distribuye su programa.
Eso no significa que deba liberar su código para sourceforge, es decir, pero si un tercero le solicita el código, debe proporcionarlo.
fuente