Un proyecto de software libre es aquel que cumple lo que describe la licencia GPL, dándote como usuario:

  • Libertad de usar el software para cualquier propósito
  • Libertad de cambiar el software para que se ajuste a tus necesidades
  • Libertad de compartir el software con tus amigos y vecinos
  • Libertad para compartir los cambios que hagas

Lo más apasionante del movimiento del software libre es que la capacidad de desarrollo que tienen estos proyectos supera la de cualquier empresa de software, porque tienen potencialmente muchos más programadores de las que la mayoría de presupuestos pueden contratar. Por eso estas aplicaciones en ocasiones rompen todos los moldes.

Por elegir un ejemplo, de vez en cuando me fascina darme una vuelta por la página de desarrollo del proyecto MAME y ver en qué están trabajando.

(MAME) es un emulador de máquinas recreativas, las máquinas de videojuegos que funcionan con monedas que suelen estar en lugares públicos (bares, boleras, salones recreativos, etc.). Para hacer funcionar un juego, se requiere su correspondiente ROM (archivo con una imagen de la ROM de la máquina, que contiene el juego en sí).

Este proyecto no habría sido posible llevarlo a cabo de otra manera, por los problemas legales y la dificultad técnica que conlleva. Requiere de un equipo multi-disciplinar (software, hardware, criptografía, gráficos, documentación, investigación…), una coordinación extraordinaria, y enormes horas de trabajo. Cada juego es diferente en sus características, y requiere casi un desarrollo a medida.

Eso nos lleva a XBMC y al script tvalacarta. A pesar de que estoy muy satisfecho con el resultado, mi trabajo ha sido muy simple. Únicamente he usado mis conocimientos de tecnología web y programación para interpretar los datos de las páginas web de los proveedores y averiguar la URL de descarga de los vídeos.

Pero esto no habría sido posible sin el script XOT-UZG, que ya implementa un sistema donde todos los demás detalles están resueltos. Yo ni siquiera sabía programar en Python, y habría requerido un tiempo del que no dispongo aprender este nuevo lenguaje y el API de XBMC.

A su vez esto no habría sido posible sin XBMC. Un proyecto que el autor de este blog denomina muy acertadamente el «padre de muchos los Media Center actuales». Mediaportal, Boxee, Plex…

Miles de horas de desarrollo desinteresado han dado al mundo una aplicación que el resto de Mediacenters sólo pueden aspirar a copiar. Me gustaría ver de donde viene la inspiración de Windows Media Center, Apple TV… esa gente no suele ser tan lista 🙂

Pero esto no acaba aquí. XBMC no es nada sin mplayer, uno de los reproductores que incorpora y que también es en si mismo un proyecto de enormes proporciones. Por no hablar de Python (el lenguaje de script que incorpora), curl (el cliente http), y otros muchos.

El otro día volví a tropezar con una frase, que inspira el título del programa de Radio 5 «A hombros de gigantes», y que se me antojó muy apropiada para describir lo que pienso sobre esto:

«Si he visto más lejos es porque estoy sentado sobre los hombros de gigantes»

Podéis ver el origen de la frase en la Wikipedia.

Me gustaría que el script llegara a ser algo realmente revolucionario (ideas no me faltan), pero en cualquier caso no sería nada sin toda esta gente que ha dedicado su tiempo a estos proyectos. Sin el movimiento del software libre.

Como anécdota y por si alguien no lo sabe, el autor original de XOT-UZG está molesto porque no le ha gustado que utilice su script a pesar de que lo distribuía con una licencia de software libre (GPL v3). Tuvimos un poco de tensión en el foro de XBMC discutiendo sobre el tema. Él ha cambiado el modelo de licencia (a un modo «Non-Derivative-Works») y ahora XOT-UZG ya no es sofware libre.

Claramente Basje, no has entendido de que va todo esto…