social

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.

Esquemas de licenicamiento de Software Libre

Submitted by gwolf on Thu, 02/28/2008 - 17:46.
Written in...: 
2008

This is only a first approach, and not a presentation I'd like to regard to as finished. I was asked to present this as part of a panel in Linux World Mexico Conference & Expo 2008: A brief introduction to Free Software licensing schemes.

Resumen: 

Este es tan sólo un primer acercamiento, no es una presentación que yo sienta lista. Me pidieron que presentara esto como panelista en el Linux World México Conference & Expo 2008: Una breve introducción a los esquemas de licenciamiento de Software Libre.

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.

El arte de la administración de sistemas

Submitted by gwolf on Mon, 02/04/2008 - 20:01.
Written in...: 
2000

Presented on March 30, 2000, at CECEC 2000, ESIME Culuhacan

Resumen: 

Presentado el 30 de marzo del 2000 en el CECEC 2000 en la ESIME Culuhacan

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.

Razones para preferir y exigir desarrollos libres en sistemas informáticos gubernamentales

Submitted by gwolf on Mon, 02/04/2008 - 03:45.
Written in...: 
2003

Free Software has many advantages against propietary software in many areas. However, when we talk about the government, this goes soon beyond convenience - It is necessary that, if a government dependency hires or carries a given development, it should demand that the license it is made on is free and it is built over a free infrastructure. I gave this talk in Mexico city's Government's Encuentro de Informática de Otoño 2003, explaining the reasons for these demenads.

    Resumen: 

    Si bien en muchas áreas el software libre presenta amplias ventajas frente al software propietario, en el gobierno esto deja de ser simple cuestión de conveniencia - Es indispensable que, si una dependencia de gobierno va a contratar un desarrollo o llevarlo a cabo, exija que sea con licencia libre y sobre una infraestructura libre. Esta plática, que presenté en el Encuentro de Informática de Otoño 2003 del Gobierno del Distrito Federal, explica las razones.

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:

What is Free Software?/¿Qué es el Software Libre?

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

I have given this talk on a number of places. It answers a couple of very important questions, that for many people seem to be obvious: What is Free Software? What lies behind our movement? What implications does it have?
Of course, I try to give it a different emphasis, ellaborating on Free Knowledge, on software being an expression of science.

Resumen: 

Plática que he impartido en varios lugares ya que atiende a una duda que mucha gente puede dar por obvia: ¿Qué es el software libre? ¿Qué hay detrás de nuestro movimiento? ¿Qué implicaciones tiene?
Intento, claro está, responder estas dudas dando un énfasis diferente del más común; elaboro sobre del Conocimiento Libre, y en el software como una expresión de la ciencia.