Revista Salud y Bienestar

El impacto de la filosofía de Linux

Por David Ormeño @Arcanus_tco

Lo sepamos o no, la mayoría de nosotros tenemos algún tipo de filosofía de vida. Puede ser tan simple como: "Sé amable con los demás", o podría ser una filosofía de vida muy compleja.

Muchas empresas tienen algún tipo de filosofía. Pueden ser no escrita o no estar bien documentada. Cuando yo trabajaba en IBM, desde 1974 hasta 1995, la filosofía de IBM estaba bien documentada y fuertemente arraigada en su cultura. La filosofía de IBM ha cubierto sus prácticas de negocio y cómo los empleados, clientes y proveedores deben ser tratados. La primera directiva de IBM, por así decirlo, era tratar a todos con justicia, con respeto y dignidad.

Antes de empezar a trabajar con Linux con cierta profundidad, nunca había sabido que tenía una filosofía. Quiero decir, ¿qué podría una filosofía realmente hacer por un sistema operativo? Después de un poco de investigación, descubrí que todos los sistemas operativos tienen una filosofía. También aprendí que la filosofía de un sistema operativo importa.

Por ejemplo, la filosofía de Windows es muy similar a la del sistema operativo de la Digital Equipment Corporation (DEC) VMS.Y equivale a "proteger a los usuarios de todo lo que pueda darles problemas." Por supuesto, la razón para esta similitud es que el desarrollador principal de Windows NT es la misma persona que desarrolló VMS. La filosofía de ambos sistemas operativos se basa en la creencia subyacente de que los usuarios tienen miedo de los ordenadores y necesitan ser protegidos de su complejidad.

El sistema operativo Mac no es muy diferente, aunque la interfaz gráfica de usuario (GUI) de escritorio tiene un enfoque orientado a objetos que, en opinión de muchos, ofrece una experiencia de usuario más consistente, integrada y mucho más suave. Mac y Windows proporcionan una interfaz de línea de comandos (CLI) que permite la interacción de bajo nivel entre el usuario y el sistema operativo. Sin embargo, el CLI de Windows es muy limitada con algunos comandos, por lo menos en comparación con Linux y Unix.El MAC CLI es un shell BASH que proporciona una gran cantidad de poder tal como lo hace en Linux. Sin embargo es muy difícil de encontrar. La cáscara está enterrado en una avalancha de opciones de menú que sólo se pueden encontrar si sabes que está ahí y está buscando activamente.

Concepto radical

Cuando Unix estaba siendo desarrollado a finales de 1960 y principios de 1970, los desarrolladores estaban empeñados en la construcción de un sistema operativo en que fuera significativamente diferente de los sistemas operativos que le precedieron. La filosofía de Unix era marcadamente diferente de la de otros sistemas operativos. Y la filosofía de Linux es bastante natural deriva directamente de la filosofía Unix.

Encuentro la siguiente cita de la sección Introducción de la filosofía Unix del libro Linux y la filosofía Unix, por Mike Gancarz, bastante informativa.

Un sistema operativo, por su naturaleza, encarna la filosofía de sus creadores ... Los creadores del sistema operativo Unix comenzó con un concepto radical: se supone que el usuario del sistema operativo sería literato informático desde el principio. Toda la filosofía Unix gira en torno a la idea de que el usuario sabe lo que él o ella está haciendo.

¡Wow! ¡¿De verdad dijeron eso?! Suena bastante elitista y exclusivo. Pero, en realidad no. La cuestión es todo lo contrario, de hecho.

Una de mis citas favoritas sobre Unix que se aplica también a Linux a menudo se atribuye a una persona llamada Doug Gwyn pero no hay información fiable. Ya sea si Doug existe o no, sigue siendo una gran cita:

Unix no fue diseñado para poner fin a que sus usuarios hagan cosas estúpidas, ya que eso también les impediría hacer cosas inteligentes.

Y ahí está la verdad sobre Linux. Nunca supone que el usuario es incompetente. Siempre asume que sabe lo que está haciendo y le hace hacer lo que le dices que haga. Cualquier cosa. Ya sea involuntariamente mal o no. Esa es una gran cantidad de poder en las manos del usuario.

Linux trata a todos por igual y permite que cada uno la máxima cantidad de poder. Es igualitario. Otros sistemas operativos son elitista y exclusivo porque retener u ocultan su poder detrás de una interfaz gráfica de usuario inflexible que le permite a uno hacer sólo lo que los desarrolladores crean que debiésemos hacer.

Iluminación

