logo de joomlaEl día 12 de agosto se descubrió una vulnerabilidad de seguridad crítica que afectaba a Joomla 1.5.5 (la más nueva hasta el momento) y a todas las versiones anteriores. Lo que la mayoría no conoce es todo el trabajo detrás de escena que ocurrió ese mismo día para solucionar el bug. Un equipo enorme de personas se coordinarion y trabajaron en forma inmediata para crear la versión 1.5.6.

Publicar una nueva versión es un proceso que normalmente lleva dos semanas (y a todo un equipo) dedicadas a la actividad: desde seleccionar qué artefactos van a arreglarse, traducciones, hasta la publicación del anuncio en el sitio. Todos estos pasos ocurrieron en MUY poco tiempo.

A continuación un paso-a-paso de los eventos que hicieron posible a Joomla 1.5.6.

15:50

Marijke Stuivenberg, miembro del Escuadrón de Bugs, le informa al escuadrón sobre una vulnerabilidad reportada para Joomla 1.5.5.

15:55

Los miembros del Escuadrón de Bugs Jennifer Mariott, Elin Waring y Marijke (junto al coordinador de desarrollo Wilcon Jansen, el coordinador del blog Anthony Ferrara y al vice presidente de OSM Rob Schley) confirman la existencia de la vulnerabilidad y la reportan como válida.

15:56

Se les notifica del asunto a todos los miembros disponibles del Grupo de Trabajo, al Escuadrón de Bugs y al Equipo Principal.

El Escuadrón de Bugs confirma que el SVN para 1.5.x está estable y listo para un release inmediato luego del arreglo pendiente.

Se les informa a los moderadores del foro, y se les pide que quiten toda referencia al asunto hasta el release.

16:05

Se genera un patch y se lo entrega al Escuadrón de Bugs para testeo y confirmación del arreglo.

16:20

Se confirma que el patch soluciona la vulnerabilidad.

Se escribe el borrador del anuncio para la página principal.

16:30

Se realiza el commit del patch en el SVN junto con todos los preparativos para el release.

Se congela el branch de Joomla 1.5 para el ciclo de release. El Escuadrón de Bugs comienza el testing de saneamiento y operaciones del SVN.

16:46

Se escribe el borrador para el anuncio de seguridad en developer.joomla.org.

17:20

Se le pasa a los traductores el anuncio para la página principal.

Se prepara a Joomlacode para el release.

17:30

El Escuadrón de Bugs confirma el saneamiento del SVN y que todos los preparativos para el release están a la espera.

Comienza la generación de los paquetes.

17:50

Se genera el paquete para la descarga completa.

18:05

Se le entrega el paquete al Escuadrón de Bugs para validación y testing.

18:30

El Escuadrón de Bugs confirma la saniidad del paquete; se completan los últimos pasos antes del release.

18:40

Se publican los anuncios en la página principal y el reporte de seguridad para desarrolladores.

Se publica el paquete para descarga completa.

19:30

Se testean todos los paquetes de patch, y se publican para descarga. Con esto se completa el ciclo de release.

Conclusión

  • Tiempo total transcurrido desde el reporte de la vulnerabilidad hasta el release inicial: 2 horas 50 minutos.
  • Tiempo total transcurrido desde el reporte de la vulnerabilidad hasta completar el ciclo de release: 3 horas 40 minutos.
  • Cantidad de personas involucradas directamente: entre 20 y 30.

 

¿Cuánto tiempo transcurre en el lugar donde trabajan para arreglar un bug? ¿Tienen un proceso de arreglo de errores críticos que asegure la calidad (y que no sea "tira líneas en producción hasta que ande")?

Inspiración.

"Si tú tienes una manzana y yo tengo una manzana e intercambiamos las manzanas, entonces tanto tú como yo seguiremos teniendo una manzana cada uno. Pero si tú tienes una idea y yo tengo una idea, e intercambiamos las ideas, entonces ambos tendremos dos ideas"

Bernard Shaw