Home > Community > Actions > Development_model

Community

Cooker: un modelo de desarrollo colaborativo

Un modelo de desarrollo colaborativo

Los productos de Mandriva son desarrollados usando un modelo de desarrollo colaborativo. Por lo que, ¿qué significa esto para nosotros, usuarios "regulares" de Linux? Cada nueva versión de la distribución Mandriva Linux es desarrollada (ensamblada, creada, producida) por un grupo de desarrolladores (programadores, empaquetadores, etc.) de Mandriva y por mucha gente de la comunidad de Linux que les divierte participar e involucrarse. Este proceso da como resultado un sistema operativo con un extremadamente alto nivel de calidad que resulta difícil (si no imposible) de igualar usando cualquier otro método.

En la industria de software tradicional (ó cerrada), el desarrollo tiene lugar de puertas adentro y está restringido a un equipo limitado de colaboradores. Compare esto con el modelo colaborativo del Código Abierto, que recoge las mejores ideas de parte de desarrolladores y usuarios de todo el globo, para resultar en una variedad riquísima de técnicas y soluciones.

Mandriva toma la filosofía del Código Abierto y la extiende incluso más allá con "Cooker". El Cooker es una distribución de Mandriva Linux en constante evolución, que es regularmente puesta al día con el mejor software del mundo de Linux y con los propios desarrollos de Mandrivasoft. Cooker está ampliamente disponible para el público y numerosos colaboradores hacen recomendaciones y proporcionan nuevas ideas y paquetes. La distribución Mandriva Linux tal y como la conocemos en la actualidad es un "parón" ó punto y seguido de Cooker en un punto determinado del tiempo, que luego es seguido por un cuidadoso período de depuración. Como resultado de Cooker, Mandriva Linux es realmente guiada por las necesidades de los usuarios ya que la comunidad influencia en gran medida en su desarrollo.

Lo que sigue a continuación es un breve resumen de cómo se trabaja el proceso de desarrollo en Mandriva.

Mezcla

El primer paso de un nuevo círculo de desarrollo es cuando todo el mundo tiene la gran oportunidad de involucrarse. En este temprano estadío, se discuten nuevas ideas como por ej. posibles mejoras a aplicaciones existentes, depuración de ideas,y se consideran nuevos paquetes de software.

La imagen de la "cocina" ("cooking") encaja perfectamente con esta fase. Imagine que muchos y grandes "cocineros" de todo el mundo han empezado a juntar la comida más maravillosa que usted jamás ha aspirado a comer. Todos juntos entorno al mismo puchero, mezclan varios ingredientes para satisfacer sus necesidades corporales, mientras tienen cuidado de obtener un resultado bastante delicioso y comestible.

La evolución del progreso consiste en ciclos donde los paquetes son añadidos a la base existente de software, seguidos por una prueba y corrección de cualquier conflicto y/ó fallo(bug) encontrado. Cada paquete recientemente añadido requiere a veces de un proceso de modificación ó adaptación al software existente. Por ejemplo, la introducción de un nuevo "kernel" de Linux (que es el corazón del sistema operativo) con frecuencia lleva a cambios en la forma en que otro software funciona, por lo que todo debe ser nuevamente probado.

A los participantes se les anima a bajar de la red e instalar Cooker en sus propios ordenadores y reportar los resultados. Los desarrolladores y los colaboradores leen entonces estos reportes y presentan posibles soluciones como corrección a los problemas; si una aplicación necesita corrección, un colaborador puede modificar dicha aplicación que molesta y presentarla para su inclusión; si un colaborador concreto quiere ver una aplicación determinada añadida a la distribución, él ó ella pueden empaquetarla ellos mismos y "subir" su contribución a un servidor dedicado a tal fin. Los desarrolladores de Mandriva examinan las aportaciones y determinan la utilidad de todas las aplicaciones y parches enviados, antes de decidir incluirlos ó no en Cooker.

Congelación

Después de un período de fuerte desarrollo(programación) viene un período llamado "congelación de características"("feature freeze") durante el cual sólamente se añaden a Cooker correcciones de errores(bugs). El equipo de desarrollo no sólo comprueba que esos determinados "bugs" han sido corregidos, sino que también busca y prueba un conjunto de problemas variados que siempre surgen. El objetivo de esta fase es la estabilidad -- Cooker debería ser lo suficientemente estable como para poder ser temporalmente congelada y hacerla disponible como versión "beta" para su presentación mundial. Usualmente cualquier imagen ISO es liberada de tal forma que cualquiera pueda bajarla de la red y la pueda "quemar" en un CD para su fácil instalación en un sistema. Las liberaciones Beta nos permiten recibir un feedback de los usuarios y la comunidad GNU/Linux en general. Puede a veces haber tres ó cuatro versiones beta en un ciclo completo.

Un "candidato a liberación"("release candidate") es una versión de la distribución que ha sido cuidadosamente probada y depurada(de-bugged). Si es lo suficientemente buena como para ser la versión final, entonces se le pasa a llamar "Gold" y es liberada al mundo entero.

Cooker nunca duerme. Incluso el día después de la salida de una nueva versión de Mandriva Linux al público y ya mandada a empaquetar, el ciclo de desarrollo continua para futuras versiones. Cualquiera que sea el día de la semana, puede estar seguro que los colaboradores de Cooker están trabajando duro para asegurar que usted tendrá siempre el sistema operativo Linux más al día y más fiable posible.

Esperamos que usted tome esta breve introducción al desarrollo de Cooker y el Código Abierto como nuestra invitación a que se involucre y se una al proceso. No necesita ser un programador ó un hacker del kernel para ayudar -- los que prueban las versiones beta son cruciales como parte del proceso y siempre los necesitamos para probar las numerosas configuraciones del sistema. Por favor, vea la página sobre la lista de correo de Cooker.