¡Hoy es el día de la fusión de código ("merge day") para Firefox!

¿Pero concretamente qué significa?

Primero, para el usuario final, significa que vamos a liberar entre hoy y mañana una nueva version de Firefox que pasará de la versión 54 a 55.

De la misma manera, las versiones Beta (y Developer Edition que se basa en Beta) pasarán de la versión 55 a 56 y Nightly pasa de 56 a 57.

Podemos resumir el estado de las ramas de Firefox con esta tabla:

57 56 55 54
Nightly Beta Release
Nightly Beta Release

Hablamos del día de la fusión de ramas porque (simplificando bastante el proceso) el código que teníamos en la rama "master" (para usar terminología git, aunque usemos mercurial en Mozilla) está fusionado en la rama Beta y el código que teníamos en la rama Beta está ahora en la rama Release.

Claro, puesto que el desarrollo se hace en la rama master (que llamamos mozilla-central), no hay nada anterior que fusionar y la única cosa que se hace es incrementar el número de versión en el repositorio.ly

El proceso de entrega de Firefox

Este cambio de número y de fusión de ramas de código nos lleva a estudiar un poco cuál es el proceso de desarrollo y de entrega que usa Mozilla para Firefox.

En los primeros años del desarrollo de Firefox, usábamos un modelo clásico de desarrollo en cascada con una entrega anual o cada 18 meses de una versión importante (Firefox 1.0, 1.5, 2.0, 3.0, 3.5, 3.6, 4.0) y parches de estabilidad y seguridad mensuales. Luego adoptamos un modelo más agíl en 2011 llamado modelo del tren, que el équipo de Chrome usaba (todavía recuerdo la presentación que nos hizó el "release manager" de Chrome en las oficinas de Montain View de Mozilla en 2010!).

A principios de 2016 hemos agilizado el proceso aun más con fechas de entrega "flotantes" que permiten adaptarse mejor a las necesidades del mercado, pero basicamente es el mismo modelo del tren.

Y finalemente, este año hemos simplificado otra vez el proceso con la supresión del canal Aurora que era un canal de estabilización intermediario entre Nightly y Beta.

Por cierto, ahora que sabéis que nuestro modelo de desarrollo se llama el modelo del tren, tweets de usuarios de Nightly como éste son menos crípticos:

¿Qué significa para los usuarios de Nightly en el marco de Quantum/Photon?

En este artículo anterior, explicaba que desde hace un año estamos invertiendo en un gran proyecto de modernización del código de Firefox enfocado en el rendimiento con una versión importante que integrará cambios importantes en noviembre. Esta version es la 57 y acabamos de pasar a Nightly 57.

Eso significa que en esta gran carrera desde julio 2016 para entregar un Firefox de nueva generación tanto a nivel del motor como de la interfaz, estamos en la recta final.

Como lo decía antes, el cambio de número de Firefox Nightly de hoy no es mas que eso, un cambio de número. Pero también marca el principio del ciclo de desarrollo 57 y la Nightly que tendremos dentro de 6 a 8 semanas será más o menos funcionalmente lo que entregaremos al gran público en noviembre. Excepto para cosas con poco riesgo con una petición explicita de los desarrolladoesd para una integración en otras ramas ("uplift requests"), el código integrado en los ciclos Nightly 58 y 59 no hará parte de Firefox 57.

Para la comunidad de voluntarios Mozilla, eso significa que si no usáis ahora Firefox Nightly, ahora es el momento perfecto para empezar a usarlo, reportar bugs y ayudarnos a pulirlo durante el verano.

Descargar Firefox Nightly: nightly.mozilla.org