14 de febrero de 2008

Linux-next

Quizás en las noticias y en los sitios geeks oigan hablar de un proyecto llamado "linux next", tambien conocido como "Andrew's [Morton] dream". Con ese nombre, puede parecer una reorganización de Linux para solucionar sus problemas en el futuro. Pero en realidad, ese "next" no tiene nada que ver con el futuro de Linux como proyecto, sino más bien con el código que será incluido en Linus en la siguiente versión, es decir, un "linux-unstable".

¿En que consiste? El estilo de desarrollo actual, en el que se prueban las cosas inestables en la rama -mm que luego pasan a la rama principal, se lleva utilizando desde antes de que existiera Git. Cuando Linus pasó a utilizar Git como herramienta primaria, la rama -mm no cambió, en gran parte porque Andrew Morton prefirió seguir utilizando sus propias herramientas por ser más eficientes para su trabajo (magníficas utilidades que posteriormente otras personas evolucionaron en lo que llamaron "quilt" y que posteriormente Mercurial imitó al igual que Guilt, aunque nadie recuerde de quien fue la idea original). Al seguir el estilo tradicional, la rama -mm no se benefició de las enormes ventajas de la descentralización de git.

El resultado es que cada vez que Andrew Morton tiene que sacar una versión de -mm, tiene que coger copias de los árboles de desarrollo -git de cada subsistema, combinarlas y sacar la versión. El proceso de combinado no es sencillo: cada subsistema solo ha sido probado por su desarrollador, y al combinar varios subsistemas hay inifinidad de problemas de compilación, bugs, "choques" entre un subsistema y otro...Andrew Morton dice el proceso de sacar una versión de -mm le lleva un día entero, debido a la enorme cantidad de fallos y problemas que ha corregir.

"Linux-next" en realidad no es más que la utilización de git como parte del desarrollo "inestable" de Linux. Será un repositorio git del código que se incluirá en la siguiente version de Linux que se sincronizará diariamente con los repositorios git de los subsistemas de desarrollo. Eliminará los repositorios que den problemas o no compilen ese día, y será tambien una manera de que la gente atrevida pruebe el código experimental. Todo esto ayudará a probar el código experimental de Linux, y quitará trabajo a Andrew Morton, lo cual solo puede ser algo bueno.

No hay comentarios:

Publicar un comentario