Sun Inner Circle: For Business & Technology Leaders Sun Inner Circle: For Business & Technology Leaders

Llegar al fondo de la cuestión acerca de Java y el Código Abierto


Bob Brewin, director de tecnología de Sun Software e ingeniero distinguido, comparte sus reflexiones acerca de lo que la tecnología de código abierto de Java significa para Sun, los desarrolladores y los clientes.

Bob Worrall, CIO, Sun Microsystems, Inc. Bienvenidos nuevamente, lectores de Sun Inner Circle. El mes pasado, hablé sobre una de las principales inquietudes que tengo como director de información de Sun: la seguridad. Este mes, pretendo cubrir algunas de las grandes noticias anunciadas recientemente en Sun, ayudando a los lectores a evaluar el colosal impacto de la decisión de Sun de dar a conocer su implementación de la plataforma Java a la comunidad de desarrolladores de código abierto.

Sun ya ha confirmado su irrevocable compromiso de abrir el código de todo su portafolio de software. En el pasado, Sun tomó la firme determinación de alcanzar este objetivo con su extraordinario catálogo de proyectos de código abierto, incluyendo OpenSolaris, NetBeans , OpenOffice, GlassFish y Project Looking Glass, por nombrar solo algunos. En este momento, con la decisión de abrir el código de la tecnología Java, Sun no sólo es el principal proveedor de software de código abierto, sino también el principal participante tanto en las comunidades de software libre como en las comunidades de licencia pública general (GPL).

Aun cuando éste es indudablemente un hecho extraordinario y apropiado, la decisión de abrir el código de la tecnología Java despierta muchas inquietudes. ¿Por qué la compañía tomó la decisión de que éste es el momento justo para abrir el código de Java? ¿Qué hay detrás de la fecha elegida? ¿Cuál es el impacto de esta decisión en la comunidad de código abierto? ¿Cuál es el futuro de la tecnología Java, en vista del anuncio? Y ¿qué significa el anuncio, en un sentido práctico, para los directores en general y los desarrolladores de la actualidad?

A fin de ayudar a responder algunas de estas interrogantes, pedí a Bob Brewin, ingeniero distinguido de Sun y director de tecnología de Sun Software, que apareciera como invitado en el boletín de este mes. En sus labores diarias, Bob se involucra en todas las facetas de desarrollo de software en Sun, incluyendo la función del código abierto, la implementación de prioridades y asignaciones y la supervisión de los grupos de la tecnología Java. En otras palabras, no podría existir una mejor persona para hablar sobre las razones que tuvo Sun para tomar la decisión, lo que anunció la compañía exactamente y las implicaciones para los clientes, los desarrolladores y Sun.

Así que, adelante Bob.

Bob Worrall
Director de Información, Sun Microsystems

Gracias, Bob. Me complace tener la oportunidad de compartir algunas opiniones sobre la decisión de Sun de abrir el código de la plataforma Java. Este hecho representa un gran paso hacia el objetivo de abrir el código de todo el portafolio de software Sun, y las implicaciones para Sun, los desarrolladores, los clientes y los socios son enormes. En respuesta a algunas de las interrogantes planteadas por Bob Worral, pensé que tendría una oportunidad para explicar por qué Sun ha elegido este momento para dar a conocer los principales componentes de su implementación Java a la comunidad de código abierto.

La respuesta concisa y sencilla a la pregunta con respecto a la fecha es que los clientes exigen productos con código abierto y la tecnología Java ha evolucionado a un punto donde es reconocida, estable y tiene una comunidad vibrante que continuará apoyando y desarrollando la plataforma. El interés en el código abierto obedece a muchas razones: el software de código abierto impide la dependencia de un proveedor único, aumenta la flexibilidad de la aplicación y, en última instancia, reduce los costos de desarrollo y del centro de cómputo, sin embargo, la verdadera razón por la que los clientes prefieren el código abierto es que los desarrolladores lo han asumido como parte de su estilo de vida para el desarrollo de aplicaciones. Muchos desarrolladores crean software para ejecutar en plataformas de código abierto y los clientes pueden sacar provecho de la flexibilidad e interoperabilidad que promueven los estándares abiertos.

Para Sun, este ciclo se resume en la frase el volumen promueve la oportunidad. En otras palabras, aumentando el atractivo de la tecnología Java para los desarrolladores, la tecnología Open Source Java incrementa la posibilidad de que nuevas personas creen dispositivos y servicios innovadores en la plataforma Java. A su vez, este mayor volumen origina una mayor oportunidad para Sun y sus socios.

Java y el software de código abierto crecen juntos
Por supuesto, durante el mismo tiempo que el software de código abierto ha sido adoptado como el paradigma por excelencia para el desarrollo de aplicaciones, la tecnología Java ha madurado para convertirse en el lenguaje de software preferido para la innovación de red. Considere esto: Java se ejecuta en más dispositivos y más aplicaciones que Windows, Linux y el Sistema Operativo Solaris combinados. Durante los pasados 11 años, Sun y la más grande comunidad de tecnología Java han creado un mercado y una plataforma extremadamente conocidos, grandes y dinámicos para aplicaciones empresariales, móviles y de escritorio.

Dados los beneficios del código abierto, muchas personas se han preguntado por qué Sun no abrió antes el código de la plataforma Java. En parte, es una cuestión de madurez, en lo referente a la evolución de la plataforma, así como el hecho de tener una comunidad sólida que ayude a mantener esa implementación compatible de la tecnología Java que, hasta ahora, Sun ha podido garantizar… la promesa de “escríbalo una vez, ejecútelo en todas partes” (write-once-run-anywhere).

