martes, 31 de julio de 2012

Conociendo a Tux


Tux es la mascota de Linux. En la página de la wikipedia hablan de sus orígenes. Este artículo pretende presentar a la entidad que hay detrás de esta mascota: Linux.


Técnicamente, Linux es el núcleo del sistema operativo GNU/Linux. Esto significa que en realidad, lo que muchas veces llamamos Linux en realidad se compone de más cosas. Por ejemplo, Xorg (que es el proyecto que permite utilizar tarjetas gráficas para representar imágenes en el computador).

Simplificación de la estructura del Sistema Operativo
Los usuarios utilizamos aplicaciones (LibreOffice, Firefox...) de usuario, y en ocasiones utilizamos aplicaciones de usuario que sirven de interfaz a las aplicaciones de sistema. Por ejemplo, un gestor de ficheros que nos permite copiar, borrar o mover ficheros de una carpeta en la tarjeta de la cámara fotográfica a otra en nuestro computador (estas tareas se realizan con aplicaciones de sistema). El sistema operativo dispone de una interfaz para que nuestros programas puedan usar el computador y que hoy habitualmente es gráfica (Windows, GNU/Linux, Mac OS,...) aunque todavía podemos encontrar múltiples ejemplos de otros tipos de interfaces (electrodomésticos programables, cajeros automáticos, etc.).

Como he dicho, Linux es tan sólo el núcleo del sistema operativo, por lo que muchos preferimos utilizar la expresión GNU/Linux para referirnos al sistema operativo en sí. Sin embargo, la mayor parte de la gente tiende a entender Linux como todo el sistema, y este artículo va en ese sentido también: y es que, como es de esperar, GNU tiene su propia mascota. Es común ver ambas mascotas juntas, por ejemplo en cursos, jornadas sobre GNU/Linux, etc.

 

Sobre la libertad

La otra característica relevante al hablar de GNU/Linux es de índole legal: su licencia GPL. GNU/Linux, como multitud de otro código, es Software Libre, en contraposíción al Software Privativo más conocido (p.ej., MS Windows, Mac OS, Photoshop...). El software libre es software que puede ser modificado o distribuido libremente por cualquier usuario, sin necesidad de pedir permiso o pagar cánones al propietario del software. En contraposición, el software privativo priva al usuario de tales derechos, siendo habitual que simplemente permita el uso del software en determinadas condiciones.

Es usual llamar Software Propietario al software privativo; esto es un error: en realidad, todo software tendrá al menos un propietario, salvo que se declare explícitamente "de dominio público" (como cualquier otra creación intelectual). Así, Linux es propiedad de Linus Tolvards. Que cualquiera pueda modificarlo y redistribuirlo (incluso venderlo) ¡no afecta al hecho de que el código original sea suyo!!

Para más cosas, véase:

 

Sobre su origen

En los artículos y manuales al uso es común que se asuma que el lector sabe muchas cosas de las que se está hablando. Sin embargo, la idea de los terminales Unix de hace 30 años apenas salía de refilón en alguna película americana. Podríamos considerar que Internet comenzó a existir en España en los años 90 del siglo XX y no estaríamos exagerando mucho.

Y es que hay dos momentos clave en el advenimiento de Linux que la mayor parte de lectores españoles no comprenden en su totalidad: el primero, cuando Stallman inicia el proyecto GNU; el segundo, cuando Tanenbaum publica Minix.

Los lectores de tales guías pueden estar familiarizados con Unix; incluso en España, puede que hayan comenzado su andadura informática con MS-DOS; pero para la mayor parte del público, esto no es así.

GNU busca crear un Sistema Operativo sin las limitaciones legales de Unix, pero sin apartarse demasiado de su funcionamiento. Por ello, se desarrollan herramientas que suplen a las existentes en Unix. Eso sí, también se pretende que el sistema operativo pueda funcionar en sistemas muy distintos.

