2010-11-10 19 views
11

Con los desarrollos actuales con Oracle anunciando su intención de cobrar por una versión pro (o como se llame) de JVM, e IBM anunciando su intención de admitir OpenJDK, las cosas se vuelven bastante complicadas para un gran conjunto de desarrolladores de Java. Tenemos una gran cantidad de trabajo en Java, y no tuvimos ningún problema al elegir nuestros términos de licencia hasta ahora. Parece que tendremos que cambiar a OpenJDK, donde IBM pondrá su apoyo. Pero OpenJDK es GPL V2, y hasta donde yo sé, cualquier código que vincule a GPL V2 debe ser GPL V2. También tenemos algunos códigos JNI, que serán aún más grandes. Teniendo en cuenta estos hechos, ¿significa que si usamos OpenJDK para ejecutar nuestro software, tendremos que cambiar a GPL para obtener nuestra licencia? No hace falta decir que esto eliminaría toda nuestra configuración de modelo de negocio & de licencias.¿Debo abrir mi código fuente si uso OpenJDK como JVM?

+0

Mi comprensión de esto es que, siempre que no extienda la JVM, no tiene que preocuparse por la licencia con la que se libera el código. Ahora bien, si su código amplía OpenJDK, es posible que tenga problemas, pero el 99.999% (lo inventé) de los usuarios solo lo utilizan como máquina virtual. – Goibniu

+0

¿Puede proporcionarme un enlace sobre el anuncio de Oracle y sobre el de IBM? –

+4

Votamos para cerrar esta pregunta como fuera de tema porque se trata de licencias o asuntos legales, no de programación o desarrollo de software. [Ver aquí] (http://meta.stackoverflow.com/questions/274963/questions-about-licensing/274964#274964) y [aquí] (http://meta.stackexchange.com/questions/139804/can- licensing-questions-ever-be-on-topic) para obtener más información, y la [ayuda] para obtener más información. – JasonMArcher

Respuesta

18

La licencia para OpenJDK no es "GPL v2", es "GPL v2 with the Classpath Exception". Cita:

Como una excepción especial, los titulares de derechos de autor de esta biblioteca le dan permiso para vincular esta biblioteca con módulos independientes para producir un ejecutable , independientemente de los términos de licencia de estos módulos independientes, y para copiar y distribuya el ejecutable resultante bajo los términos de su elección , siempre que también se encuentre, para cada módulo independiente vinculado, los términos y condiciones de la licencia de ese módulo. Un módulo independiente es un módulo que no se deriva de esta biblioteca ni se basa en ella.

+1

¡Ah, entonces este es el camino para salir de este lío! Gracias Chris, estaba teniendo un mal día pensando en esto :) – mahonya

+0

+1 Esta es una idea errónea común –

+0

@ [Chris Lercher] (http://stackoverflow.com/users/291741/chris-lercher) pero el OpenJDK por defecto portar HotSpot que solo tiene licencia como GPLv2 (sin excepción classpath). ¿Todavía no es un riesgo legal si empaqueta OpenJDK (con Hotspot) en su aplicación comercial de código cerrado? –

8

¿Debo abrir mi código fuente si utilizo OpenJDK como JVM?

Absolutamente no.

Existen muchas aplicaciones comerciales Java de código cerrado que utilizan JVM basadas en OpenJDK. La "excepción de Classpath" que menciona @Chris Lercher específicamente lo hace legal.

Por cierto, la "excepción de rutas de clases" fue inventado por los abogados de la FSF específicamente para permitir que las bibliotecas GNU rutas de clases (una reimplementación de sala limpia de las bibliotecas de Java SE) para ser utilizadas para ejecutar aplicaciones de código propietarias/cerrado. Por lo tanto, el nombre ...

Los únicos casos en los que tendría que preocuparse por cosas como son:

  • JVM de código cerrado que utilizan el código base de OpenJDK, o
  • aplicaciones de código cerrado que contienen copias modificadas de las clases OpenJDK.

Y aun así, si obtuviese el permiso del propietario de los derechos de autor (actualmente Oracle), estaría en el claro.

+0

tal vez debería convertir esto en otra pregunta, pero ¿qué tan confiable es OpenJDK? Quiero decir, ¿existe en la empresa en este momento? – mahonya

+0

Haga otra pregunta. Pero ambas partes no son objetivamente responsables de SO, por lo que es probable que se cierren. –

7

Lea las líneas al principio de la excepción classpath. La excepción classpath no parece aplicarse a toda la biblioteca.

Ciertos archivos fuente distribuidos por Sun Microsystems, Inc.están sujetas a la siguiente aclaración y excepción especial a la GPL, pero solo cuando Sun haya incluido expresamente en el encabezado del archivo fuente particular las palabras "Sun designa este archivo particular como sujeto a la excepción" Classpath "proporcionada por Sun en el archivo LICENSE que acompañó este código ".

+3

@ [Don] (http://stackoverflow.com/users/542434/don) Esta es una de mis preocupaciones al agrupar OpenJDK con aplicaciones comerciales ya que Hotspot en sí mismo es solo GPLv2 sin ninguna excepción de classpath. –

Cuestiones relacionadas