Tecnología: historia del Linux y del software libre GNU

Volver al Indice – Artículos sobre Informática

Por Alejandro Franco – contáctenos

¿Qué es Linux?

Linux es, a simple vista, un Sistema Operativo. Es una implementación de libre distribución UNIX para computadoras personales (PC), servidores, y estaciones de trabajo. Fue desarrollado para el i386 y ahora soporta los procesadores i486, Pentium, Pentium Pro y Pentium II, así como los clones AMD y Cyrix. También soporta máquinas basadas en SPARC, DEC Alpha, PowerPC/PowerMac, y Mac/Amiga Motorola 680×0.

Como sistema operativo, Linux es muy eficiente y tiene un excelente diseño. Es multitarea, multiusuario, multiplataforma y multiprocesador; en las plataformas Intel corre en modo protegido; protege la memoria para que un programa no pueda hacer caer al resto del sistema; carga sólo las partes de un programa que se usan; comparte la memoria entre programas aumentando la velocidad y disminuyendo el uso de memoria; usa un sistema de memoria virtual por páginas; utiliza toda la memoria libre para cache; permite usar bibliotecas enlazadas tanto estática como dinámicamente; se distribuye con código fuente; usa hasta 64 consolas virtuales; tiene un sistema de archivos avanzado pero puede usar los de los otros sistemas; y soporta redes tanto en TCP/IP como en otros protocolos.

El movimiento Linux

Más allá de todas estas notables características técnicas, Linux es mucho más que lo dicho anteriormente. Lo que hace realmente único a Linux entre otros sistemas operativos es que conlleva una idea del modo en que debería desarrollarse el software.

Linux no está en el dominio público, ni es shareware. Es lo que se llama “software libre”. Esto significa que el código fuente está disponible a todo el que lo quiera y siempre lo estará. El software libre puede ser vendido o regalado, a discreción de todo aquel que posea una copia, pero a todo aquel que distribuye Linux se le obliga a distribuirlo con el código fuente. Todo esto esta reglamentado por la Licencia Pública GNU (GPL). Esta licencia se encarga de que Linux permanezca siempre libre.

Linux sigue con el modelo de “desarrollo abierto”. Se desarrolla por un grupo no estructurado de programadores de todo el mundo unidos a través de la Internet. Todas las nuevas versiones se liberan al público, se consideren o no con “calidad de producción”. El método que se sigue para determinar si se tiene una versión estable o no es el siguiente: Las versiones se numeran como x.y.z; aquellas con y par son versiones estables; aquellas con y impar son versiones de desarrollo. Por ejemplo, la versión 1.2.13 es estable; la 2.1.44 es de desarrollo. La última versión estable es la 2.2.10. Sin embargo, este modelo de desarrollo abierto mantiene siempre la última versión disponible, y las nuevas versiones se liberan cada pocas semanas. En ocasiones las funciones nuevas contienen errores, pero con cientos de personas en Internet probando y leyendo el código fuente suelen corregirse en cuestión de horas.

Todo esto resulta en un sistema de alta calidad tecnológica, con menos errores que los sistemas comerciales, a un costo cero o muy bajo y con la disponibilidad del código fuente que permite aprender, modificar o ayudar al desarrollo del sistema.

Historia de Linux y el software libre

En 1971, cuando Richard Stallman empezó su carrera en el MIT, el trabajaba en un grupo que usaba exclusivamente software libre. Hasta las grandes compañías distribuían software libre. Los programadores tenían la libertad de cooperar entre ellos y usualmente la ejercían.

Hacia la década del 80, la mayoría del software se había vuelto propietario, o sea, tenía dueños que prohibían y evitaban la cooperación entre los usuarios. Esto hizo que en 1983, Richard Stallman concibiera la Free Software Foundation (Fundación software libre, FSF) y en ésta el proyecto GNU como una forma de recuperar el espíritu cooperativo de los primeros días de la computación, y posibilitar nuevamente la cooperación sacando los obstáculos impuestos por los dueños del software propietario.

El proyecto GNU consiste en el desarrollo de un sistema operativo y juego de aplicaciones totalmente libre y compatible con UNIX. El proyecto incluye desarrollar una versión libre de cualquier aplicación que no se disponga libre. De esta forma, una computadora puede estar equipada con 100% software libre y cumplir cualquier función; esto incluye el sistema operativo y todos los programas que uno necesite para cualquier función. Ya que sin un sistema operativo no puede usarse una computadora, se tomó esto como punto de partida para el proyecto GNU.

