Este artículo relata la historia de NodeJS y su controversia como proyecto Open Source, que se zanjó afortunadamente a partir de Node4, la versión que unió los proyectos Node de Joyent e io.js de la comunidad.
Por si no lo sabes, Node.JS (o simplemente Node) es el entorno de programación JavaScript del lado del servidor, gracias a él desde el 2009 podemos hacer aplicaciones FullSatck con un solo lenguaje de programación tanto en el cliente como en el servidor.
Node fue creado en 2009 por Ryan Dahl programador en ese entonces de la empresa Joyent (dedicada a ofrecer servicios de cómputo en la nube) que a su vez se convirtió en la propietaria de la marca Node.js™ y la que le daría patrocinio y difusión desde el momento de su creación.
Joyent puso todo su empeño para el desarrollo de Node, sin embargo, al ser una empresa del sector privado y no una comunidad o fundación, los avances de Node comenzaron a ser muy lentos, en comparación de lo que la comunidad solicitaba y que también quería contribuir.
Con el paso del tiempo y durante los siguientes 5 años (2009 a 2014) se fueron entregando versiones de Node a paso de tortuga pues nunca se llego como tal a una versión 1.0.0 estable, la última versión de Node bajo la gobernabilidad de Joyent fue la 0.12.7.
La comunidad al ver el brillante futuro que podría tener Node en el ecosistema web y la insuficiencia (o incompetencia) de Joyent para sacarlo adelante, decide tomar cartas en el asunto e intenta contribuir al core de Node, sin embargo Joyent se opone a reconocer cualquier cambio no supervisado por ellos bajo el nombre comercial de Node.js™, por lo que la comunidad decide lanzar un fork amigable de Node compatible con npm y liderado bajo un modelo de gobernabilidad abierta con el nombre de io.js.
Con io.js el entorno de Node ganó mejoras que se venían esperando desde hace muchotiempo tales como:
- Soporte para las últimas versiones de V8 y ES6
- Desarrollo activo haciendo liberaciones semanales
- Integración continua y ejecución de pruebas al 100%
- Vinculación con la comunidad
- Gobernabilidad abierta por la comunidad y no por empresas
- Hoja de ruta predecible
- Versiones compatibles con SemVer
- Comienza a incrementar su actividad nuevamente
La reacción de Joyent, propietario de Node.js™ fue lanzar la versión 0.12.1 que la comunidad estaba esperando desde hacía 2 años, sin embargo y por la premura y sorpresa de io.js salió con un par de errores por lo que tuvieron que lanzar una versión 0.12.2 en cuestión de días. Con ello Joyent logra mantener la paridad de características con io.js. Es importante mencionar que todo esto sucede en diciembre del 2014 y io.js se libera oficialmente el 13 de enero del 2015. Después de un par de meses de la liberación de io.js, ambas partes, comunidad y Joyent manifiestan su intención de reconciliar los proyectos en uno sólo, la fundación Linux se ofrece como mediador de la situación y entonces el 8 de mayo del 2015 se crea la Node.js Foundation encargada de reunificar las tecnologías en una sola, dicho proyecto lo llamaron Node.js Convergence.
Los objetivos de dicha fundación eran claros:
- Crear un consejo de fundación encargado de la parte legal, marca, mercadotecnia y fondos gestionado por Joyent.
- Crear un comité técnico que actué de forma independiente y permita el crecimiento del ecosistema JS en el servidor gestionado por la comunidad.
- Normalizar y unificar las versiones actuales de Node.js™ (0.12.X) y io.js (3.X.X) en una sola tecnología.
Finalmente el 8 de septiembre del 2015 sale a la luz esa convergencia en Node 4.0.0 (estable) y con ello un futuro interesante para JavaScript en el servidor.
¿Por qué saltaron de la versión 0.12.X a la 4.0.0?
Desde su nacimiento de io.js se fueron liberando versiones semanales hasta llegar a la versión 3.3.0, en consideración a esta evolución y al fuerte compromiso de la comunidad activa que se matuvo viva y fuerte por hacer crecer el ecosistema de JavaScript en el servidor es que se decide relanzar Node en la versión 4.0.0.
A continuación les dejo una cronología de los hechos más importantes de este suceso:
- Enero 2015: Se libera io.js.
- Febrero 2015: Joyent anuncia la formación de la Fundación Node.js.
- Marzo 2015: Se distribuyen borradores de las reglas y normas de la Fundación Node.js.
- Mayo 2015: io.js obtiene los votos técnicos requeridos para entrar en la Fundación Node.js y comenzar el proceso de convergencia.
- Junio 2015: Lanzamiento oficial de la Fundación Node.js con miembros fundadores.
- Julio 2015: Se establece el comité directivo de la Fundación Node.js.
- Agosto 2015: Se celebra la primer cumbre de colaboración Node.js en San Francisco.
- Septiembre 2015: Se libre de forma estable Node versión 4.0.0.
- Diciembre 2015: La dominación del mundo :).
En las siguientes entregas estaremos revisando y analizando las nuevas características que nos ofrece Node 4.0.0.
Jonathan MirCha
Jonathan es apasionado del desarrollo web, especialista en Javascript, HTML5 o...