Buscar
Social
Ofertas laborales ES
« Amazon lanza su interfaz de servicios web | Main | Java comienza a invadir el mundo de los PDAs »
jueves
jul182002

Nueva licencia de Sun


Java se abre al mundo Open Source, una entrevista con Jason Hunter





Como muchos ya sabréis, Apache y SUN han firmado un acuerdo para la creación de una nueva licencia que asegure el futuro del Open Source ligado al lenguaje Java y que le permitirá seguir realizando su labor en el JCP sin problemas. Esta nueva licencia se está conviertiendo en el contrato estándar de SUN y promete traer sus beneficios a todas las licencias actuales de los JSR, ya sean comerciales u Open Source. La principal consecuencia de esto es que permite implementaciones independientes de las especificaciones de tecnología Java de una forma absolutamente legítima.



Antes de este acuerdo, Apache se encontraba en una posición muy ambigua ya que por una parte la licencia de SUN hacía sus desarrollos ilegales mientras que por la otra la gente de SUN colaboraba activamente en sus proyectos, o declaraba Tomcat como la implementación de referencia para los APIs de Servlets y JSP. En vista de la situación SUN prometió rectificar el problema en la JavaOne celebrada este año



Fruto de este trato, mes y medio después SUN y Apache firmaron el acuerdo de licencia del Test Compatibility Kit (TCK, o test que comprueba que un producto es conforme con una especificación). Ahora mismo, Apache tiene acceso a todos los TCKs para todos los JSRs en los que se encuentra participando activamente. Apache Axis por ejemplo se encuentra certificando su funcionamiento con el JAX-RPC TCK. Otros productos de Apache seguirán ese mismo camino muy pronto.



Otra de las consecuencias importantes de este acuerdo es que las tecnología de Servlets y JSP pueden ser utilizadas de nuevo libre e independientemente de J2EE, lo que legitimiza productos como Tomcat que puede proporcionar soporte de Servlets sin todo el núcleo de J2EE. Además proporciona un TCK estándar contra el que los motores de Servlets podrán probar su funcionamiento.



Pero, no solo Apache se beneficiará de este acuerdo. Las compañias comerciales y los grupos Open Source se beneficiarán también de los nuevos términos de la licencia porque los TCKs estarán disponibles para todo el público mucho más rápidamente y con menos restricciones de acceso.



Pero, la labor de Apache no quiere terminar aquí. Sus planes ahora son remodelar los términos de la licencia de J2SE y J2EE, incluso antes de la aparición de J2EE 1.4 (posiblemente en el primer trimestre del 2003). Incluso Jason Hunter afirma que es muy probable que antes de la aparición del J2SE 1.5 aparezcan implementaciones de Java Open Source.



