“Un software cojonudo” o “De como el software depende de sus usuarios” (I)
Últimamente me he encontrado con varias situaciones que me han hecho reflexionar sobre la robustez de los sistemas GNU/Linux.
Por una parte tengo pruebas de primera mano: kioskos que funcionan desde hace años sin ningún tipo de mantenimiento; ordenadores reconvertidos a routers con cinco tarjetas de red que soportan tambien durante años, sin apagarse más que por algún apagón electrico anecdótico, los propios ordenadores que yo, mi pareja y mis hijas usamos. Todos son ejemplos de estabilidad y de disponibilidad total.
Por otra parte, últimamente me encuentro con algunos casos de escritorios GNU/Linux que perecen a los pocos dias de ser instalados: el escritorio Ubuntu al que intentan instalar una herramienta para defragmentar el disco y eliminar archivos innecesarios, el que perece cuando el usuario sigue un manual de no-se-que-página para instalarle unos drivers…
En algún lugar leí que, en el mundo UNIX se dice que el problema siempre está entre el teclado y la silla. No es que esté de acuerdo con que “siempre” sea así, pero es una aproximación bastante buena. No hay sistema que conceda cierta libertad al usuario y que pueda sobrevivir a unas manos inquietas bajo la dirección de un cerebro desorientado.
Por otra parte… en muchos de los casos en los que un escritorio GNU/Linux es asesinado por manos inexpertas, el cerebro coordinador de dichas manos se encontraba siguiendo intentando seguir las instrucciones de alguna página web en la que, al margen de algunos comentarios, solo podía leer un monton de lineas con comandos, instrucciones que indican con toda precisión lo que deseamos que el ordenador haga, pero que para el lego no dejan de ser mas que letras sueltas mezcladas con signos dispersos y algun número ocasional.
Por ejemplo, cosas como:
id -Gn daniel | tr " " "\n" | sort
le dicen al sistema que nos proporcione la lista de grupos en la que la cuenta de usuario daniel participa, en forma de una preciosa lista de nombres ordenados alfabeticamente. Sería el tipo de indicación que podríamos encontrar en la típica página web en la que algún usuario mas bien experimentado explican como consiguir arreglar esto o aquello.
Lo que no es tan común es que te expliquen que eso mismo tambien lo puedes hacer desde unha herramienta, en forma de ventana, con sus botoncitos y menues, que encontrarás en “Sistema -> Administración -> Usuarios y grupos”. Y es comprensible.
Desde luego el usuario novel agradecería que le indicasen la existencia de esta última aplicación gráfica, pero para el usuario experto la prespectiva es otra:
- Esa herramienta puede ser propia de una única distribución (así es como llaman a las diferentes “marcas” comerciales o no de GNU/Linux ) con lo que hablar de ella solo servirá para los usuarios de la misma.
- Esa herramienta probablemente pertenezca a un escritorio gráfico determinado. En el mundo de UNIX cada usuario puede elejir entre multitud de diferentes escritorios (GNOME, KDE, XFCE, WindowMaker, etc…), así que mencionar la aplicación en cuestión serviría solo para los usuarios de dicho escritorio.
- Ahun en el caso de que el lector de la página disponga de dicha aplicación instalada en su equipo, una vez que la encuentre resulta engorroso explicar verbalmente cómo emplear una aplicación gráfica, así que resulta más costoso explicar cómo hacer las cosas.
Por el contrario, los comandos indicados con anterioridad, a pesar de resultar cripticos para el usuario mas novato, funcionarán con seguridad no solo en cualquier sistema GNU/Linux, sino probablemente en otros muchos sistemas de tipo UNIX. No nos podemos extrañar de que la mayoría de “recetas” para hacer cosas y solucionar problemas en GNU/Linux estén escritas empleando este tipo de lineas de comandos: son más faciles de escribir y resultan validas para más personas. Máximo beneficio con el mínimo esfuerzo… aparentemente.
Esta forma de transmitir el conocimiento, la experiencia y la ayuda a otras personas es tremendamente eficaz cuando los dos extremos de la comunicación corresponden con un perfil determinado. El perfil de usuario mayoritario de los sistemas UNIX… hasta el momento. Desde hace ya algun tiempo el perfil de usuario de estos sistemas está cambiando. Hoy cualquiera puede acceder potencialmente a un sistema UNIX para para instalarlo en su equipo domestico. Cada vez más personas conocen esta posibilidad y por lo tanto cada vez más personas la adoptan. Así que el perfil de usuarios de GNU/Linux es cada vez más heterogéneo.
Estos nuevos usuarios de GNU/Linux con un perfil no tecnico, agradecerían que, cuando acuden a Internet buscando ayuda para realizar una tarea en su sistema, las explicaciones se les diesen empleando las herramientas gráficas, con forma de ventanita, botones y menues, que su sistema UNIX emplea. Pero como ya hemos visto antes esta forma de transmitir el conocimiento es poco eficiente en relación esfuerzo/beneficio. Esto puede presentar un nuevo reto en la difusión de los sistemas operativos distribuidos bajo licencias compatibles con el concepto de Software Libre. ¿Es posible idear un mecanismo para dar solución a este reto?. En realidad… ya está ideado.
Todos (supongo) los sistemas basados en licencias libre tienen detras una “comunidad”. La comunidad es el conjunto de personas que usan y participan en el desaroyo de ese sistema (o esa herramienta) en concreto, y que se comunican y unen mediante Internet para compartir sus ideas y experiencias, coordinar sus esfuerzos, solucionar sus problemas y aclarar sus dudas. Por lo tanto, segun esta definición, cualquier documento que encontremos en Internet ha sido redactado por dicha comunidad, sin quitar el mérito individual al autor directo del mismo. Estas cominidades han ido desaroyando una serie de herramientas para solucionar diferentes necesidades de comunicación. En realidad, la mayoria de las herramientas que terminamos por usar todos en Internet (webs, foros, wikis, mensajería instantanea, chats, blogs, etc.) nacen dentro de este contexto (gracias, hackers).
Todas estas herramientas son utilizadas por las diferentes comunidades de usuarios. Normalmente existen comunidades más o menos oficiales, a pesar de que en muchos casos nadie tiene la autoridad para determinar qué comunidad de usuarios es la oficial. Así tenemos la comunidad hispana de usuarios de Ubuntu GNU/Linux, con la que podemos contactar en http://www.ubuntu-es.org. Si usamos la distribución Ubuntu GNU/Linux podemos acceder a la dirección anterior y entrar en contacto con cientos o miles de usuarios de muestro mismo sistema, que emplean las mismas herramientas que nosotros tenemos instaladas en nuestro ordenador. De esta forma el esfuerzo para transmitir la experiencia y el conocimiento para emplear específicamente Ubuntu GNU/Linux puede concentrarse en un punto común en Internet para alcanzar un beneficio considerable mediante un esfuerzo razonable. ¿Está solucionado el problema?. Pues no.