debian

Integrating Perl in a wider distribution: The Debian pkg-perl group

Submitted by gwolf on Mon, 03/03/2008 - 22:32.
Written in...: 
2007

Perl modules are very well organized in CPAN: They can usually be easily found and, thanks to tools such as the CPAN shell, they are easy to install and update even by novice users. However, when people start using Perl systems (as opposed to using Perl for writing such systems), asking them to take care of the dependencies or having them worry about different distribution architectures is a pain that should be spared from them.
In my talk, I will describe how Debian (and other Free Software distributions) addresses this problem by packaging a large subset of the CPAN archive, what is the task and scope of Debian pkg-perl team, some of the tools we use - and, most importantly, what is the best way for us to interact with you, the upstream authors' community - regarding our bug tracking systems, regarding module building and dependencies information, etc.
I presented this talk at YAPC::Europe 2007, Vienna, August 2007.

Resumen: 

Los módulos de Perl están muy bien organizados en el CPAN: Son fáciles de encontrar, y, gracias a herramientas como el shell de CPAN, son fáciles de instalar y actualizar hasta por usuarios novatos. Sin embargo, cuando la gente no involucrada comienza a utilizar sistemas basados en Perl (en contraposición con utilizar Perl para escribir dichos sistemas), pedirles que se preocupen de cubrir las dependencias o que tengan en mente diferentes arquitecturas de distribución de software es una molestia por la que debemos evitar que pasen.
En mi plática, describo cómo Debian (y otras distribuciones de Software Libre) lidian con este problema, empaquetando un amplio subconjunto del archivo CPAN, cuál es la tarea y misión del equipo pkg-perl de Debian, algunas de las herramientas que utilizamos - y más importante que todo lo demás, cuál es la mejor manera en que podemos interactuar con ustedes, la comunidad de autores - respecto a nuestros sistemas de seguimiento de fallos, construcción de módulos, información de dependencias, etc.
Presenté esta plática en el YAPC::Europe 2007, Viena, agosto de 2007.

Coordinación de esfuerzos en grupos de desarrollo e integración de Software Libre

Submitted by gwolf on Wed, 02/20/2008 - 21:28.
Written in...: 
2008

I sent this short article for publication at the Software Gurú magazine. It describes the work we do at Debian's pkg-perl group. This is based on my slightly earlier talk Integrating Perl in a wider distribution: The Debian pkg-perl group, shortened and translated to Spanish.

Resumen: 

Envié el siguiente artículo corto para su publicación en la revista Software Gurú. Describe el trabajo que hacemos en el grupo pkg-perl de Debian. Esto está basado fuertemente en mi plática Integrating Perl in a wider distribution: The Debian pkg-perl group, reducido y traducido al español.

Coordinación de esfuerzos en grupos de desarrollo e integración de Software Libre

Gunnar Eyal Wolf Iszaevich

Instituto de Investigaciones Económicas - UNAM

Acercarse a comprender el funcionamiento y la organización de las tareas dentro de las comunidades de desarrollo de software libre es una tarea harto complicada ante quien se acerca con curiosidad, proveniente del mundo del software propietario, desarrollado e integrado centralmente y dentro de compañías que operan como "cajas negras" - Sin exponer sus procesos, sin ofrecer a los clientes una ventana a cada uno de los momentos de su proceso de desarrollo. Comprender cómo funcionan las comunidades de Software Libre es una gran oportunidad para comprender distintas metodologías de ingeniería de procesos, en entornos donde todas las metodologías formales simplemente no tienen cómo ser aplicadas.

El ejemplo que presento se centra en el trabajo que realizo en el grupo de empaquetamiento de módulos de Perl (pkg-perl) para la distribución Debian GNU/Linux - Perl es un lenguaje de programación muy popular, especialmente para las tareas de administración de sistemas y de desarrollo de sitios Web, y uno de sus más importantes recursos es el CPAN (Comprehensive Perl Archive Network), una enorme biblioteca de módulos nacida en octubre de 1996, y que a febrero del 2008 cuenta con más de 13,000 módulos independientes.

CPAN ofrece a sus usuarios, además, herramientas para el desarrollo y seguimiento colaborativo, como un sistema de seguimiento de fallos y un sistema de organización, búsqueda y consulta de la documentación de dichos módulos.

