sábado, 10 de marzo de 2007

Estructura de los proyectos de codigo abierto

Aunque parezcan anárquicos, los proyectos de codigo abierto son, en muchos casos, sumamente estructurados y ordenados. El hecho de que sean montados exclusivamente via Internet, no quiere decir que cada uno haga lo que quiera. Existen componentes y grupos de trabajo. Los componentes que aparecen en todo proyecto de c¢digo abierto son:

Project Leader (lider de proyecto): Es quien esta a cargo de tomar las decisiones m s importantes. Generalmente, es quien inicia el desarrollo del programa.

Grupo 'devel': Son los programadores (developers) estables del proyecto. Colaboran diariamente con el.

Colaboradores externos (contrib): Son programadores que ocasionalmente hacen algún aporte al proyecto.

Testers: Son personas dedicadas a probar las funcionalidades del programa y reportar errores encontrados al grupo 'devel'. Estas personas, trabajan sobre un sistema de reporte y administración de errores llamado 'bugtracker', el cual trataremos mas adelante.

Documentadores (doc): Son personas que se dedican a documentar manuales sobre la utilizacion del programa. Pueden dividirse en subgrupos por idiomas. Este grupo del proyecto posee su propio líder de area. Mantenedor del código fuente (source mantainer): Es quien se encarga de generar los paquetes de distribución del programa. Recibe el código fuente con el OK del líder del proyecto, recibe la documentación correspondiente del grupo 'doc' y entonces genera un paquete. Dicho paquete está generalmente en formato .tar.gz, rpm o deb y es el que los usuarios se bajarán más tarde de Internet.

Publicacion (pub): El paquete que genera el mantenedor del codigo fuente es enviado luego al grupo de publicación, quien se encarga de generar los sitios web del proyecto, mantenerlos actualizados y anunciar las nuevas versiones del programa.

Como ven, hay muchos componentes esenciales en un proyecto de código abierto. Generalmente, todos estos componentes no aparecen desde el primer momento de nacimiento del proyecto, sino que a medida que el proyecto crece, la gente comienza a colaborar y se forman los grupos anteriormente descriptos. Cuando una persona hace un proyecto nuevo y lo pone en Internet por primera vez, esa persona es el programador, el lider, el desarrollador de documentación, el encargado de probarlo, etc… Empieza de cero, y a medida que la gene comienza a colaborar, delega tareas.

Relación usuario-proyecto
Los usuarios de código abierto, generalmente gozan de puertas abiertas de comunicación para contactarse con los responsables de las diferentes áreas de desarrollo del proyecto. Los recursos de comunicación son básicamente 3:

- Listas de correo de usuarios (users)

- Foros de discusi¢n en el sitio del proyecto

- Acceso al sistema de bugtracking.

Como verán, todos son servicios de comunicación montados sobre la Internet, que es la gran responsable del éxito que gozan el código abierto y el software libre.

No hay comentarios: