GNU/Linux

SISTEMA OPERATIVO GNU/LINUX: SOFTWARE LIBRE Y CODIGO ABIERTO

Es importante dar a conocer una alternativa a los sistemas operativos privativos, como MacOS® de Apple y Windows® de Microsoft, de los cuales, en la gran mayoría de lo casos para usuarios comunes es difícil adquirir una licencia original por su altos costos, pero existe otra opción, es el sistema operativo GNU/Linux, que se considera como unas de las mejores alternativas por la gran cantidad de aplicaciones que tiene lo cual lo hacen altamente competitivo con Windows, por ejemplo, que es el sistema operativo mas usado. ¿Pero que entendemos por sistema operativo?, “El sistema operativo es un software con un propósito general, dar el soporte que necesitan los programas que hacen un trabajo de interés para el usuario”1, ese soporte lo que hace es enlazar la parte física o hardware de un PC con los programas o software que el usuario ejecuta, para que este tenga el control del funcionamiento de sus aplicaciones, teniendo un poco mas claro el concepto de sistema operativo continuaremos con unas definiciones que nos introducirán en nuestro tema principal.

Software libre es aquel que puede ser copiado, modificado, compilado, redistribuido con toda la libertad, esto implica hablar de responsabilidad, libertad, códigos éticos y convivencia2. Se habla de cuatro libertades: Libertad de uso, Libertad de estudiar su funcionamiento y modificarlo para adaptarlo a necesidades propias, Libertad de redistribución para ayudar a otros, Libertad para mejorar el programa y hacer publicas las mejoras. Se produce una ambigüedad con el término libre en los países de habla inglesa, pues lo traducen como libre o gratis. Se habla de libertad de expresión y no software gratis, aunque en la mayoría de los casos lo es o tiene precios muy bajos.

El termino “Código abierto” (Open source) surgió en 1998, se usa como complemento para eliminar la ambigüedad del termino “software libre” en ingles y para definir el código que podemos ver y modificar con ciertas restricciones a diferencia del software libre3, que no las tiene, aunque hay pequeñas diferencias entre los dos términos hoy en día es valido usar uno como el otro para referirnos al mismo tema y por encontrarse estos bajo las mismas licencias, tanto el software de código abierto como el software libre tienen un costo nulo o muy bajo y una excelente calidad en la mayoría de los casos.

GNU surgió en 1984 liderado por Richard Stallman como un proyecto para crear un sistema operativo hecho totalmente con software libre basado en UNIX, El proyecto GNU creo licencias publicas para apoyar los desarrollos el software libre, la licencia mas conocida es la llamada GPL (General Public License) o “licencia publica general”4 la cual usan mas de la mitad de las aplicaciones de software libre. Por otro lado en 1991 fue creado el núcleo del sistema operativo Linux4, el cual se baso al principio en MINIX que era una variante de UNIX, pero al poco tiempo tomo sus propios rumbos, fue creado por el finlandés Linus Torvalds quien en esa época era estudiante de informática, el decidió publicar su código bajo la licencia GPL en la red para que otras personas lo vieran, el mensaje que adjunto al código fue este:

"Hola a todos aquellos que usan Minix-
Estoy haciendo un sistema operativo (gratis) (solamente una afición, no será grande ni profesional como el GNU) para clones 386(486) AT. Este ha estado gestándose desde abril, y está comenzando a estar listo. Me gustaría recibir cualquier comentario sobre las cosas que gustan/disgustan en Minix, ya que mi OS se le parece un poco. (la misma disposición física del sistema de archivos, debido a motivos prácticos, entre otras cosas).
Actualmente he portado bash(1.08) y gcc(1.40), y las cosas parecen funcionar. Esto implica que conseguiré algo práctico dentro de unos meses, y me gustaría saber que características quiere la mayoría de la gente. Cualquier sugerencia es bienvenida, pero no prometeré que las pondré en práctica:-)
Linus Benedict Torvalds (torvalds@kruuna.helsinki.fi)"

PD. Sí – es libre de cualquier código de Minix, y tiene un sistema de archivos multi-hilo. ¡NO es portable (usa 386 una conmutación de tarea etc.), y probablemente nunca será soportada por ninguno otro más que los discos duros AT, así que esto es todo que tengo.

Al poco tiempo de haber publicado el código recibió comentarios de diversos sitios del mundo que le hacían correcciones y mejoras al código, con el transcurso del tiempo se fue formando una cultura en torno a Linux, en donde todos aportaban nuevas ideas y correcciones a las existentes, esta filosofía aun continua y es la que actualmente aun sostiene al sistema operativo.

Por la misma época que fue creado el núcleo de Linux, GNU tenia casi terminado su sistema operativo, solo le faltaba el núcleo, que estaba en desarrollo, lo llamaron GNU Hurd cuya publicación oficial fue hecha en el 2002, entonces decidieron utilizar a Linux que utiliza la licencia GPL como núcleo de su sistema, así surgió GNU/Linux, con el transcurso del tiempo se fue mejorando, agregándole nuevas aplicaciones y mejorando las existentes (aun lo hace), cada ves se incluían mas aplicaciones, se implemento el X Windows System que es un gestor de ventanas que permite una interacción mas amigable con los usuarios, mas adelante surgieron los entornos de escritorio que hacen posible una manipulación mas fácil de los PC, esto lo explicare mas adelante.
Con el transcurrir de los años, la acogida de nuevos usuarios y la constante evolución de GNU/Linux surgieron las llamadas “distribuciones”, una distribución GNU/Linux es una variante del sistema operativo original, la diferencia esta en que la distribución viene con software preinstalado para múltiples aplicaciones (estas son las recomendadas para usuarios corrientes), todo con el fin de tener un sistema operativo completo y lo mas amigable posible, también hay distribuciones para usos muy específicos, como la administración de servidores, seguridad en la red, edición multimedia, trabajo científico, etc. Las distribuciones más famosas por su antigüedad y estabilidad son Slackware (se dice que es la mas antigua, no la primera), Debian y Ret-Hat, las cuales aun siguen en desarrollo, basadas en estas distribuciones y otras menos conocidas han surgido una cantidad enorme de variantes, se calcula que hoy en día hay mas de 350 distribuciones, muchos ven esto como una desventaja porque un usuario común no sabría cual escoger, por otro lado la ventaja que se presenta es que se puede encontrar una distribución mucho mas adaptada a las necesidades especificas de cada usuario.
Una famosa pagina6 dedicada a mantener el Top de los 500 supercomputadores mas poderosos del mundo, arroja estos datos7: El 89.2% Utilizan Linux como sistema operativo, El 5% utilizan Unix, El 0.2% utilizan BSD, El 1% utiliza Windows. Cuando hablamos de supercomputadores nos estamos refiriendo a maquinas con una gran cantidad de procesadores trabajando ala vez (varias decenas de miles), estos supercomputadores alcanzan un valor comercial de hasta 20 millones de dólares.

Actualmente se consiguen distribuciones Linux de manera muy fácil y en la inmensa mayoría de los casos son gratis, por ejemplo, Canonical la creadora de Ubuntu, una reconocida distribución, envía una copia (ni si quiera cobran gastos de envío) a quienes la soliciten en una pagina diseñada para atender las solicitudes9, se estima que actualmente existen entre 20 y 30 millones de usuarios Linux, algo que hay que tener claro es que la mayoría de estos usuarios en un principio estaban relacionados con áreas como la computación o tenían altos conocimientos al respecto, esto se dio porque Linux en un principio fue orientado a tareas mas complejas y además hay una estrecha relación de este SO y la red, ya que la Internet nació bajo Unix y sus protocolos, y como ya sabemos (algunos ;) ) Linux fue inspirado (creo que es el termino correcto) por Minix una variante Unix, ahora, si vemos las distribuciones GNU/Linux de la actualidad, estas han ampliado su enfoque, el cual ya no es solo para tareas relativas a la red, también es usado por usuarios comunes para tareas de uso cotidiano, como son, la creación de documentos de texto, aplicaciones multimedia (audio, vídeo, fotografía, etc.), acceso a Internet (consultas, chat, etc.). También se implementan en numerosos campos de investigación relacionados con las ciencias básicas y las ciencias aplicadas, esto gracias ala portabilidad y estabilidad del sistema.
Para tener una idea mas clara sobre como funciona GNU/Linux, veamos un poco mas a fondo la estructura general de una de sus distribuciones, empezaremos en un orden ascendente, desde la maquina hasta el usuario, así que el primero es el kernel y por ultimo veremos el escritorio y el administrador de ventanas.