En 1990, se habían encontrado o escrito la mayoría de los componentes mayores del sistema operativo excepto uno: el kernel o núcleo. Para ese entonces, Linux comenzó como proyecto personal del entonces estudiante Linus Torvalds, que se basó en el Minix de Andy Tanenbaum (profesor que creó su propio clon de UNIX para PC-XT para usarlo en su docencia). Combinando Linux con el resto del sistema GNU se llego a la meta inicial de un sistema operativo libre: El sistema GNU basado en Linux. Se estima que hoy hay millones de usuarios de Linux (ver http://counter.li.org).

Actualmente Linus lo sigue desarrollando, pero a estas alturas el principal autor es la red Internet, desde donde un gigantesco grupo de programadores y usuarios aportan su tiempo y ayuda, tanto al núcleo Linux como al resto de las aplicaciones. La FSF continúa con el proyecto GNU desarrollando otras aplicaciones que todavía no tienen su versión libre.

¿Qué hardware se necesita para correr Linux?

Debido a su eficiente aprovechamiento de recursos, Linux tiene requisitos de hardware mínimos muy bajos: Una configuración mínima puede ser una 386 SX/16 con 1MB de RAM, y una diskettera (más teclado, placa de vídeo, monitor, etc.). Esto es suficiente para arrancar y entrar al sistema.

Para tener un sistema con todos los comandos importantes y una o dos aplicaciones pequeñas se requieren alrededor de 10 MB de disco duro.

Para un sistema más completo, se aconsejan 4 MB de memoria, u 8 si se piensa utilizar una interfaz gráfica. Si se vana tener muchos usuarios y/o muchos procesos a la vez, serían aconsejable hasta 16 MB. 32 MB es más que suficiente para cargas pesadas a un máximo rendimiento. En lo que respecta a disco duro, depende de las aplicaciones que se instalen, se va desde los 10 MB básicos hasta los 350 MB de una distribución instalado con varias aplicaciones (incluye compiladores, paquetes de oficina, interfaz gráfica, etc.). Obviamente, un procesador más veloz siempre será ventajoso. El coprocesador matemático nuca es requisito, pero acelera aquellas aplicaciones de calculo de punto flotante intensivo.

Linux frente a los otros sistemas operativos

Linux es una muy buena alternativa frente a los demás sistemas operativos. Más allá de las ventajas evidentes de costo, ofrece algunas características muy notables.

En comparación con las otras versiones de Unix para PC, la velocidad y confiabilidad de Linux son muy superiores. También está en ventaja sobre la disponibilidad de aplicaciones, ya que no hay mucha difusión de estos otros Unixes (como Solaris, XENIX o SCO) entre los usuarios de PC por sus altos costos.

Comparado con sistemas operativos como los diferentes Microsoft Windows, Linux también sale ganando. Los bajos requisitos de hardware permiten hacer un sistema potente y útil de aquel 486 que algunos guardan en un armario. Esta misma característica permite aprovechar al máximo las capacidades de las computadoras más modernas. Es poco práctico tener una PC con 16 Mb de RAM y ponerle un sistema operativo que ocupa 13 (que es lo que reporta sobre Windows 95 el System Information de Symantec). No solo es superior respecto a el sistema de multitarea y de administración de memoria, sino también en la capacidades de networking (conectividad a redes) y de multiusuario (aún comparando con sistemas multiusuario como NT). La única desventaja de Linux frente a estos sistemas, es la menor disponibilidad de software, pero este problema disminuye con cada nuevo programa que se escribe para el proyecto GNU, y con algunas empresas que están desarrollando software comercial para Linux.

Los falsos mitos sobre Linux

Hay varios falsos mitos circulando acerca de Linux y el software libre en general. Usualmente son emitidos como antipropaganda por parte de las empresas perjudicadas por la competencia (táctica llamada FUD), o como prejuicios de gente que en realidad no conoce del tema del que habla. Es muy fácil probar la falsedad de los siguientes mitos:

“Linux es difícil de usar”. En los primeros momentos de Linux esto era cierto, pero el esfuerzo que se ha dedicado a este tema ha llevado a Linux a tener interfaces gráficas tanto o más intuitivas que las disponibles en sistemas comerciales. Los procedimientos de instalación también se han vuelto simples gracias a las “distribuciones”, paquetes prearmados de Linux y otras aplicaciones con programas de instalación y soporte.

“Linux es poco confiable”. Los defensores de este argumento dicen que el desarrollo descentralizado impide el control de calidad y las garantías del software no libre. Los hechos han demostrado precisamente lo contrario: las mediciones reportan que los sistemas GNU son más confiables que todos los sistemas operativos más conocidos. El modelo abierto de desarrollo permite que miles de personas efectúen el control de calidad y corrección de errores a la vez; la Internet permite que esas correcciones alcances los usuarios en tiempos fuera de alcance para una empresa cerrada.

“Linux no es apto para trabajos grandes” o “Linux es un clon de UNIX recortado para correr en una PC”. Una vez más, los hechos desmienten esto. Las características tecnológicas superiores de Linux y la alta confiabilidad mencionada antes han llevado a Linux a ser la elección de entidades que requieren sistemas críticos para una misión (ver http://wauug.erols.com/mclinux/). Estos usuarios han probado que un sistema Linux bien mantenido puede funcionar mas de 600 días sin caerse ni rearrancarse. Linux no es un UNIX recortado: Tiene todas las características de un UNIX moderno y evoluciona paralelamente a los últimos desarrollos de la industria del software. Además, no sólo corre en la PC, sino en muchas otras plataformas importantes.

“Es necesario saber programar para usar Linux” o “Linux es un sistema solo para programadores”. A pesar de que muchos usuarios de Linux son programadores interesados en desarrollar software para Linux o Unix en general, muchos no lo son, al igual que con cualquier otro sistema operativo. Este argumento es tan fundado como decir que para ver televisión es necesario saber electrónica.

“Linux es inseguro”. Estrictamente hablando, Linux es un kernel, y un kernel de sistema operativo es inherentemente seguro por no poseer comunicación con el exterior. Las fallas de seguridad vienen a través de programas que proveen servicios de soporte, usualmente de red. Los programas de este tipo (ftp, telnet, servidores de web) que viene en un sistema GNU/Linux, no son software de Linux, sino software de UNIX. Por lo tanto Linux es tan seguro como otros sistemas UNIX. La seguridad es tomada en serio por la comunidad Linux. Cuando surgen alertas de problemas de seguridad, las reparaciones suelen hacerse en pocas horas gracias al modelo abierto.

Varios otros argumentos se dan contra el software libre. Las mejores respuestas al respecto las da Richard Stallman en el manifiesto GNU.

Últimas novedades publicadas en el portal: