Un poco de historia: UNIX
UNIX se inició hacia el año 1969 en los laboratorios BTL (Bell Telephone Labs) de AT&T. Estos se acababan de retirar de la participación de un proyecto llamado MULTICS, cuyo objetivo era crear un sistema operativo con el cual un gran ordenador pudiera dar cabida a un millar de usuarios simultáneamente. En este proyecto participaban los BTL, General Electric y el MIT. Pero falló, en parte, por ser demasiado ambicioso para su época.
Mientras se desarrollaba este proyecto, dos ingenieros de los BTL que participaban en MULTICS: Ken Thompson y Dennis Ritchie, encontraron un ordenador que no estaba utilizando nadie, un DEC PDP7, que solo tenía un ensamblador y un programa cargador. Thompson y Ritchie desarrollaron como pruebas, y a menudo en su tiempo libre, partes de UNIX, un programa ensamblador y el núcleo rudimentario del sistema operativo.
Ese mismo año, 1969, Thompson tuvo la idea de escribir un sistema de ficheros para el núcleo, creado de manera que se pudiesen almacenar ficheros de forma ordenada en un sistema de directorios jerárquicos. Después de unas cuantas discusiones teóricas (que se alargaron unos dos meses) se implementó el sistema en un par de días. A medida que se avanzaba en el diseño del sistema, al cual se incorporaron algunos ingenieros más de los BTL, la máquina original se les quedó pequeña, y pensaron en pedir una nueva (en aquellos días costaban cerca de 100.000 dólares, era una buena inversión). Tuvieron que inventarse una excusa ya que el sistema UNIX era un desarrollo en tiempo libre y dijeron que la querían para crear un nuevo procesador de texto, aplicación que daba dinero en aquellos tiempos, y se les aprobó la compra de una PDP11.
La primera versión (V1) de UNIX estaba terminada y el procesador de texto también, este último fue todo un éxito, se trataba de Troff, un lenguaje de edición que posteriormente fue utilizado para crear las páginas man de UNIX. Los BTL comenzaron a utilizar el rudimentario UNIX con el nuevo procesador de texto, convirtiéndose así los BTL en el primer usuario de UNIX.
En aquellos momentos comenzaron a presentarse varios principios filosóficos de UNIX:
- Escribir programas para hacer una sola cosa y hacerla bien.
- Escribir programas para que trabajaran juntos.
- Escribir programas para que manejaran flujos de texto.
Otra idea muy importante fue que UNIX se convirtió en uno de los primeros sistemas operativos pensados para ser independiente de la arquitectura hardware, lo que ha permitido portarlo con éxito a un gran número de arquitecturas hardware diferentes.
A finales de 1973 se decidió presentar los resultados en un congreso de sistemas operativos. Y como resultado, varios centros informáticos y universidades pidieron copias de UNIX. AT&T no daba apoyo ni mantenimiento de UNIX, lo que hizo que los usuarios necesitaran unirse y compartir sus conocimientos, formando comunidades de usuarios de UNIX. Se creó una asociación denominada USENIX como agrupación de usuarios de UNIX. Su primera reunión (mayo de 1974) tuvo una docena de asistentes.
Las universidades dieron un gran impulso a UNIX, y la industria UNIX comenzó también a crecer, empezaron a aparecer versiones de UNIX por parte de algunas compañías, como por ejemplo Xenix, que fue el resultado de una colaboración entre Microsoft y SCO, implementando un UNIX para máquinas Intel 8086.
Pero apareció un problema, cuando AT&T se dio cuenta de que UNIX era un producto comercial valioso, en la licencia de la V7 se prohibió su estudio en centros académicos, para proteger el secreto comercial. Muchas universidades habían hecho evolucionar a UNIX y utilizaban su código fuente para impartir la docencia de sistemas operativos; no tuvieron más remedio que dejar de usarlo.
Sin embargo, cada uno solucionó el problema a su modo. En Amsterdam, Andrew S. Tanenbaum (autor prestigioso de libros de teoría de sistema operativos) decidió escribir desde el principio un nuevo sistema operativo compatible con UNIX sin utilizar una sola línea de código de AT&T, y lo llamó Minix. Este sería el que posteriormente le serviría en 1991 a un estudiante finlandés para crear su propia versión de un núcleo de UNIX, nuestro famoso Linux.
Cada empresa comenzó a desarrollar sus versiones: IBM con AIX, DEC con Ultrix, HP con HPUX, Microsoft&SCO con Xenix, etc.
Con el tiempo, UNIX se dividió en varias ramas, siendo las dos principales, la que derivaba directamente de AT&T, el UNIX System V, y la de la universidad de California, el UNIX BSD. La mayoría de los UNIX actuales derivan de uno u otro, o son una mezcla de los dos.
AT&T pasó por un proceso judicial por monopolio telefónico, lo que hizo que se dividiera en múltiples empresas más pequeñas, y los derechos de UNIX originales comenzaron un baile de propietarios importante: en 1990 los tenían a medias la Open Software Foundation (OSF) y la UNIX International (UI), después, UNIX Systems Laboratories (USL); más tarde, los derechos de UNIX se vendieron a la empresa Novell, esta cedió parte a SCO, y hoy en día no está muy claro quién los tiene; por diferentes frentes los reclaman Novell, la OSF y SCO.
El panorama actual de UNIX ha cambiado mucho desde la aparición de GNU/Linux (1991), que a partir de los años 1995-99 comenzó a convertirse en una alternativa seria a los UNIX propietarios, por la gran cantidad de plataformas hardware que soporta y el amplio apoyo de la comunidad internacional y empresas. Es de esperar una muerte más o menos lenta de las versiones propietarias de UNIX, ocupando su lugar GNU/Linux.
Licencia: licencia de software libre GPL