Como vimos al principio del texto Linux es esencialmente el kernel, aunque solo es aproximadamente el 10% de una distribución común, es el corazón de esta, es un sistema de comandos basados originalmente en la arquitectura Intel 386 que se encarga de manejar todos los recursos físicos y virtuales del computador y que permite la interacción con los usuarios. Inicio con no mas de 10.000 líneas de código en el año 1991, esta primera versión fue llamada 0.01, al principio con ayuda de menos de 100 programadores distribuidos en diferentes lugares del mundo, fueron surgiendo nuevas versiones, fue adoptado por muchas universidades para la enseñanza en programación de computadores, con el transcurso del tiempo se fueron publicando versiones posteriores y cada vez mas completas y útiles: En marzo de 1994 fue publicada la versión 1.0.0 con 176.250 líneas de código, en enero de1999 se publica la versión 2,2,0 con 1.800.847 líneas de código, en enero del 2001 fue publicada la versión 2.4.0 con 3.377.902 líneas de código, en diciembre del 2003 fue publicada la versión 2.6.0 con 5.929.913 líneas de código7, la versión que fue publicada en abril del 2008 es la 2.6.25 que supero los 8.000.000 de líneas de código, el lanzamiento 2.6.30 cuenta con algo mas de 10.000.000 de lineas de código que equivalen a mas de 190.000 páginas de texto, la ultima version estable publicada es la 3.3 (se nota el cambio de numeracion, este se hizo con el fin de simplificar el nombramiento de los kernel y coincidio con el cumpleaños numero 20 del kernel linux) cuenta con casi 15.000.000 lineas, actualmente el núcleo se mantiene en un desarrollo incesante, se agregan mas de 10.000 lineas a diario, se eliminan mas de 5000, esta en constante evolucion8.

Pero que seria del Linux sin un interprete de comandos que le permita al usuario tomar el control del PC, Shell, es el nombre que recibe esta herramienta, la cual sirve para enviar comandos que queremos que el sistema operativo ejecute, este fue imprescindible hasta que surgieron los entornos de ventanas o entornos XWindows, los cuales sirven para agregarle una interfaz gráfica a la distribución, así es mas sencillo de manejar, por ultimo y no menos importante están los gestores de escritorios, existen dos que predominan, Gnome (ultimo lanzamiento estable 3.2) y KDE (ultimo lanzamiento estable 4.8), estos se encargan de permitir que el usuario pueda interactuar de la mejor manera con el sistema, ese a sido su objetivo desde que salieron sus primeras versiones en el año 1999 y 1996 respectivamente, creando una interfaz agradable a la vista, estos entornos son el penúltimo escalón antes de llegar al usuario final, el ultimo vendrían siendo las aplicaciones que se ejecuten sobre estos.

¿Que busca un usuario común en un sistema operativo?, esta pregunta no es difícil de contestar, comencemos por la suite de oficina, quien no conoce el Office de Microsoft, todos alguna ves lo hemos utilizado, lo que no se sabe es cuantos de nosotros hemos utilizado una copia original del programa, pues sus costos no son asequibles para muchas personas, la solución libre y gratis se llama LibreOffice (un fork de OpenOffice), que es una suite de oficina creada por SunMicrosystems, similar y muy compatible en casi todos los aspectos con la suite de Microsoft. Por otro lado esta la necesidad hoy en día de navegar en la internet, las alternativas a Internet Explorer de Microsoft que tiene en sus manos aproximadamente el 70% de usuarios, son Mozilla Firefox, chrome (basada en chromium), opera, estos son los mas usados, son navegadores muy estables y seguro que cuentan con gran cantidad de extensiones para personalizarlos al gusto de cada usuario, como esperariamos no tienen costo alguno y así sucede con otro sinnúmero de aplicaciones libres que se presentan como alternativas al software privativo.

Si tratáramos de comparar en una tabla las ventajas y desventajas del software libre frente al privativo, creo que se verían cifras y datos alentadores a favor de la “libertad”, pues si tomamos el caso de un usuario que compre un computador y quiera decidir que sistema operativo y que programas utilizar, encontrara en el software privativo una alternativa costosa, incluso superando el valor del equipo que adquirió, por otro lado si utilizase software libre no tendría que cancelar ningún monto económico y en el peor de los casos ese valor seria muy bajo para las prestaciones que va recibir de un sistema operativo y aplicaciones libres de calidad que son desarrolladas y mantenidas por una comunidad mundial comprometida con la libertad.

BIBLIOGRAFIA
1. MARTINEZ; Felipe. Linux y su entorno. Segunda edición. Bogota: Dinamicro. 2002. PP 195.
2. Enter. Javier Mendez G. No. 19 (Noviembre. 1999). Bogota. Casa editorial el Tiempo. 1999.
3. http://es.wikipedia.org/wiki/C%C3%B3digo_abierto
4. http://www.gnu.org/
5. http://www.unixsup.com/unixlinux/historialinux.html
6. http://www.top500.org/
7. http://es.wikipedia.org/wiki/Linux_%28n%C3%BAcleo%29#cite_note-8
8. http://howsoftwareisbuilt.com/2009/11/18/interview-with-greg-kroah-hartm...
9. https://shipit.ubuntu.com/