Buenas tardes, compañeros y compañeras del software libre.

Es bien sabido que Canaima GNU/Linux es una de las distribuciones de Software Libre más importantes de Venezuela. Actualmente se incluye en más de 880 mil portátiles del proyecto Canaima Educativo, ha sido descargado más de 120 mil veces del portal oficial y se planea extender el Proyecto a toda la Administración Pública Nacional.

Sin embargo, la popularidad no lo es todo. Detrás de Canaima GNU/Linux existe un ciclo de desarrollo bastante particular, propio de la dinámica socio-tecnológica en que está envuelto. Si bien es cierto que éste ciclo no ha sido difundido con mucha claridad ni fuerza, - entre otras cosas porque aún están agregándosele elementos y definiendo procedimientos - , intentaré describir el procedimiento actual en aras de incentivar la participación de la Comunidad en los procesos tecnológicos de Canaima.

En ese sentido, podemos decir que básicamente el ciclo de desarrollo de Canaima sigue un flujo natural de los acontecimientos tal cual se reseñan en el esquema adjunto:

¿Quienes son los actores?

La comunidad canaima está conformada por un gran número de personas que tienen intereses comunes y que comparten un mismo espacio virtual conformado por una serie de herramientas y servicios condensados en una plataforma pública. Éstos actores provienen de distintas organizaciones y colectivos, a saber: el CNTI, Instituciones Públicas en general, Unidades Productivas, Cooperativas, Empresas Privadas, Activistas Sociales y Usuarios en general. Éste conjunto de personas poseen una dinámica propia, característica de sus realidades particulares; sin embargo, es posible diferenciar un ciclo que se ejecuta cada vez que se publica una nueva versión de Canaima GNU/Linux.

Cocinando una nueva versión de Canaima GNU/Linux

En teoría, una versión de Canaima es publicada cada ~6 meses en sincronía con la Cayapa. Para que ésto se cumpla, ciertos hitos deben ser alcanzados.

La primera meta es realizar un producto. ¿Quien puede realizar un producto para Canaima GNU/Linux? Cualquiera puede hacerlo, sin embargo te recomendamos ciertas cosas que te ayudarán a hacerlo con mayor calidad y eficiencia:

  1. Léete la guía de empaquetamiento con git-buildpackage.
  2. Participa en la lista de correo desarrolladores, discusión y soporte.
  3. Usa Canaima para todo.
  4. Infórmate acerca de las conclusiones a las que se llegaron en la última Cayapa.

¿Que producto hago? Existen dos formas de actuar en éste dilema: determinar y seleccionar una necesidad actual del Proyecto Canaima, a través de los medios de comunicación destinados a ello (Listas de Correo, Sistema de reporte de bugs, chat IRC, Cayapas y otros eventos sociales) o seleccionar un proyecto de iniciativa propia. Una vez concretado el producto que vas a hacer, cómo lo vas a hacer y en que tiempo, anúncialo, comunícalo a la comunidad y ¡Manos a la obra!

Es importante añadir tu proyecto en el Mapa de ruta de la próxima versión de Canaima.

Etapas de Desarrollo

Las etapas de desarrollo iniciales de un producto son locales e involucran casi cualquier elemento que al desarrollador se le ocurra, en fin, es producto de un proceso creativo que en mi opinión se acerca mucho al arte. Cuando tu proyecto tenga una estructura más o menos definida, es hora de versionarlo con git e ir publicando tu código; en ésta etapa entra en juego forja.softwarelibre.gob.ve.

“La forja” es un espacio público donde puedes alojar proyectos de software libre de una forma práctica y gratuita, bajo la plataforma de Canaima GNU/Linux y usando un repositorio git. Crea un proyecto y ve publicando tu código ahí.

A medida que vas madurando y depurando tu código, es buena idea ir también trabajando en la debianización del paquete fuente para finalmente generar el paquete binario con git-buildpackage.  Haz sucesivas pruebas de empaquetado con tu proyecto, y cuando llegues a un nivel en donde sea usable, puedes solicitar a través de la lista de correo desarrolladores@canaima.softwarelibre.gob.ve permisos suficientes en los servidores de la Plataforma Canaima para subir tus paquetes a la rama de desarrollo. En tu solicitud debes incluir:

  1. Nombre del Paquete (Completo).
  2. Descripción de su utilidad.
  3. Dependencias con otros paquetes.
  4. Dirección del código fuente.
  5. Direccción del paquete .deb tal cual va a ser incluído en los repositorios.

Una vez otorgados los permisos, puedes subir cuantas versiones consideres, con la frecuencia que necesites. Está demás decir que cualquier intento de violar la privacidad del usuario o de inyectar código malicioso resultará en una severa penalización.

Cuando sientas que haz llegado a una versión estable de tu paquete, es hora de incluírlo en la rama pruebas, para que el colectivo lo use y ofrezca su retroalimentación. El procedimiento es similar al anterior, realiza la petición de inclusión del paquete en la rama pruebas incluyendo la siguiente información:

  1. Nombre del Paquete (Completo).
  2. Descripción de su utilidad.
  3. Dependencias con otros paquetes.
  4. Dirección del código fuente.
  5. Direccción del paquete .deb tal cual va a ser incluído en los repositorios.

Finalmente, cuando todos los objetivos establecidos en el mapa de ruta se hayan cumplido, todos los paquetes de la rama pruebas serán pasados a estable, generando así una nueva versión de Canaima. Los medios vivos instalables serán generados a través de canaima-semilla.

¡Happy Programming!