Sobre la importancia de proveer binarios con tu software
Esta pieza parte de la urgente necesidad de asesinar a alguien después de tratar de instalar software en Linux
Hoy en día hay decenas de miles de aplicaciones para Linux. Algunas sencillas, otras complejas, algunas pequeñas y otras grandes. Esto, de acuerdo con algunos proponentes del software libre, debería ser suficiente para lograr que todo el planeta migre a Linux.
Falso. El software puede existir y puede estar disponible para descargar, pero, en la práctica, si no están disponibles paquetes listos para instalarse, es como si no existiera. Voy a hacer un aserto que es, creo, un axioma importante para todo desarrolador:
Un paquete de fuentes solamente no sirve para mierda
Así es. Podrá ser herejía para algunos, pero resulta que:
- El 95% de las personas no tienen un entorno de desarrollo completo
- Instalar el entorno de desarrollo completo, asumiendo que (en las mejores condiciones posibles) uno disponga de todos los RPM/DEB, toma por lo bajo 45 minutos
- Muchas veces los fuentes no compilan por falta de dependencias de desarrollo (los famosos paquetes RPM -devel)
Así es. Si tú, como desarrollador, no haces disponible un paquete RPM o DEB de tu creación, acabas de perder el 95% de tus usuarios. Más aún, perderás usuarios que sí tengan entorno de dearrollo disponible, por los siguientes motivos:
- Un sistema como RPM permite revisar rápidamente las dependencias necesarias para un programa en particular
- Un sistema de paquetes permite controlar qué archivos se instalan y controlar cambios en los mismos
- Un sistema de paquetes ahorra muchísimo tiempo (horas a veces)
Lo voy a repetir: los usuarios no queremos compilar nada. Queremos que todo se nos de listo para instalar. Por criticado que sea Lindows, el sistema Click-n-Run que tienen debe ser el modelo a seguir para los demás. A continuación un recetario para multiplicar por 10 los usuarios de tu programa:
- Modificar tu programa para que incluya un .spec para generar RPMs y entradas de menú para los escritorios más populares (KDE, GNOME y el sistema de menúes Debian)
- Crear una página Web con al menos información de lo que hace tu programa y cuál es la última versión
- Poner en la página Web el paquete fuente (con un nombre de archivo fácilmente identificable)
- Generar un RPM .src y un RPM para i386, al menos, y colocarlos abajo del vínculo del archivo de fuentes; más abajo abajo, colocar vínculos a los RPMs del software requerido para que tu software funcione.
Listo para comenzar pero no sabes por dónde? Lee Creating high quality integrated Linux applications, un excelente artículo con líneas guía y tips para llevar tu software a calidad de distribución.
Mucho trabajo? Entonces no te metas a desarrollar software, a no ser que sea sólo para tí. Lo aquí expuesto son nociones esenciales de calidad para desarrollo de software. Por favor, asímismo respeta el Linux Standard Base y no pongas tus archivos en rutas no estándar, que dificultas la tarea de los administradores de sistema