El proyecto Debian, por su parte, es la distribución de software libre, hoy por hoy, más grande del mundo, con más de 15,000 paquetes fuente independientes. Su propósito es presentar una colección coherente, consistente y con un elevado nivel control de calidad.

El reto del grupo pkg-perl es empaquetar (de una manera consistente con las políticas de Debian) y dar seguimiento a los fallos que vayan apareciendo en dichos paquetes. Debian ofrece a sus usuarios un sistema de seguimiento de fallos centralizado a través del cual pueden comunicarse directamente con los "mantenedores" de cada uno de los programas. Son ellos los responsables de determinar, para cada fallo, si cae en el ámbito de la consistencia del sistema Debian (y por tanto debe ser corregido directamente por ellos) o si es relativo a la lógica de uno de los paquetes (en cuyo caso debe ser corregido en coordinación con el autor de dicho programa, para que la corrección "fluya" hacia las otras distribuciones que lo integran y, en general, hacia todos sus usuarios).

Hasta hace unos cuatro años, la norma en Debian era que cada mantenedor fuera responsable exclusivo de los paquetes que le interesaran; en 2003 nació el sistema Alioth, basado en GForge, y ofreciendo de una manera centralizada las herramientas necesarias para un verdadero desarrollo colaborativo, se comenzaron a configurar grupos amplios de mantenimiento de infraestructura - Uno de los primeros en aparecer, ante la iniciativa de Joachim Breitner, fue pkg-perl. El eje fundamental en torno al cual gira el trabajo del grupo es el depósito Subversion, donde mantenemos sobre un esquema de manejo de versiones todos nuestros paquetes, programas y documentos, así como los cambios independientes que vamos realizando sobre de ellos.

Los módulos del CPAN ofrecen varias ventajas para su mantenimiento masivo colaborativo - A diferencia de lo que ocurre en muchos lenguajes, casi la totalidad los módulos están basados en una estructura de compilación ampliamente conocida (ExtUtils::MakeMaker o Module::Build). En primer término, esto permitió la creación de dh-make-perl, un script bastante genérico cuyo objetivo original era simplificar la creación de paquetes Debian directamente a partir del CPAN para ser instalados localmente por los administradores, pero que fue extendido por el grupo pkg-perl para automatizar la creación de paquetes.

Si bien formalmente el grupo pkg-perl cuenta con 70 miembros, en todo momento hay aproximadamente 15 miembros activos. Actualmente, el grupo es responsable por 660 paquetes - Responsable de dar seguimiento a los fallos reportados, de mantenerlos al día (tanto respecto a nuevas versiones producidas por sus autores como respecto a las políticas en Debian, que van cambiando poco a poco reflejando la evolución del proyecto), de realizar operaciones transversales de control de calidad a través de todos los paquetes, y demás.

Para simplificar la coordinación de todas estas tareas, los integrantes del grupo (especialmente Martín Ferrari, de Argentina, Gregor Herrmann, de Austria, y Damyan Ivanov, de Bulgaria) hemos creado un script que compara el estado de los módulos en CPAN, los paquetes en el depósito Subversion, los reportes en el sistema de seguimiento de Debian, y los paquetes publicados en la distribución misma de Debian. Hoy en día, este script es nuestra principal herramienta, brindándonos un reporte de estado condensado y adecuado específicamente a nuestro flujo de trabajo - Y tan útil resulta este resumen que actualmente estamos adecuando este script para que lo utilicen también otros grupos con un enfoque similar; probablemente para cuando este artículo esté impreso, lo estén utilizando ya los grupos de empaquetamiento de Python y Java - habiendo varios más en el horizonte.

En resumen, el ejemplo que aquí presento es sólo uno de tantos - Pero es ilustrativo. Bajo el modelo del software libre, las barreras entre desarrollo e integración se desvanecen, y el contacto directo entre usuario final y los desarrolladores deja de ser una rara ocurrencia, y se vuelve la norma - algo que damos por supuesto en todo momento de nuestros desarrollos.

Aprovechando a Debian para la administración de sistemas

Submitted by gwolf on Mon, 02/04/2008 - 05:09.
Written in...: 
2006

Beyond what the Debian policy gives us, a highly coherent system in which everything is in its place and works as it should (for what we the system administrators are really thankful for), we can find a great amount of tools for easing the homogeneity in the administration both in the planning of its package management system as in many packages we have at our disposition. We will go through this, as well as the process of creating .deb packages, beyond the basic instructions. This talk was originally prepared for CICOL, June 2006

    Resumen: 

    Más allá de lo que ya nos dan las políticas de Debian, un sistema altamente coherente en el cual todo está en su sitio (lo cual bendecimos los administradores de sistemas), tanto en la planeación de su sistema de paquetes como en varios paquetes que tenemos a nuestra disposición encontraremos una gran cantidad de herramientas para facilitar la homogeneidad en la administración de sistemas. Revisamos algunas de ellas, así como el proceso de creación de paquetes .deb, más allá de las instrucciones básicas. Preparado originalmente para el CICOL, junio 2006

Software Libre: Un modelo alternativo para la producción de conocimiento

Submitted by gwolf on Mon, 02/04/2008 - 04:58.
Written in...: 
2005

This talk is basically the result of mixing What is Free Software and Quality Assurance in Free Software projects, emphazising in the knowledge production aspects related to Free Software. This talk was first given at the UNAM Economical Research Institute, April 12, 2005.

  • Source Magicpoint format
  • Resumen: 

    Esta plática es básicamente la mezcla de ¿Qué es el software libre? y Control de calidad en proyectos de Software Libre, enfatizando en los aspectos relativos a la producción del conocimiento que propone el Software Libre. La plática fue impartida por primera vez en el Instituto de Investigaciones Económicas el 12 de abril del 2005.

Participación en proyectos de Software Libre: Aspectos técnicos y sociales

Submitted by gwolf on Mon, 02/04/2008 - 04:18.
Written in...: 
2007

This talk is heavily based on QA in Free Software projects; it has basically been reformatted, rearranged and updated. So yes, if it sounds familiar... it is because it is so.

Resumen: 

Esta plática está basada fuertemente en Control de calidad en proyectos de Software Libre; básicamente, fue reformateada, reacomodada y actualizada. Así que, si el contenido te parece similar, es porque lo es.

Control de calidad en proyectos de Software Libre

Submitted by gwolf on Mon, 02/04/2008 - 04:06.
Written in...: 
2004

How is Quality Assurance handled in Free Software projects? Even more, what does Quality Assurance mean in the Free Software world? The Debian project is analyzed as an example. This talk was prepared to be presented in CLEI2004, Arequipa, PerúForman parte los siguientes archivos:

Aspectos sociales del Software Libre

Submitted by gwolf on Sun, 02/03/2008 - 21:40.
Written in...: 
2003

What social characteristics can define the Free Software developers? Are we really a homogeneous group? Which problems can appear when facing a global project? How can we avoid them? I analize mainly the Debian project, comparing a bit with the OpenBSD and Ximian/Gnome projects.
This talk was prepared for the 2003 GULEV conference.
It is available as:

Introducción a Debian GNU/Linux

Submitted by gwolf on Sun, 02/03/2008 - 17:14.
Written in...: 
2002

In this presentation, I explain what is Debian GNU/Linux, and what makes it be what it is. I presented it for Departamento de Seguridad en Cómputo's GASU seminar, May 2002.

Breve introducción a los sistemas de manejo de paquetes / Brief introduction to package management systems

Submitted by gwolf on Sun, 02/03/2008 - 16:15.
Written in...: 
2002

A presentation prepared for Días de Software Libre, confernce organized by Melix at CUCEI (Guadalajara, May 2002). Here I talk about what are package management systems, why are they needed in modern operating systems, the main characteristics
for the main package management systems, and briefly explain how to create .deb (Debian) packages.
This talk is available as:

Resumen: 

Plática que preparé para los Días de Software Libre, organizado por Melix en el CUCEI (Guadalajara, mayo 2002). Hablo primero acerca de qué son y por qué son necesarios los sistemas de manejo de paquetes en los sistemas operativos modernos, menciono las principales características de los principales sistemas de paquetes, y explico brevemente cómo crear paquetes en formato .deb (para Debian).
Esta plática está disponible en dos formatos: