Puede ser una peculiaridad personal mía, pero me gusta mantener actualizado el código de los proyectos vivos, incluidas las bibliotecas / marcos que utilizan. Parte de esto es que creo que una aplicación web es más segura si está completamente parcheada y actualizada. Parte de esto es solo un toque de compulsividad obsesiva de mi parte.
En los últimos siete meses, hemos realizado una reescritura importante de nuestro software. Dejamos caer el framework Xaraya, que era lento y esencialmente muerto como producto, y lo convertimos a Cake PHP. (Elegimos Cake porque nos dio la oportunidad de hacer una reescritura muy rápida de nuestro software y un aumento de rendimiento suficiente sobre Xaraya para que valga la pena).
Implementamos pruebas unitarias con SimpleTest, y seguimos todas las convenciones de nombres de archivos y bases de datos, etc.
Cake ahora se está actualizando a 2.0. Y, no parece haber una ruta de migración viable para una actualización. Las convenciones de nomenclatura para archivos han cambiado radicalmente, y dejaron SimpleTest a favor de PHPUnit.
Esto nos obligará a permanecer en la rama 1.3 porque, a menos que haya algún tipo de herramienta de conversión, no será posible actualizar Cake y luego mejorar gradualmente nuestro código heredado para obtener los beneficios del nuevo marco de Cake . Entonces, como de costumbre, terminaremos con un marco antiguo en nuestro repositorio de Subversion y simplemente lo repararemos a nosotros mismos según sea necesario.
Y esto es lo que me atrapa cada vez. Muchos productos de código abierto no facilitan la tarea de mantener actualizados los proyectos basados en ellos. Cuando los desarrolladores comiencen a jugar con un nuevo juguete brillante, se realizarán algunos parches críticos en las ramas más antiguas, pero la mayor parte de su atención se centrará en la nueva base de código.
¿Cómo manejas los cambios radicales en los proyectos de código abierto que usas? Y, si está desarrollando un producto de código abierto, ¿tiene en cuenta las rutas de actualización cuando desarrolla nuevas versiones?