Download Análisis de la “Libertad” en la plataforma Java

Document related concepts
no text concepts found
Transcript
Análisis de la “Libertad” en la
plataforma Java
A. Otero y A. Sánchez-Mariscal
javaHispano
(http://www.javahispano.org)
Open Source World
Conference 2004
1/22
Índice
1. Objetivos de este trabajo
2. ¿Qué es la plataforma Java?
1.Java Community Process
3. Análisis de la libertad de la plataforma
1.Las especificaciones
2.El Software
4. Posición de Sun Microsystems
5. Conclusiones.
Open Source World
Conference 2004
2/22
Objetivos de este trabajo
• Estudiar la libertad de la plataforma Java
• Esta se construye sobre especificaciones.
– A menudo se achaca la falta de libertad de la plataforma al
carácter propietario de alguna implementación (jsdk).
– Las especificaciones son más importantes
• ¿Se pueden compatibilizar “Write Once Run
Anywhere” (WORA) con el software libre?
– Libertad para modificar el código y compatibilidad obligatoria
son excluentes.
Open Source World
Conference 2004
3/22
Índice
1. Introducción
2. ¿Qué es la plataforma Java?
1.El Funcionamiento del Java Community Process
3. Análisis de la libertad de la plataforma
1.Las especificaciones
2.El Software
4. Posición de Sun Microsystems
5. Conclusiones.
Open Source World
Conference 2004
4/22
¿Qué es la plataforma Java?
• Hill Venners: especificación de un lenguaje, un
formato binario y una máquina virtual.
• Java ha alcanzado tanta difusión no sólo por el
lenguaje, también por las otras tecnologías de la
plataforma: JSP, Servlets, EJB, MIDlets...
• Para nuestros propósitos es más correcto
considerar que la plataforma Java está compuesta
por especificaciones e implementaciones de éstas.
Open Source World
Conference 2004
5/22
Java Community Process
• Crea y mantiene las especificaciones.
• Organización:
• Administrado por Program Management Office (Sun)
• Dos comités ejecutivos encargados de aprobar las
especificaciones
– Uno se encarga de J2SE y J2EE y el otro de J2ME
– 10 miembros propuestos por el PMO, 5 por votación, 1
es un representante de Sun.
• El resto: Individuos y entidades sin ánimo de lucro
grátis, empresas: 5000$, (grátis para licenciatarias)
Open Source World
Conference 2004
6/22
Java Community Process
• Las tecnologías se definen en un Java
Specification Request.
• Constan de: especificación, implementación de
referencia (IR) y test de compatibilidad (TC).
Open Source World
Conference 2004
7/22
Java Community Process
• Umbrella Java Specification Request
• Afectan a J2ME, J2SE, J2EE, y perfiles de J2ME
• Requieren 5 votos positivos, y 2/3 de los emitidos han
de ser de aprobación
• Sun tiene derecho de veto.
• Motivo: portabilidad y compatibilidad hacia atrás.
• Para pasar los TC hay que pagar a Sun.
• No todos los JSR se rigen por normas tan abiertas.
• Algunos siguen versiones antiguas del JCP.
Open Source World
Conference 2004
8/22
Índice
1. Introducción
2. ¿Qué es la plataforma Java?
1.El Funcionamiento del Java Community Process
3. Análisis de la libertad de la plataforma
1.Las especificaciones
2.El Software
4. Posición de Sun Microsystems
5. Conclusiones.
Open Source World
Conference 2004
9/22
Análisis de la libertad de la plataforma
• No hay que mirar sólo al software
• Ni OSI ni FSF dan criterios para determinar la
libertad de una especificación.
• Dentro del software hay que mirar las IR y TC
• Las implementaciones de terceros quedan excluidas
• No obstante existen implementaciones libres de casi
cualquier especificación y herramientas de
desarrollo libres que son standares “de facto”.
» Excelente recopilación de estas soluciones: A.
Molpeceres y M. Pérez: Arquitectura empresarial y
SL, J2EE http://javahispano.org.
Open Source World
10/22
Conference 2004
Análisis de la libertad de la plataforma
• Las especificaciones del JCP
• Son accesibles públicamente, modificables y se
puede redistribuir la modificiación sin limitaciones.
» ¿Libres? En algunos trabajos se afirma que sí.
• Esto no es realmente importante en una
especificación
• Todo el mundo debe poder participar en ella en
igualdad de condiciones
Open Source World
Conference 2004
11/22
Análisis de la libertad de la plataforma
• Desigualdades del JCP:
• PMO: empleados de Sun
• CE:
» 10 miembros propuestos por el PMO (ratificados)
» Miembro permanete de Sun
» Con derecho a veto en los UJSR
• Un representante de Sun participa en la decisión de
si se pagan o no las entidades sin ánimo de lucro.
• El problema: una empresa tiene privilegios en el
JCP
Open Source World
Conference 2004
12/22
Análisis de la libertad de la plataforma
• La solución:
• Gestión del JPC por un organismo independiente
estilo Apache Software Foundation.
» Evitar los intereses particulares de una empresa.
• Elección democrática de todos los miembros de los
CE.
• Sin ningún tipo de veto: que a comunidad decida lo
que quiere hacer.
Open Source World
Conference 2004
13/22
Análisis de la libertad de la plataforma
• Las IR y TC son la principal fuente de críticas.
• las especifiaciones son más importantes.
• La IR de J2SE: la más polémica.
• Esto no es lo más importante.
» Kaffe, GCJ, GNU Classpath, Japhar, Jikes...
• Licencia SCSL (IR de SUN),
• “Prohibe” las implementaciones que no sigan la
especificación.
• Imposibilita para trabajar en desarrollos libres.
• Si la implementación es con ánimo de lucro paga cuotras
a Sun.
Open Source World
Conference 2004
14/22
Análisis de la libertad de la plataforma
• La comunidad se beneficiaría de acceder al código
de las IR para basar en ellas sus desarrollos.
• Danese Cooper: es un hecho que compatibilidad
obligatoria y SL no pueden coexistir
• ¿Es necesaria SCSL para defender WORA?
• Sun defiende la necesidad de la licencia para defender la
plataforma de la fragmentación: ataque de Micrsoft.
• Pero las grandes empresas, o la comunidad del SL,
pueden implementar una JVM desde cero.
Open Source World
Conference 2004
15/22
Análisis de la libertad de la plataforma
• Soluciones:
• Licencia con “copyleft” que permita modificar el
código libremente, siempre que se pase el TC.
» Defiende W ORA como GPL defiende el SL
» El mundo del SL posiblemente no la acepte
• Liberar el código y confiar que la comunidad vele por
la compatibilidad y portabilidad
» No hay ningún indicio de fragmentación: las
implementaciones libres de J2SE (y otras) siempre
tratan de adeherirse a las especificaciones.
» Dudoso que Sun lo acepte.
Open Source World
Conference 2004
16/22
Análisis de la libertad de la plataforma
• Los TC:
• Mismas conclusiones que para las IR
• Lo importante es si se debe pagar por pasarlo
» La aproximación actual en este sentido es bastante
correcta: pagan las empresas que obtienen
beneficios de las implementaciones.
Open Source World
Conference 2004
17/22
Índice
1. Introducción
2. ¿Qué es la plataforma Java?
1.El Funcionamiento del Java Community Process
3. Análisis de la libertad de la plataforma
1.Las especificaciones
2.El Software
4. Posición de Sun Microsystems
5. Conclusiones.
Open Source World
Conference 2004
18/22
Posición de Sun Microsystems
• Oficial:
• Debemos velar por la plataforma y SCSL y los UJSR son
las armas ideales para ello.
• Internamente: es un debate continuo
• Danesee Cooper, responsable de “Open Source
Programs Office”: llegará el día en el que la comunidad
vele por la plataforma y pueda liberarse.
• James Glosing, padre de Java: hace más de un año que
ese día ha llegado.
• Jonathan Schwartz, vicepresidente ejecutivo: Java nunca
debería ser libre.
Open Source World
Conference 2004
19/22
Posición de Sun Microsystems
• En la práctica:
• No hay evidencias de que Sun emeplee sus
privilegios con fines distintos de “velar” por Java.
• Apache estuvo fuera de la ley por realizar IR libres
(versión anterior del JCP).
» Sun no tomó medidas para evitarlo
» Sun apoyaba y financiaba a Apache
» Sun acabó cambiando las normas del JCP para
legalizar las actividades de Apache
• Cada nueva versión del JCP “libera” más a Java.
Open Source World
Conference 2004
20/22
Conclusiones
• La plataforma Java no es libre:
• El principal problema son los privilegios de Sun
sobre el JCP
• Sería muy positivo que las IR y TC fueran libres.
• No implica ningún riesgo: dudoso que la comunidad
respalde cualquier intento de fragmentación.
• Mal menor: licencia propuesta en este trabajo.
• Sun aplica razonablemente sus privilegios
• De ahí el apoyo de Apache, Blackdown, Kaffe y
javaHispano. ¿Más? ¿FSF por GCJ?
Open Source World
Conference 2004
21/22
Gracias
http://javaHispano.org
Open Source World
Conference 2004
22/22