Disclaimer: This is a personal web page. Contents written here do not represent the position of my employer.

Tuesday, December 06, 2005

 

Autopackage: sistema común de paquetería en Linux

Hace unas semanas, al hilo de una noticia sobre repositorios de Mandriva en BarraPunto, puse un comentario preguntando sobre una posible unión de esfuerzos en el mundo del software libre para mejorar y unificar el tan diverso mundo de los sistemas de paquetes software que tenemos actualmente en nuestras distribuciones.

Muchos me saltaron con la típica cantinela de que siempre es mejor la diversidad (arguyendo que los escritorios Gnome y KDE no se han unificado), pero en mi opinión hay ciertas áreas donde es mucho mejor la unificación que la diversidad, sobre todo en una cosa como ésta en la que no existen opiniones muy variadas sobre las funciones que debe cumplir un sistema de paquetes y dependencias (al fin y al cabo, todos cumplen las mismas funciones, pero con pequeñas diferencias). Además no estamos influenciados por decisiones "no técnicas", como ocurre con la eterna lucha KDE-Gnome, en la cual mucha gente intenta desplazar al contrario usando argumentos tan simples e inútiles como sus propios gustos.

El caso es que, como suele pasar con estas cosas, no soy el único que lo ha pensado, y de hecho ya hay gente que se ha puesto a trabajar. Lo comentan en una entrada de OSNews, en la que hacen referencia a un interesante artículo sobre el nuevo sistema de paquetes "AutoPackage" que nació hace poco y pretende venir para quedarse. Después de echar un vistazo al artículo, veo que no tiene el objetivo que yo planteaba desde un principio, pero sí pretendería separar los paquetes en dos tipos: los de sistema y los de usuario. De esta manera, el usuario podría instalar paquetes que no sean de sistema, sin necesidad de tener privilegios de administrador. Estos paquetes, además, deberían ser instalables en cualquier distribución. Los paquetes de sistema seguirían regidos por los sistemas de gestión de paquetes actuales, pero desde luego yo creo que éste es un buen comienzo para alcanzar el objetivo que yo planteaba y unificar éstos últimos también, así que me parece una iniciativa innovadora y muy interesante.

P.D.: Todo lo que sea unificar me gusta. Si estás interesado en modularizar y unificar el uso que haces del lenguaje JavaScript, no dejes de visitar mi proyecto GPL: AMUSE.

Actualización 05-FEB-2007: Hablando ahora de los sistemas de paquetes en el software libre en general, hay mucha gente que argumenta que son bastante mejores que los del software privativo, y no les voy a contradecir. Se basan en la comodidad de la resolución automática de dependencias, la instalación de únicamente piezas de software realmente necesarias (sin riesgo de spyware u otros) y la facilidad de configuración ya que incluso se hace más fácil que un típico asistente "Siguiente->Siguiente->Siguiente". Es cierto, sólo que con respecto al último argumento, hay veces en las que un asistente sí es mejor que un instalador completamente desatendido: cuando te da pistas de como empezar a utilizar el programa.

Esta idea me he planteado escribirla (porque ya la tenía en mi cabeza de hace bastante tiempo) al leer una entrada de Libertonia en la que un editor escribe:

(...) Como VDR sí estaba en mi distribución (Debian) me dije: "pan comido". Y una mierda. (...) Debian, que suelen darte todas las pistas necesarias para dejar funcionado cualquier paquete que instales, pensé que tras un apt-get ya iba yo a estar viendo la tele, y grabando... pues no. (...) Instalas el paquete y simplemente no ocurre nada. (...)

Y es que deberíamos tener un sistema estándar de "resumen de instalación de paquetes", en el que se le mostrase al usuario los principios básicos de uso del programa, el nombre de su invocación por línea de comandos o dónde se ha ubicado su icono de acceso directo. ¿No creéis?

Actualización 18-ABR-2007: No soy el único que se queja de que debería haber un estándar en el empaquetado. Aunque este sistema sea mucho mejor que el del software propietario, necesita seguir mejorándose. Una solución es que todo software use el sistema OpenSUSE BuildService, el cual es multi-distribución, es decir, preparas tu aplicación para el deployment una vez, y ya la tienes lista para n distribuciones.

Actualización 27-OCT-2009: Casi 4 años después de escribir la entrada inicialmente, no se ha solucionado el problema. El software opensource sigue dependiendo de complicados sistemas de despliegue de paquetes sin estándar definido (deb, rpm?). OpenSUSE BuildService ha ido ganando popularidad pero no ha ganado nicho oficial en otras distribuciones (quizás por el recelo de que el nombre de la distribución forma parte del producto, o por la simple impresión que da para los no iniciados de que no es una herramienta multi-distribución). Ahora en PlanetGnome se vuelve a hablar del tema pero no se menciona a AutoPackage, sino a otro sistema llamado Klik. En fin, ¿tendré que escribir aquí dentro de otros 4 años diciendo que el problema sigue sin resolverse? A veces la lentitud del progreso del open source me desespera.

Labels: ,


Comments:
Es mejor la diversidad.

Si un sistema fuese completamente superior al resto, él solo se adoptaría mayoritariamente por la comunidad. La diversidad no va en contra de la unificación, simplemente ofrece alternativas.

En realidad "AutoPackage" no unifica nada, diversifica. Es una alternativa más que será adoptada por la comunidad según su valía y si esta es alta podría unificar.

Tienes un blog bastante chulo y EMO unas ideas bastante radicales. Me gusta :-)

Un saludo.
 
Bueno, al final el tiempo es el que da la razón a las "profecías" como la que hice en esta entrada.

Resulta que ahora las distribuciones están optando por soluciones comunes, como smart. De momento SUSE/Novell ya se ha pasado, y en Ubuntu han anunciado que van a migrar a este sistema (reemplazándolo por el actual apt-get).

Saludos.

PD: Gracias por estar ahí y gracias por el piropo sobre el blog ;)
 
Creo que el próximo Ubuntu lo incluirá, pero no como remplazo del apt-get, al menos no lo espero.

El apt-get (o aptitude) es una excelente herramienta para instalar y administrar los paquetes, el Autopackage está bien para distribuir juegos o aplicaciones para todas las distribuciones de Linux de una sola forma.
 
Cuando se instala un programa y "no pasa nada" suele ser porque le han puesto al binario un nombre diferente al del programa y/o le han añadido mayúsculas al principio o son varios binarios desperdigados.

En cualquier caso con echar un vistazo al contenido del paquete Debian vía on-line o su homólogo en forma de programa de consola basta para tener "un resumen de la instalación".

No digo que automatizar el proceso no estuviera bien pero al ser un hecho que ocurre con poca frecuencia no suele ser un gran incordio y como ya he comentado creo que se debe más a una mala elección de los nombres que otra cosa.
 
Post a Comment



<< Home

This page is powered by Blogger. Isn't yours?

Categories

RSS of the category Gnome
RSS of the category Mono
RSS of the category C#
RSS of the category Programming
RSS of the category Mozilla
RSS of the category Web Development
RSS of the category Security
RSS of the category Open Source
RSS of the category Engineering
RSS of the category Misc
RSS of the category Politics

Contact with me:
aaragonesNOSPAMes@gnNOSPAMome.org

Archive
My Photo
Name:
Location: Hong Kong, Hong Kong
Follow me on Twitter