A través de los años una serie de personas han tratado de iluminar al resto de nosotros cuando se codificaron los diversos aspectos de la filosofía de Linux.

Mike Gancarz primero escribió La filosofía Unix\The Unix Philosophy y luego siguió con Linux y la filosofía Unix\Linux and the Unix Philosophy. Estos libros enumeran 9 postulados principales y 10 principios menores.

Eric Raymond tiene 17 reglas en su libro, El arte de la programación Unix\The Art of Unix programming.

Y, de la Universidad Estatal de Oregon tiene su propia filosofía de Linux que creo que representa muy bien la opinión de un ingeniero sobre Linux.

En lugar de listar todos estos principios y reglas, junto con todas sus implicaciones, he enumerado enlaces o libros en la sección de Referencias de este artículo a partir del cual se puede obtener esta información. Lo dejo a usted, querido lector, a mirarlos y descubrir lo que significan. Créame, será un ejercicio muy esclarecedor.

El caso terminal

La filosofía de Linux se resume en la facilidad con que se puede abrir un emulador de terminal para acceder a la CLI y su poder concomitante. En primer lugar, están las múltiples terminales virtuales a las que se puede acceder mediante las teclas Ctrl-Alt-F [1-7] . Incluso los escritorios Linux susurran, "Usa la fuerza, Luke," a todos los que los utilizan. Linux tiene varios entornos de escritorio entre los que elegir para que cada usuario pueda decidir la que él o ella más le guste. Y, sin embargo, el poder de la CLI esta sólo a un clic de distancia, con muchas opciones tanto para el emulador de terminal y la shell.

Mi emulador de terminal preferido para el escritorio es Konsole. Konsole permite múltiples sesiones de terminal en una ventana de interfaz gráfica de usuario que utilizan tokens para alternar entre sesiones de terminal. Por supuesto, usted puede utilizar su shell favorito en todas las sesiones o un shell diferente en cada sesión, dependiendo de sus necesidades.

Para mayor flexibilidad, no es el programa de la pantalla, que prevé varias sesiones shell dentro de una sola sesión de terminal. Esto es particularmente útil cuando se conecta de forma remota porque si su conexión falla, la sesión de pantalla continúa junto con todos los programas que se ejecutan en los distintos shells lanzados dentro de la sesión en pantalla.

El Linux CLI seduce suavemente; seduce con su poder. Esa flexibilidad me atrajo. Ciertamente cambió mi forma de usar el ordenador. Todavía uso el escritorio GUI pero por mucho que me proporcione la flexibilidad de múltiples sesiones de Konsole con pantalla corriendo a la vez como para ejecutar programas como LibreOffice, Firefox y Thunderbird.

Control completo

Linux no tiene un asidero. Se supone que usted sabe lo que está haciendo cuando escribe un comando y procede a ejecutar ese comando sin preguntar si realmente quiere. Le da un control completo.

Imagine por un momento el caos y la frustración que resultaría el intentar utilizar una pistola de clavos que le pregunte si realmente quería disparar ese clavo y no permita que tire del gatillo hasta que dijiste la palabra "sí" en voz alta. Linux le permite usar la pistola de clavos como usted elija. Otros sistemas operativos permiten saber que se puede utilizar clavos, pero no le dirá qué herramienta se utiliza para insertar los clavos y mucho menos le permiten poner su dedo en el gatillo.

Sí, hay peligro donde hay un gran poder. Utilizado de manera adecuada el poder también puede ser aprovechado para lograr muchas cosas grandes.

La directiva principal de Linux

He llegado a creer que la suma de la filosofía de Linux es bastante simple.

Trata a todos los usuarios con respeto.

Esto equivale a permitir a cada usuario realizar su o sus maneras con una amplia variedad de herramientas poderosas. Significa flexibilidad, simplicidad, y la libertad de considerar importante el diseño de sistemas de software y su construcción. El resultado ha sido la creación de un software que es una obra de arte que es todavía hermoso y esta fuerte después de casi 45 años para Unix y desde hace más de 20 años para Linux.

Referencias

  1. Eric Raymond: The Art of Unix Programming,http://www.catb.org/~esr/writings/taoup/html/index.html
  2. Mike Gancarz: Linux and the Unix Philosophy; Digital Press, 2003, ISBN 1-55558-273-7
  3. Wikipedia: http://en.wikipedia.org/wiki/Unix_philosophy
  4. Oregon State University: http://web.engr.oregonstate.edu/~traylor/ece474/lecture_verilog/beamer/linux_philosophy.pdf
  5. Best Unix Quotations: http://www.linfo.org/q_unix.html

Volver a la Portada de Logo Paperblog