Minix es una versión reducida de Unix para computadores personales; el objetivo de Tanenbaum no era más que proporcionar un ejemplo que los estudiantes pudiesen utilizar para estudiar el funcionamiento de Unix sin tener que pagar las entonces costosas licencias. Además, también podía acceder al código, si bien la publicación de Minix siguió un licenciamiento normal (privativo): podías obtener tu copia al comprar su libro, e incluso ver el código, pero no cambiarlo.

Tolvards trató de desarrollar algo así como una réplica de Minix, pero sin sus límites legales. Pronto comenzó a trabajar con otros programadores a través de Internet y enseguida se encajó el núcleo en el sistema GNU (que entonces aun carecía de dicho componente) en una simbiosis perfecta.

La enseñanza que podemos sacar de esto es lo que conocemos de Unix: GNU/Linux pretende ser, por imperativo de diseño, multiusuario, multipuesto (puede accederse desde otros computadores y ser ejecutado desde ellos); Linux tiene la red integrada (incluso para funcionar aislado). Para usar GNU/Linux utilizamos Terminales Virtuales, que son en realidad una versión de las antiguas consolas que se utilizaban antes para conectarse a un servidor Unix (aunque pueden ser terminales en modo texto o en modo gráfico, más habitualmente en éste, cada vez); incluso en el modo gráfico puedes utilizar Emuladores de Terminal, que son aplicaciones que abren una ventana y te permiten utilizar el computador como si estuvieses en un terminal en modo texto.

 

Sobre su distribución

Scientific Linux
Las Distribuciones surgen para solucionar los problemas derivados de la instalación y configuración de un sistema GNU/Linux. En lugar de instalar todo desde cero, un grupo de gente se encarga de empaquetar las partes principales del software (aplicaciones del sistema, núcleo y generalmente una selección de aplicaciones de usuario). Precisamente, pueden clasificarse atendiendo al sistema de empaquetamiento utilizado o a la selección de software de usuario. Hay distribuciones que usan uno de los sistemas de empaquetado más comunes: rpm (Red Hat Package Manager) o dpkg (Debian PacKaGe); hay distribuciones específicas (por ejemplo, Scientific Linux es una distribución basada en Red Hat creada y mantenida en el CERN).

Una distribución de Linux es, en resumidas cuentas, una colección de paquetes de software (programas) que incluyen el núcleo Linux, las herramientas GNU, y cierta cantidad de software para el usuario (navegadores, aplicaciones ofimáticas, etc.), además de algún sistema de instalación del sistema operativo en el computador del usuario, y de gestión de las aplicaciones instaladas o disponibles en dicha distribución. Hoy es frecuente que los instaladores de las distintas distribuciones ajusten el sistema de forma automática, aunque algunas distribuciones pueden dejar más libertad al usuario en esta tarea.

GNU/Linux funciona en un montón de sistemas muy heterogéneos, así que las distribuciones se centrarán en alguna plataforma dada. Hay especializaciones para computadores antiguos, para servidores Sparc, etc. De hecho, la experiencia del usuario con una distribución dada varía mucho en función de la selección de hardware en la que se centra cada una y el hardware concreto que tiene dicho usuario. Por ejemplo, la inclusión o no por defecto de un driver para utilizar una tarjeta WIFI determinada tendrá distinto valor para nosotros si nuestro computador dispone de dicha tarjeta o no.

Otra diferenciación importante desde el punto de vista de muchos usuarios es acerca de las licencias admisibles en el software a distribuir. Algunas distribuciones, por ejemplo, son muy reacias a incluir software patentado o con alguna licencia muy restrictiva. Esto es más importante si la distribución es una versión empresarial (SUSE Linux, Red Hat Enterprise Linux) o alguna versión de alguna forma dependiente de aquéllas (openSUSE, Fedora...); aunque las versiones empresariales también pueden incluir sus propios acuerdos de distribución de determinado software (por ejemplo, para Flash Player): las conocidas EULAS. Por eso muchas distribuciones no suelen incluir ciertos códecs multimedia, algunos drivers, etc.

1 comentario: