miércoles, diciembre 07, 2005

Detesto los paquetes - Parte 2

Definitivamente creo que la forma en que se están manejando los paquetes de software en las distribuciones de Linux es uno de los más grandes problemas que tiene la adopción del Software Libre en el escritorio. Y cuando hablo de las distribuciones de Linux hablo de todas, incluyendo Debian y Gentoo que se jactan de tener los mejores sistemas de paquetes.

Me molesta que cada distribución tenga un formato diferente de paquetes, e incluso las que comparten uno (como RPM), lo hacen incompatible. Esto lleva a que la labor de empaquetado se tenga que hacer una y mil veces. Un programa como Firefox tiene que ser empaquetado tantas veces como distribuciones hay. ¡Qué enorme gasto en trabajo de los colaboradores!, si las cosas funcionaran como deben, el desarrollador del programa debería empaquetar una vez y el paquete debería servir para cualquier distribución (en parte esto es lo que ocurre cuando se distribuye el código fuente, pero compilar definitivamente no es lo adecuado para un novato).

El hecho del empaquetado esté en manos de los que distribuyen y no de los que desarrollan el software es un problema mucho más grave de lo que parece. He aquí algunas razones:

  • No importa qué tan grande sea el ejercito de empaquetadores que se tenga, no es posible empaquetar todo el software. Por más que la gente de Debian diga que tiene n-mil paquetes, basta con mirar un poco gnomefiles.org para darse cuenta de que existen muchísimos programas sin empaquetar. El problema es aún peor con las distribuciones que no cuentan con la suerte de tener tantos colaboradores, simplemente tienen que resignarse con no tener el suficiente software, porque así es el sistema. Todo lo que no está empaquetado es difícil de instalar y no se integra bien con el resto de la distribución; esto hace que los usuarios muchas veces opten por simplemente no instalar lo que no está empaquetado, de hecho, tengo muchos amigos que no instalan nada que no se pueda apt-get installar, de ahí es donde surge la frase muy comúnmente escuchada que dice "Si no está en Debían, no exite"; la verdad es que se están perdiendo de un montón de programas.
  • Aún cuando se tenga un cierto programa empaquetado, no siempre se puede tener la última versión. Esto es bastante frustrante. ¿Por qué cuando sale el último Firefox no puedo probarlo porque no está empaquetado aún? El problema es peor aún con las versiones anteriores de la distribución. Por ejemplo, si yo uso Ubuntu Warty, nunca voy a disponer del paquete para Firefox 1.5, aún cuando si me bajo el binario de Mozilla.org si funciona. Es decir que los usuarios de Warty van a estar condenados a usar versiones viejas de todo el software y la única forma de conseguir un programa nuevo es actualizando toda la distribución. En otros casos es peor; en donde hay que pasarse a una versión inestable para poder probar el software nuevo. ¿Acaso suena lógico tener que actualizar a una versión inestable todo el sistema operativo, incluyendo Gnome, Gtk, etc sólo porque quiero probar el nuevo Firefox? Todo esto simplemente porque las personas de las distribuciones no quieren hacer los paquetes. Si el empaquetado estuviera en manos de los desarrolladores, la historia sería otra. Por ejemplo, la mayoría del software para Windows funciona desde la versión 95 hasta Vista ¿Que pasaría si para instalar un programa de Windows nos pidieran que obligatoriamente nos actualicemos a Vista? La actualización semestral de las distribuciones me parece una excelente idea, pero hay que aceptar que los usuarios normales no actualizan su sistema operativo cada 6 meses, eso es más bien para complacer a los geeks. Privar a los usuarios no expertos de ciertos programas no me parece una buena idea. Aunque hay casos en los que toca realizar la actualización, por cuestiones de dependencias, en muchos otros no, como el de Firefox.
  • Los sistemas de paquetes son completamente hostiles al software que no es libre y esto aleja a los ISVs. En mi opinión, no se puede tener una verdadera aceptación en el escritorio si los usuarios no tienen la libertad de escoger usar programas propietarios además de los libres. Además, ¿Qué pasa con los programas que no son del todo libres pero que su licencia tampoco es tan agreste como las típicas licencias propietarias? un ejemplo de este tipo de software es SciLab. Peor aún, no cualquiera puede ser empaquetador de una distribución, a veces hay que seguir rituales casi religiosos para poder hacerlo (véase cómo ser un DD). Los empaquetadores son los que deciden qué software se empaqueta. ¿Qué pasaría si para distribuir un programa de Windows hubiera que pedirle permiso a Microsoft? (Sé que la comparación es insensata, por favor no armar un flame por esto). En fin, me gusta la frase de la web de Zero Install: "You don't need to be blessed by a distribution (or anyone else) to be part of Zero Install".

Bueno, ya me desahogué un poco, la verdad es que a veces es bastante frustrante todo esto, lo peor es que a poca gente le interesa el problema, incluso he visto como la propuesta de crear un autopackage para Mono no sonó mucho. Por cierto, en el título dice "Parte 2" esto es porque hace poco más de un año había escrito sobre este mismo problema, y mencionaba algunas alternativas interesantes como Zero Install y Autopackage.

En resumidas cuentas: ¡Al diablo con el APT!

8 Comentarios:

A la/s 12:39 a. m., Blogger Unknown dijo...

vaya si que se te nota enojado, algo en particular con tu fedora o te pusiste a meditar sobre la instalacion de software Libre??

 
A la/s 1:34 p. m., Blogger Nelson Castillo dijo...

Lo perfecto es enemigo de lo bueno.

 
A la/s 2:58 p. m., Anonymous Anónimo dijo...

Osea, que lo ideal sería ir web por web bajandonos el software que nos interesa, tal y como hacemos en Windows, para luego tener que estar pendientes de las actualizaciones, para volver a repetir el proceso. O quizás, mucho mejor, es bajarnos 20 veces unas librerías con cada software que instalemos. O, quizás uniformar todas las distribuciones y unificarlas en una sola, para que el problema de las diferencias en los paquetes desaparezca. o, quizás...

No he visto que propongas un sistema mejor. Yo, personalmente, no lo propondré, porque el actual, es un sistema que aunque me parezca mejorable, sobre todo con las dependencias, creo que es uno de los puntos fuertes de las distribuciones de GNU/Linux.

 
A la/s 6:48 p. m., Blogger Manuel Cerón dijo...

¿Soluciones? la cosa es bastante complicada, pero me gusta lo que dicen los de Autopackage http://www.autopackage.org/NOTES

Me gusta lo que proponen de continuar con los sistemas nativos de paquetes, pero sólo para el core, para los demás programas se debería usar una solución como Autopackage o Zero Install, y lo más importate deberían ser hechos por los desarrolladores, no por las distribuciones.

Me parece egoista que las distros se dediquen a crear paquetes exclusivamente para ellas. Además el sistema es poco escalable, si nomás ahora que tenemos un ínfimo porcentaje en el escritorio, distros como Debian no pueden empaquetar todos los programas y los que tienen empaquetados están desactualizados, ¿cómo será cuando seamos mayoría?

 
A la/s 10:57 a. m., Blogger Unknown dijo...

Por favor cordura, que el sentimiento de impotencia no nuble tu mente, es cierto que el sistema de paquetes de debian/ubuntu/knoppix/etc no sea perfecto pero es uno de los mejores actualmente.

 
A la/s 11:13 a. m., Blogger deepspawn dijo...

Una palabra: Slackware :P

 
A la/s 7:49 a. m., Anonymous Anónimo dijo...

Para eso estan los paquetes que cumplen con el estándar LSB, que aunq sean en formato rpm se pueden instalar en cualquier distribucion q lo cumpla.

 
A la/s 10:14 a. m., Anonymous Anónimo dijo...

ES MUY CIERTO LO DE LA GRAN FRUSTRACION Q SE SIENTE AL FRACASAR UNA Y OTRA VEZ AL INTENTAR INSTALAR PROGRAMAS EN ALGUNA DISTRO DE LINUX. ESA IDEA DE Q TODOS TIENEN INTERNET POR PARTE DE, UBUNTU POR EJEMPLO, ES ALTAMENTE MOLESTA. YO ESTOY INICIANDOME EN ESTE MUNDO DEL PINGUINO Y RECONOZCO ME FALTA UN MONTON PARA APRENDER, Y DE VERAS ME INTERESA LINUX Y TODO LO Q LO RODEA PERO AL PRINCIPIO ES DESGASTANTE. LO DE LOS AUTOPACKAGES ME PONE MUY BIEN YA Q ESTO NOS AYUDARA A LOS Q RECIEN ARRANCAMOS. UNA OBSERVACION FINAL ES Q NOTE CIERTA SOBERVIA EN ALGUNOS USUARIOS DE LINUX, SUPONGO Q ESCRIBIR LINEAS DE CODIGO E INTERMINABLES COMANDOS SERA MUY "EXITANTE", Y TENER PERMISOS HASTA PARA TOSER DARA CIERTO STATUS. SI QUEREMOS Q LINUX SE EXPANDA POR EL MUNDO AUN MAS ES NECESARIO Q SE VUELVA MAS AMISTOSO, Y UN CIERTO ACUERDO ENTRE TODOS LOS CREADORES DE LAS DISTROS. SIN MAS UN SALUDO!

 

Publicar un comentario

Suscribirse a Comentarios de la entrada [Atom]

<< Página Principal