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