Y mientras la decisión de abrir el código de la tecnología Java crea el potencial para versiones derivadas o incompatibles de Java, esperando hasta que la plataforma Java haya madurado más y tenga una mayor base instalada que depende de ella, en la actualidad, podemos proporcionar una implementación de código abierto que probablemente contará con la ayuda de la comunidad de código abierto para mantener la compatibilidad de futuras versiones.

¿Qué ha hecho Sun?
En la Conferencia JavaOne del 2006, Sun se comprometió a abrir el código de toda su plataforma Java, con el tiempo. El 13 de noviembre, Sun llevó a cabo la emisión inicial de componentes de sus principales implementaciones:

Cada uno de estos anuncios ocurrió de conformidad con la Licencia Pública General, GNU General Public License (GPLv2). Particularmente, Sun abrió el código de aspectos principales de su Java SE (incluyendo la máquina virtual HotSpot, el compilador Java y el sistema de documentación JavaHelp) y Java ME (incluyendo el código optimizado CLDC y CDL de Sun). Además, la compañía reiteró su promesa de hacer público Java JDK bajo licencia de código abierto, para el primer semestre de 2007.

La selección del modelo de licencia para la emisión de estas implementaciones fue uno de los aspectos de mayor especulación en la decisión. A Java SE JDK se le abrió el código utilizando GPLv2, con la excepción de Classpath y Java ME y fue hecho público directamente bajo GPLv2. Al seleccionar el esquema de licencia en el núcleo de la comunidad GNU/Linux, Sun trata de llegar a los desarrolladores, quienes, en el pasado, probablemente no habrían seleccionado abiertamente a Java como una solución. Igualmente, la elección de GPL debería incrementar al máximo el valor, para las personas que ya utilizan software de código abierto, en particular, aquéllas de la comunidad Linux.

 
Sun es actualmente el principal participante tanto en las comunidades de software libre como en las comunidades de licencia pública general (GPL).

Debemos admitir que la decisión de Sun de abrir el código de la tecnología Java crea el potencial para que la competencia desarrolle implementaciones de la plataforma Java. Sin embargo, Sun ofrece un valor excepcional al nuevo ambiente Open Source Java; además, Sun aún posee las implementaciones de Java SE y Java ME del más avanzado estándar. Sun, como el principal arquitecto de la tecnología Java y JDK, ofrece tanto amplios recursos de desarrollador como años de experiencia en el equilibrio de la necesidades de un complejo ecosistema Java. Ambos elementos ayudarán a que Sun mantenga su papel en la conducción de la compatibilidad de la plataforma Java.

¿Qué oportunidades crea Open Source Java?
Bueno, ahora que sabemos qué hizo Sun y por qué, examinemos algunas de las implicaciones para los clientes, desarrolladores y para Sun mismo. De más está decir que las ramificaciones de la tecnología Open Source Java son amplias.

Para los clientes, la tecnología Open Source Java brinda una gran cantidad de compensaciones. Al abrir el código de la primera plataforma Web, los clientes adoptan la tecnología Java con toda la confianza de que no estarán atrapados en la tecnología o en una implementación. Además, con la tecnología Java disponible en forma gratuita, los clientes estarán sujetos a las fuerzas del mercado que ayudan a promover la competencia y a reducir precios. Y eso no es todo, con la capacidad que tienen Sun y las comunidades Java Community Process (JCP) y Java Specification Request (JSR), para ayudar a conducir el desarrollo, descenderán los costos por cambiar de una a otra implementación Java.

Es más, la tecnología Open Source Java se traduce en una innovación más rápida. En el mundo de código abierto, hay más competencia de desarrolladores que buscan crear aplicaciones con más funciones y mayor rendimiento. Por último, esto resultará en mejores productos, precios más bajos y un menor costo total de propiedad. Adicionalmente, estos cambios serán más tangibles en el centro de cómputo, donde es prioritario proporcionar servicios de la mejor calidad y el más bajo costo, dado que, al utilizar una implementación de código abierto de la tecnología Java, los desarrolladores podrán crear grandes aplicaciones empresariales compuestas, a un costo sustancialmente menor.

Para los desarrolladores, la tecnología Open Source Java ofrece mayor flexibilidad, así como la capacidad de emplear la tecnología Sun en nuevas e inesperadas formas. Como un ejemplo magnífico tenemos los ambientes Web 2.0, donde hay muchos lenguajes nuevos y dinámicos (me viene a la mente Ruby on Rails) que se están desarrollando fuera de Sun. Muchos de estos lenguajes se ejecutan en sus propios intérpretes o máquinas virtuales.

Con una máquina virtual Java de código abierto y con Sun y la comunidad trabajando para agregar soporte a estos lenguajes dinámicos, es posible, si no probable, que el lenguaje Java ya no sea el único beneficiario de la máquina virtual Java. En otras palabras, la máquina virtual Java podría convertirse en una tecnología reutilizable que puede emplearse en muchos lenguajes diferentes. Los desarrolladores tendrán la estabilidad y el desarrollo de la máquina virtual Java, así como también la capacidad de utilizarla en sus propias aplicaciones que no sean Java.

A la larga, el código abierto promete traer más desarrolladores a la comunidad de la tecnología Java, lo cual resultará en mayor competencia, mayor innovación y menores costos para los clientes. Cabe repetir la frase: el volumen promueve la oportunidad y el valor.

Bob Brewin
Director de Tecnología de Sun Software e Ingeniero Distinguido
Sun Microsystems, Inc.