La nueva licencia estará pronto disponible públicamente según anunció en su sitio web (http://www.servlets.com) Jason Hunter.



Jason Hunter es vicepresidente de la Apache Software Foundation así como miembro activo del Java Community Process(JCP). Recientemente, la prestigiosa revista Java Developer's Journal (JDJ) realizó una entrevista a Jason en la que se le plantearon preguntas realizadas por diferentes lectores.



A continuación se encuentra la traducción al español de este documento. Ahora mismo este documento es accesible en inglés desde la siguiente URL:




http://www.sys-con.com/java/articleprint.cfm?id=1477



He realizado esta traducción porque justo hasta el momento de terminarla era imposible acceder al documento original salvo si no estabas registrado a la edición impresa o digital de JDJ. Por suerte Jason Hunter avisó a los editores de JDJ y éstos corrigieron el error. De todos modos, he mantenido esta traducción para que de este modo la entrevista llegue a la mayor cantidad de personas posibles.






Traducción de la entrevista








     



 



JDJ: ¿Qué significa todo este anuncio?



Jason: Anuncia un acuerdo entre Apache y SUN respecto a implementaciones Open Source de los estándares Java. Entre los aspectos a los que se ha llegado a un acuerdo destacan:



Para especificaciones lideradas por Sun y que hayan terminado de aquí en adelante (incluyendo revisiones a especificaciones existentes ) y para especificaciones que ya hayan aparecido previamente, los términos de la nueva licencia permitirán implementaciones independientes y bajo licencias Open Source.
Los ficheros binarios del Test Compatibility Kit (TCK) para esas especificaciones estarán disponibles sin coste alguno para grupos académicos, sin ánimo de lucro u Open Source.
Un comité de tres miembros, incluyendo a un representante de la Apache Software Foundation y un representante académico se asegurarán de la imparcialidad de todo el proceso.
SUN proporcionará a estos grupos cualificados un sustancial soporte para ayudarlos en el uso y la ejecución de los TCKs.
Los lideres de las especificaciones podrán escoger las licencias Open Source para susimplementaciones de referencia (RIs) e incluso para los TCKs si así lo desean.
Existe todavía un punto de gran importancia para las implementaciones comerciales de las especificaciones Java:



SUN hará disponibles los TCKs de especificaciones pasadas y futuras de una manera separada del código de la implementación de referencia. Previamente, existía un requisito que obligaba a licenciar la implementación de referencia al licenciar el TCK lo que hacía imposible las implementaciones independientes.
Para más detalles sobre el acuerdo, podéis ver la carta de intenciones de SUN en



http://jcp.org/aboutJava/communityprocess/announce/LetterofIntent.html y la nota de prensa de Apache http://jakarta.apache.org/site/jspa-agreement.html



JDJ: Finálmente, ¿es Java Open Source?



Jason: Eso depende de lo que quieras decir con la pregunta. Yo creo que puede significar tres cosas diferentes:



“¿Puede haber una implementación Open Source de Java? La respuesta es sí. Este acuerdo debería asegurar que cuando J2SE 1.5 aparezca pueda existir una implementación independiente con licencia Open Source. Muchas especificaciones Java tendrán esa posibilidad desde ya.


¿Está la implementación de referencia de Java (el JDK) disponible como Open Source? No. Este acuerdo no tiene ese objetivo. Apache no cree que le deba decir a SUN o a cualquier otra empresa bajo que licencia ha de estar su código. Lo que cree Apache es que si no quieres una licencia en tu código tienes que tener ese derecho. El propósito de este acuerdo es ese.


¿Se desarrollará Java siguiendo el método Open Source? Ahora mismo existe un proceso formal por el cual las especificaciones Java se crean dentro del Java Community Process (JCP). El JCP probablemente seguirá con esta labor, a pesar de que el deseo de Apache es que se haga más abierto. El proyecto que yo lidero, JDOM, es el JSR número 102, y con este JSR estamos demostrando que es posible tener un desarrollo abierto incluso dentro del JCP. Ahora bien, la posibilidad de tener implementaciones de referencia y TCKs Open Source ayudará al progreso de este JSR.



JDJ: Apache vió un crecimiento grandisimo en el número de proyectos durante el último par de años. ¿Cuáles ves como los mayores retos que afronta la Apache Foundation a la hora de ser capaz de mantener el momento y el soporte de todos los proyectos a largo plazo?



Jason: Apache sólo acepta proyectos que tengan una comunidad establecida, vital y activa. O dicho de otro modo, el código ha de venir de una comunidad de programadores. Apache no acepta código porque sí, por muy tentador que sea.



Hasta ahora esta política ha funcionado bien. El reto principal es integrar a los programadores de estos proyectos dentro de la comunidad Apache.



JDJ: ¿Estás completamente satisfecho con la esencia y el nivel de compromiso alcanzado en este anuncio?



Jason: Por ahora es un acuerdo de un rumbo a seguir. Apache estará mucho más satisfecho cuando vea este plan de acción ejecutado.



JDJ: En tu opinión, ¿Qué gana SUN de este acuerdo?



Jason: Apache ha sido un colaborador fuerte de SUN, promocionando Java en la parte de servidor. Proyectos como Tomcat, Ant, Xerces, Xalan y Axis/SOAP son ampliamente utilizados y vitales en la parte de servidor para la comunidad Java. Muchos proyectos de Apache tienen el soporte de desarrolladores de SUN, unos pocos tienen especificaciones Java implementadas, y usualmente cuando esto sucede el código de Apache se ha usado como base para las implementaciones de referencia. Sin embargo, los aspectos legales establecidos alrededor de las implementaciones Open Source de Java tenían que ser establecidos definitivamente para que Apache pudiese continuar dando soporte al Java Community Process y a las especificaciones que el JCP produce.



JDJ: ¿Planea Apache crear una implementación de JXTA?



Jason: JXTA no es una especificación del JCP. Es un producto bajo el que está SUN , open source, independiente, que no depende del lenguaje de programación y con una licencia al estilo Apache. No está afectada por este acuerdo.



JDJ: ¿Crees que este acuerdo resultará en que SUN probará finalmente JBoss para la certificación J2EE?



Jason: JBoss ahora tendrá acceso a los TCKs para J2EE 1.4 que saldrán a final de año. Debido a que JBoss es una organización con ánimo de lucro, probablemente tendrán que pagar por los TCKs. Hablando con ellos, han comentado que no tienen ninguna objección sobre eso. Será cosa suya el acatar el TCK.



JDJ: ¿Cómo se siente Apache cuando muchas de sus ideas/productos son incorporadas por otros componentes? Por ejemplo, un equivalente al proyecto ORO ha sido incorporado dentro de Java 1.4 como clases regexp.



Jason: ¿Cómo se siente Apache cuando sus productos se incorporan dentro de otros productos de otras compañías? Por ejemplo, ¿Cómo utiliza IBM el servidor web Apache?. Apache usa este estilo de licencia ( una licencia muy liberal que permite la reutilización en productos comerciales ) precisamente porque quiere que su código sea útil y utilizado por cualquiera y por todo el mundo que esté interesado en él.
¿Cómo se siente Apache cuando el JCP crea especificaciones para la plataforma Java que son similares a proyectos suyos existentes? Esta pregunta es más difícil de responder porque puede haber tantas opiniones como desarrolladores dentro de Apache. Yo creo que es justo decir lo siguiente: "A la gente le gusta ver como Java incorpora funcionalidad como expresiones regulares y logging. Sin embargo, hemos visto como estas especificaciones se han creado en privado y teniendo muy poco en cuenta la opinión de la comunidad en comparación con los proyectos típicos de Apache".



No es sorprendente que cuando comparas las especificaciones Java con los proyectos Apache que hemos creado con gran cantidad de opiniones de usuarios, los nuevos estándares no parecen de igual calidad. Es más, las nuevas tecnologías caerán en la medida que Apache continue innovando y permita no tener que esperar por el J2SE 1.5 para tener nuevas versiones. Al mismo tiempo, la gente de Apache se da cuenta de que hay el efecto estílo-Windows de Microsoft: todo lo que venga con la plataforma gana la mayor parte del mercado sin que importe su calidad en comparación con otros productos.



JDJ: ¿Es este el principio del fin? ¿Estamos entrando en un futuro donde veremos diferentes sabores de Java, como lo que sucede en el mundo C/C++, y en el que tendremos que construir versiones específicas para diferentes JVMs?



Jason: Es importante reconocer que el acuerdo permite implementaciones Open Source independientes que pueden ser "compatibles". Apache cree que este acuerdo mejorará la portabilidad de Java a través de una gran disponibilidad de TCKs y con la existencia de implementaciones Open Source sólidas sobre las cuales los vendedores puedan trabajar. Por ejemplo, la portabilidad de los servlets ha sido mejorada sólo con la disponibilidad del motor de servlets Tomcat.



JDJ: Puede parecer una pregunta obvia pero incluso pensando que Apache es una organización sin ánimo de lucro, ¿cómo planean continuar ofreciendo excelentes ofertas de calidad en el futuro?



Jason: Para una buena descripción de como funcionan los proyectos Open Source, yo recomendaría un libro titulado "The Cathedral and the Baazar" de Eric S. Raymond y Bob Youngor o algún documento como "Open-Source Software Development and Distributed Innovation" de http://www.smu.edu.sg/research/pdfs/kogut06K1.pdf



JDJ: ¿Puedes explicar la letra pequeña que pueda haber en el soporte que ofrecerá SUN para la comunidad Open Source?



Jason: Durante los meses antes del acuerdo Apache estableció como un requerimiento mínimo que los ficheros binarios de los TCK pudieran ser bajados fácilmente por cualquier grupo académico u Open Source. La noción de que un líder de una especificación pudiese decidir el descartar la cuota por la licencia no era suficiente ya que un líder que estuviese demasiado ocupado puede que no pudiese responder a un pequeño grupo o a un individual, y sin embargo queríamos que el próximo Linus Torvalds brotase (esta vez en JavaLandia). Durante las negociaciones, SUN estaba deseando licenciar los TCKs de una manera gratuita a todos estos grupos pero estaba preocupada por que los TCKs son bastante complicados y requieren soporte para su ejecución. SUN no podía garantizar soporte para todas las compañías sin ánimo de lucro porque, no como los binarios de los TCK, existe un coste real en dar soporte a cada cliente.



Para resolver ese problema, la propuesta es tener un comité (consistente en un miembro de Apache, un miembro de SUN y un miembro académico) el cual puedan garantizar los ficheros binarios de los TCK de manera gratuita a cualquier grupo cualificado y garantizar el soporte de estos TCKs con algunos límites dentro del presupuesto. El método para la cualificación de los grupos y para garantizar soporte será estudiado más por los miembros del comité. Personalmente no me sorprendería que las listas de correo Open Source se convirtiesen en el vehículo más común para el soporte de los grupos Open Source.



JDJ: ¿Cómo crees que los principales jugadores dentro de Java se sienten respecto a este movimiento?



Jason: Entre los miembros del comité ejecutivo del JCP ha habido un fuerte apoyo para este cambio. Las preocupaciones de Apache fueron listadas por el comité ejecutivo como el problema número uno a ser tratado en el documento legal JSPA mientras va desde la revisión de la comunidad hasta la revisión pública. Varios miembros del comité ejecutivo fueron grabados apoyando esta decisión durante la JavaOne.



JDJ: Cuentanos un poco sobre Apache. ¿Es una compañía/persona oficial? ¿Tienen oficinas? ¿Existe algún teléfono en algún lugar del planeta con alguien que conteste "Buenos días, Apache, ¿en que puedo ayudarle?"?



Jason: Apache es una organización sin ánimo de lucro, con un comité y unos bienes (servidores, márcas comerciales, etc..). No existen oficinas centrales. Respecto a lo del número de teléfono, ¡ preferimos los emails a los teléfonos !....



JDJ: Finalmente, ahora que ha empezado a correr la voz de estas noticias ¿cuáles han sido, a groso modo, las opiniones de la comunidad?



Jason: He encontrado que la gente sigue haciendo preguntas. Los aspectos son realmente muy complicados, y cuanto más profundo cavas más detalles encuentras. ¡ Eventualmente incluso deseas no haber cavado tan profundo ! Felizmente, las cosas parece que se están mejorando y deseo que fragmentos de preguntas y respuestas como este ayuden a la gente a comprender que es lo que está cambiando y lo que significa.


 









Esta era la entrevista ofrecida por Jason Hunter al Java Developer's Journal. Os pido mis disculpas si en algún momento la traducción puede ser errónea o apartarse del original, he intentado respetar el texto en la medida de lo posible.




Conclusiones




Gracias a la labor de la Apache Software Foundation el camino hacia un Java Open Source ya está labrado. Es la hora de que el mundo Open Source y el mundo Java se abracen definitivamente. Desde la aparición del lenguaje se ha pedido continuamente su liberación y que fuese posible una implementación del mismo Open Source. Ahora la aparición de dicha implementación es cuestión de tiempo, incluso puede que alguno de los JDK existentes cambien su licencia por una más abierta (¿Quizás IBM?). Por si fuera poco, desde ya pueden comenzar a realizarse implementaciones open source de las especificaciones más sencillas y productos como Tomcat han quedado definitivamente legitimizados.



Si durante estos últimos años Java ha avanzado de una manera imparable incluso con el lastre de la licencia existente, es de esperar que en los próximos años el avance de Java sea todavía mayor. Si ya ahora el número de proyectos Open Source empieza a ser realmente abrumador, ¿qué pasará cuando toda la comunidad se percate de las consecuencias de este cambio de licencia?.



Ahora tan sólo queda esperar que los sectores más reacios a la utilización de Java durante todos estos años aprovechen lo conseguido por la fundación Apache. Ahora ya no vale escudarse en el tópico "Java no es libre y por lo tanto no lo usaremos". Java pronto estará libre del yugo que suponía su licencia y es de esperar que tenga todo el apoyo de la comunidad Open Source.



Tan sólo me queda decir: ¡gracias Jason Hunter!, ¡gracias Apache!, ¡gracias Open Source!.















Martín Pérez Mariñán es desarrollador Java desde hace tres años. SUN
Certified Programmer
for Java 2 Platform y SUN Certified Developer

for Java 2 Platform, además es ingeniero de sistemas por la universidad
de La Coruña. En su vida laboral ha tocado casi todas las APIs contenidas
en Java y actúalmente está trabajando para INTECNO del Grupo DINSA
desarrollando proyectos empresariales con J2EE.
Cuando no está metido en
su trabajo intenta realizar aportaciones a publicaciones escritas u online
y el resto del tiempo lo dedica a su novia y al futbol.


Para cualquier duda o tirón de orejas, e-mail a:
martin@kristalnetworks.com





Reader Comments

There are no comments for this journal entry. To create a new comment, use the form below.
Comentarios deshabilitados
Comentarios deshabilitados en esta noticia.