Analogías entre gestión de software y de música

Desde hace poco tengo a mi disposición una iPod. No es que esté orgulloso, máxime cuando por el momento me resulta muy poco asequible cambiarle el firmware por uno libre.

Aunque no todo está perdido: afortunadamente mi iPod nunca conocerá iTunes :).

En cualquier caso, dejando a un lado el dispositivo de moda, el haber dedicado algo de tiempo a organizar la música, conocer qué son los Podcast, etc. me ha hecho pensar sobre un concepto sencillo que nunca he aprovechado demasiado: las playlist.

Aunque suene trivial, los dispositivos de almacenamiento que usaba hasta la fecha (fundamentalmente cds o mp3 de pequeña capacidad) permitían no esforzarme mucho en cómo organizar los archivos: un directorio por autor, otro por disco y poco más. Fue cuando perdí la organización presente en mis cds cuando me di cuenta de que en realidad, las playlist no son más que lo que se denominan tags en sistemas de control de versiones como CVS o Subversion.

En el ámbito de desarrollo de software (que es dónde mayor acogida tienen estos sistemas, a pesar de que es provechoso para cualquier documento que vaya evolucionando) se utilizan tags y branches para referenciar colectivamente un conjunto de archivos (en el primer caso) y poder bifurcar el progreso de los mismos (en el segundo). Es decir, a partir de un nombre común, se puede obtener la foto de los archivos en el instante en el que se creó el tag.

Las playlist, por otro lado, pueden llevar asociadas connotaciones semánticas muy diversas en función de la intención del usuario o de quien las cree, pero en el fondo son lo mismo: una etiqueta única que permite obtener un conjunto concreto de ficheros.

Si algunos habéis descubierto ya el placer de usar Amarok, seguramente conozcáis ya sus playlists dinámicas, definidas en función de lo que más te guste o más frecuentemente escuches. Este tipo de playlists son análogas a los branches, con una salvedad: los archivos de mp3 son fijos, con lo cual el concepto de branch se ve reducido a la evolución temporal de archivos cuyos únicos cambios son ser añadidos o borrados del branch.

Y para terminar las analogías, el calvario de actualizar los tags Id3 (que por otro lado se ve aliviado con EasyTag) no se da tanto en el software, ya que los metadatos asociados a cada archivo son escasos.

Aun así, algo parecido se da cuando uno se enfrenta a conflictos derivados de los ^M y atributos como el "eol-style" (en Subversion). Una diferencia fundamental es que, en el caso de los archivos ogg o mp3, el nombre del fichero es un metadato más (con EasyTag se puede generar a partir de los demás), mientras que en los sistemas de gestión de versiones lo habitual es que se use como clave primaria (tal como lo hace el sistema de archivos).

Lo bueno de los Id3 es que definen un conjunto de atributos fijo. Lo malo es que los valores por lo general estarán desnormalizados.

Uno puede normalizar su colección, con esfuerzo, pero es dudoso que si la comparara con la de otra persona el criterio coincidiera sin problemas, y el encoding no hace sino empeorarlo.

Ojalá se llegara a un punto en el que, aparte de modificar el continente, fuéramos capaces de actualizar el contenido con la misma facilidad, tal como se hace en el software libre.

Obstáculos: DRM y creatividad musical. Y es que ya se puede vivir sin software propietario, pero el porcentaje de música libre es irrisorio.

  • Posted: 2006-12-21 10:02 (Updated: 2008-09-21 07:32)
  • Author: chous
  • Categories: chous spanish

Comments

No comments.