viernes, 15 de febrero de 2013

Software Linux: I-Nex


Una de las frases más escuchadas entre las hordas de "ventaneros"/"maqueros" es la siguiente: "Linux apesta, no es compatible con la mayoría del hardware del mercado". Hay diversas variantes de semejante aseveración, pero imagino que os hacéis una idea de lo que pretendo transmitir. Bien, dicha frase puede encerrar varias interpretaciones, algunas de ellas consistentes entre sí, a saber:
  1. El que afirma algo así no conoce la evolución del Kernel Linux en la última década. Es decir, en algún momento de los primeros años del siglo corriente se formó una idea preconcebida y a partir de ese instante se desentendió de los ímprobos esfuerzos que la Linux Foundation ha hecho para que los problemas de incompatibilidades sean prácticamente anecdóticos. 
  2. El que afirma eso ha tenido una experiencia desgraciada con alguna instalación y ha quedado traumatizado. De todas las hipótesis, esta es la más benevolente. Casos como estos existen a puñados, y lo cierto es que poco se puede decir. Es normal cogerle tirria a los perros si un día te pega un bocado un pit bull. 
  3. El que afirma eso sencillamente es un desinformador y una mala persona. O dicho en jerga internáutica, un fanboy de Windows/Mac. O un empleado de Microsoft/Apple. O un vendedor de sus productos. O algún bloguero a sueldo o directamente un limpiabotas de poderosos. 
El caso 3 es incorregible, el 2 quizá lo sea con mucha terapia; el caso 1 es más interesante, porque si el sujeto es bien informado, o si se le da la oportunidad de comprender cómo funciona Linux, es probable que cambie de opinión en poco tiempo.  Resumiendo: el problema de Linux no es el hardware. Probablemente uno de los problemas de Linux sea el software, y esto desde un punto de vista puramente mercantilista: es difícil hacerle la competencia a un aparato mediático que te intoxica permanentemente. 
De todas maneras, no todo es tan simple como lo estoy pintando. En efecto, existen algunos problemas con determinados tipos de componentes. Ni siquiera en estos casos es justo echarle la culpa a Linux; si una empresa no saca su código fuente a público escrutinio, es natural que ese software funcione mal. Ninguna compañía, por grande que sea, puede competir con los miles de programadores que, desinteresada y cooperativamente, trabajan día a día en la mejora de los sistema de comunicación entre los componentes físicos de un ordenador y el núcleo Linux. 
La explicación de que las compañías no saquen a la luz pública sus códigos fuentes es bien sabida: por un lado, nos encontramos con una noción de competencia mal entendida, que basa la búsqueda de la supremacía industrial en el secretismo. Si tu no conoces mis secretos, probablemente te quedarás detrás de mi en la carrera por la pasta. Este pensamiento, por supuesto, es una estupidez de calibre considerable. Otra causa posible es que el código cerrado pretenda esconder, de forma deliberada, los propios errores de programación de los dispositivos. Este pensamiento parte de la idea de que un error puesto de manifiesto puede suponer un perjuicio en las ventas de tal o cual producto. Otra soberana tontería. 
Sea como fuere, y bajo cualquiera de estas hipótesis, lo cierto es que de vez en cuando podemos encontrarnos con componentes que con Linux no funcionan, o no lo hacen como debieran. Aquí es donde entra en juego otro de los principios del movimiento del software libre:
Conoce tu hardware. Te ahorrará problemas.
Sólo bajo esta premisa podremos estar seguros al 100% de que nuestras máquinas funcionarán correctamente y bajo cualquier circunstancia. Verificando que los componentes que adquirimos están suficientemente testados y su desempeño es el correcto a partir de la experiencia de otros. En los tiempos mozos de Linux esto no era tarea fácil. Allá por los 90 internet estaba en mantillas, al menos para la masa, y encontrar la documentación necesaria era cuestión de adquirir revistas y de algún que otro afortunado contacto con experiencia en el tema. En la actualidad tenemos a San Google, que nos permite solucionar estas circunstancias en cuestión de minutos. En el momento de adquirir una nueva máquina o en el de cambiar algún componente, recomiendo el siguiente "flujo de trabajo".
  • Infórmate de cómo está el mercado. Los precios y las características de los componentes. Decide en función de tu presupuesto y de las necesidades reales que tengas. Comprarse un pepino porque sí es una estupidez. 
  • Haz una selección previa, y anota todos los datos que puedas. Marca, modelo y si puedes, número de versión del software que venga integrado, como en el caso de la BIOS de las placas madre. 
  • Una vez con toda la información recopilada, le dices al tendero que muchas gracias, y que en un par de días te vuelves a pasar. El hombre te mirará con gesto adusto y probablemente insista en que te lleves algo en ese mismo momento. Sé fuerte; tu quieres ese nuevo componente más que el comer, pero antes de nada tienes que enterarte de qué vas a comprar. 
  • Una vez de vuelta a casa, échale un vistazo a internet. Y si no tienes ordenador a mano (algo probable si es que estás en plena compra de componentes), vete a casa de un amigo o a un cíber. Estudia todas las opiniones y  revisiones del hardware que puedas. Compara unos componentes con otros, anota posibles problemas y sus soluciones, si las hay. Y toma una decisión.
  • El paso siguiente será aflojar la pasta. 
Con este flujo de trabajo os garantizo que los problemas se van a reducir a mínimos despreciables. La pregunta siguiente es lógica: ¿Cómo sé que una fuente es fiable? La respuesta es simple: acude a las HCL. Las HCL (Hardware Compatibility List) son lo que dice su nombre, listas de compatibilidad. Existen varias muy fiables de tipo general, como la propia de la Fundación Linux, ubicada en h-node.org (por cierto, está en español, ¡yuju!). Hay otras, como linux-drivers.org, que están incluso orientadas a distribuciones específicas, pues no todas las distros se comportan igual con sus componentes físicos. Y por último nos encontramos con la propia documentación de cada distro, que puede incluir su particular HCL; en el caso de las más importantes, las listas están asombrosamente bien organizadas y documentadas. Como no podía ser de otra manera, la todopoderosa Canonical cuenta con una HCL muy buena para Ubuntu: el Component Catalog.
Con el paso del tiempo y la experiencia adquirida, llegará un momento en que asumiréis como algo natural este pequeño esfuerzo de verificación pre-compra. Y de paso, aprenderéis sobre hardware. Esto no es algo demasiado importante si no os gusta la informática y no pretendéis dar un paso más allá del mero utilitarismo circunstancial, pero el saber no ocupa lugar, el conocimiento nos hará libres, y un largo etcétera de lugares comunes podrían convenceros de aprovechar para ser más sabios. 
Una vez que hayáis adquirido este nuevo nivel de conciencia informática, el paso siguiente es devolver el favor que los miles de programadores, desarrolladores, blogueros del lado oscuro (el lado oscuro es el del pingüino, por si a alguno le quedan dudas), vendedores de buen corazón y usuarios de a pie nos han venido haciendo desde que decidimos dar el paso: os habréis convertido en usuarios competentes y es vuestro deber moral ayudar a los recién llegados. 

Este equipo hace un par de años habría sido la envidia de cualquiera... puta obsolescencia programada


Todo este rollo para justificar la importancia de un programa como I-Nex, que es una sencilla aplicación que sirve para detectar los componentes de hardware. En mi opinión, además de para saciar nuestra curiosidad, el uso más importante que tiene este programa es el de ayudar a los novatos a que adquieran conciencia de la importancia de conocer su hardware: si se encuentran con algo que no funciona, nada mejor que instalar este pequeño programa en su sistema y anotar qué componentes están en el interior de su máquina. Doy por sentado que, si son novatos, desconocerán por completo en qué aparatos concretos han gastado su dinero. Seamos indulgentes con ellos, están demasiado acostumbrados al sistema Windows de "todo funciona, más o menos, y con vulnerabilidades a porrillo, pero funciona". Sed pedagógicos: aprovechad ese examen de componentes para explicar brevemente para qué sirve cada cosa. Y comparte con el o ella unos minutos revisando en las fuentes anteriores si esto o lo otro es la causa del problema. Incluso lo podéis hacer online, gracias a la posibilidad de imprimir informes o la captura de pantalla integrada que tiene el programa. Si os fijáis, I-Nex está muy bien pensado para precisamente este tipo de tareas de supervisión. 
Si al final os he convencido de las bondades de este programa, me alegro. Las instrucciones de instalación son las siguientes para Ubuntu (pura rutina, abrimos el terminal con Ctrl + Alt + T y cortamos y pegamos las siguientes líneas): 

sudo add-apt-repository ppa:nemh/gambas3
sudo add-apt-repository ppa:i-nex-development-team/stable
sudo apt-get update
sudo apt-get install i-nex
Para otras distribuciones podéis probar a instalarlo desde su código fuente, disponible aquí. Si seguís las instrucciones y recordáis el tuto de compilación de ayer, no debería haber ningún problema. 
Habréis notado que, a diferencia de otros programas, este incluye no uno sino dos repositorios PPA. La razón es que I-Nex está escrito en Gambas 3, que es un lenguaje de programación que se ha visto actualizado en fechas relativamente recientes y todavía funciona de manera generalizada en su versión 2. Exceptuando este pequeño engorro, creo que merece la pena el esfuerzo. I-Nex es un programa pequeño, muy funcional, y que muestra la información de una manera ordenada, limpia y sobre todo rápida. Es el compañero ideal de todo "colega linuxero", siempre dispuesto a echar una mano a lo novatos.
De todas maneras, el objetivo fundamental de este artículo, y por eso me he alargado un poco más de la cuenta, era aprovechar que el Pisuerga pasa por Valladolid para hablaros de estos principios que constituyen parte del decálogo del amante del Software Libre: Aprender siempre, ayudar siempre. Si os he convencido de que estos principios son válidos y buenos, entonces sí que me alegro del todo.