Hora

sábado, 22 de enero de 2011

QDOS, el "padre" del DOS (1979)

El QDOS, un Sistema Operativo (SO) escrito por Tim Paterson en 1979, fue adquirido por Bill Gates y “convertido” en el MS-DOS, el producto que sería clave para el posterior éxito del imperio Microsoft. QDOS era un SO de 16 bits diseñado para correr en el microprocesador Intel 8086, inspirado fuertemente en el CP/M escrito previamente por Gary Kildall. Paterson, a los 22 años, escribió QDOS en solo un mes y medio, dotándolo de la misma interfaz y la mayor parte de los comandos disponibles en CP/M. Te contamos los secretos de los orígenes del MS-DOS, uno de los sistemas operativos más populares de la historia.


Circulan muchas historias sobre Bill Gates y su empresa Microsoft. Una de las más interesantes es el origen de lo que sería uno de los sistemas operativos (SO) más utilizados en el mundo, cuyo éxito impulsó financieramente a la empresa de Gates y la convirtió en el gigante que es hoy día. La leyenda -no todos los pasajes de este entretenido culebrón han sido ratificados o desmentidos por los personajes implicados, y posiblemente no lo serán nunca- cuenta que Microsoft compró por un puñado de dólares un SO existente, le hizo algunas modificaciones, y lo licenció a IBM ganando en el proceso cientos de millones de dólares. El SO en cuestión era el QDOS (por "Quick and Dirty Operating System", o “Sistema Operativo Rápido y Sucio") escrito por Tim Paterson. El QDOS era un SO destinado a los sistemas de 16 bits que utilizaban el microprocesador Intel 8086, que Paterson había escrito inspirándose a su vez en la interfaz y los comandos que utilizaba el más popular SO de la época: el Control Program/Monitor (CP/M). El CP/M había sido programado por Gary Kildall entre 1973 y 1974, quien en 1976 fundó la compañíaDigital Research Inc (DRI). Si tienes más de 35 años, quizás recuerdes un SO alternativo al MS-DOS llamado DR-DOS, que no era otra cosa que la versión de Digital Research del sistema más utilizado por las primeras PC.
Tarjeta de visita del dueño de Seattle Computer Products (Sugarcaddy)
Tarjeta de visita del dueño de Seattle Computer Products (Sugarcaddy)
Pero volvamos a los orígenes del QDOS. A fines de la década de 1970 era posible encontrar en el mercado varios ordenadores -algunos bastante potentes- que se comercializaban en forma de kit. Esto bajaba sensiblemente los precios, y una gran cantidad de usuarios “construyeron” sus propios ordenadores. Pero para que estas máquinas sirviesen de algo se necesitaba un sistema operativo capaz de manejar ficheros y los recursos del sistema. Una de las empresas especializadas en el desarrollo de kits de ordenadores era Seattle Computer Products (SCP), cuyas ventas no terminaban de despegar por falta de software capaz de correr en su sistema. SCP únicamente podía vender con sus placas elMicrosoft BASIC-86, un lenguaje de programación que Microsoft había desarrollado especialmente para la plataforma. SCP soñaba con incluir en su catálogo la versión del CP/M que Digital Research había anunciado para el microprocesador Intel 8086, pero los meses pasaban y el lanzamiento del CP/M se posponía una y otra vez. DRI cargaba sobre sus espaldas con una verdadera “tradición” en cuanto a las demoras: dos años antes se había retrasado en migrar CP/M a los nuevos formatos de diskettes y discos duros. Cansados de esperar, en abril de 1980 SCP tomó el toro por las astas y asignó a uno de sus empleados la programación de un sistema operativo propio. El empleado era, como habrás adivinado, Tim Paterson, y el SO que escribió fue el QDOS. El nuevo sistema operativo, cuyo nombre hacia referencia a lo rápido que había sido escrito por Paterson (demoró solo un mes y medio) y a las “concesiones” que habia hecho en cuanto a sus características para poder terminarlo a tiempo.
Asi se veia el 86-DOS (MESS)
Asi se veia el 86-DOS (MESS)

Paterson, que sólo tenía 22 años, diseñó el QDOS para que fuese lo más parecido posible al CP/M, ya que este era un SO aceptado por el público y muy popular. Intentando que QDOS no fuese simplemente una copia descarada -y tener que enfrentarse a una dura demanda legal- Paterson programó la mayoría de los comandos disponibles en el CP/M, pero no utilizó el mismo sistema de archivos. En su lugar utilizó el sistema de archivos FAT (File Allocation Table, o Tabla de Asignación de Archivos) que utilizaba Microsoft en algunas de sus versiones de BASIC. Para evitar forzar la actualización del contenido de los discos antes de quitarlos, Paterson evitó el uso de una copia del sistema de archivos en memoria RAM. Esto, si bien hacia al sistema de discos un poco más lento, dejaba más memoria libre para el usuario. No era un detalle menor, ya que por aquellos años la memoria era extremadamente cara y escasa. También reemplazó algunos comandos CP/M por otros menos potentes pero más intuitivos. Así fue como el poderoso y versátil comando de copia “PIP” del CP/M fue reemplazado por “COPY”. Se dice que para realizar su trabajo, Paterson compró un manual de CP/M y lo utilizó como base para programar QDOS. Es posible que haya utilizado bastante más que eso, ya que resulta bastante difícil escribir un “clon” de -por ejemplo- Windows XP viendo solo su manual del usuario. Como sea, lo cierto es que el joven programador proporcionó a Seattle Computer Products el SO que necesitaban, y esta empezó a comercializarlo bajo el nombre 86-DOS. 

 

IBM PC. (Boffy b)
IBM PC. (Boffy b)
Mientras tanto, IBM tenia un grupo de ingenieros encerrados en Boca Ratón diseñando lo que sería el bombazo más espectacular en la historia de la informáticael IBM PC. A finales de 1980 CP/M era sin discusión el SO más popular, e IBM lo quería para su nuevo ordenador. Pero cuando los representantes de la Big Blue se entrevistaron con los directores de Digital Research, descubrieron que tal cosa no sería sencilla. Durante la discusión sobre los términos y alcances de la licencia, Dorothy McEwen Kildall -la  representante de licencias de DRI- se negó a firmar el contrato alegando la existencia de una cláusula de no divulgación. IBM, decidida a utilizar CP/M, eliminó este escollo del contrato, pero Digital volvió a negarse a firmar por que no estaba de acuerdo con los 250 mil dólares (más un importe en concepto de regalías por cada venta) que IBM ofrecía a cambio de la autorización para vender todas las copias del SO que estimasen necesarias. La negociación estaba estancada, y finalmente la gente de IBM se reunió con Bill Gatespara ver si Microsoft disponía de un sistema operativo que les permitiese introducir la máquina -que ya estaba casi lista- en el mercado. Bill negoció duramente con IBM y consiguió mas o menos el mismo trato que la Big Blue le habia ofrecido a DRI, pero conservando los derechos para vender el SO con su propia marca. Esta resultó ser una genial jugada para Microsoft: el IBM PC y sus clones dominaron el mundo, y por cada uno que se vendia Gates y sus amigos embolsaban un puñado de dólares. Pero lo mejor de todo es que, al momento de comprometerse con IBM, Microsoft no tenia nada para vender.
Portada del Manual del Usuario del 86-DOS V. 0.3 (Tim Paterson)
Portada del Manual del Usuario del 86-DOS V. 0.3 (Tim Paterson)
Efectivamente, Microsoft no poseía un sistema operativo para entregar a IBM,ni el tiempo necesario para programarlo. Lejos de desanimarse, Gates compró -en Diciembre de 1980- una licencia no exclusiva del 86-DOS a Seattle Computer Productspor solo 25 mil dólares. Obviamente, no podía entregar ese producto tal cual estaba a IBM, por lo que en Mayo de 1981 Microsoft contrató a Tim Paterson para que modificase su ex QDOS de forma que corriese en el nuevo IBM-PC. Las modificaciones eran necesarias por que IBM había basado su diseño en el más barato y lento microprocesador Intel 8088, que a pesar de ser muy similar al 8086 no era 100% compatible. Fueron necesarios mas de 300 cambios, todos ellos supervisados bien de cerca por los representantes de IBM, quienes tenían muy claro que el buen funcionamiento de su ordenador dependía en buena medida de la calidad de este software. Finalmente, en Julio de 1981, solo un mes antes de que lanzaran el IBM PC a las tiendas, Microsoft compró todos los derechos sobre el 86-DOS a cambio de 50 mil dolares adicionales. Esta operación completaba la jugada de Bill Gates: IBM obtenía un SO muy parecido a CP/M, los programas escritos para ese SO podían ser portados fácilmente al nuevo DOS, se aseguraba de obtener beneficios económicos con la venta de cada PC, y eliminaba cualquier intento de juicio por plagio por parte de SCP al haberle comprado todos los derechos de su 86-DOS. Lo que se dice, un negocio redondo.
 

Microsoft convirtió el QDOS en el PC-DOS 1.0 y se lo entregó a IBM. (ibm5150.net)
Microsoft convirtió el QDOS en el PC-DOS 1.0 y se lo entregó a IBM. (ibm5150.net)
Microsoft convirtió el QDOS en el PC-DOS 1.0 -“DOS” significa “Disk Operating System”, o “Sistema Operativo de Disco”- y se lo entregó a IBM. Además, empezo a vender su propia versión bajo el nombre de MS-DOS (MicroSoft Disk Operating System) y rápidamente cosecharon una fortuna. Lógicamente, los abogados de Seattle Computer Products alegaron que Gates había encubierto su relación con IBM a la hora de comprarles la licencia del 86-DOS, pero solo consiguieron un pago extra de un millón de dólares por parte de Microsoft. Se dice que Gary Kildall examinó cuidadosamente los ejecutables del PC-DOS y encontró -según declaraciones del periodista y escritor Jerry Pournelle- que contenía partes del código original de su CP/M. Pournelle asegura que Kildall le mostró personalmente como, introduciendo un comando en el PC-DOS, éste mostraba su nombre en la pantalla. Sin embargo, dicho comando jamás fue revelado y la historia no ha sido corroborada. A manera de descargo, Paterson siempre ha sostenido que QDOS fue escrito desde cero por él mismo, y que solo imitó su interfaz y comandos, sin ver jamás su código fuente. Y la gran mayoría de los historiadores creen en esta versión. En esa época, un SO era lo suficientemente pequeño como para poder ser escrito por una sola persona, y Paterson era lo suficientemente inteligente como para hacerlo.
 

QDOS se convirtió en el SO de la IBM PC (IBM)
QDOS se convirtió en el SO de la IBM PC (IBM)
Evidentemente, en la historia del QDOS el personaje más inteligente de todos ha demostrado ser Bill Gates. Sin infringir la ley, moviéndose siempre al borde de la frontera de lo que separa lo ético de la trampa, logró que Microsoft ganase miles de millones de dólares a partir de una inversión de poco más de un millón. Tuvo el coraje de sentarse frente a los directivos de IBM y asegurarles que tendrían el SO que necesitaban, aún cuando Microsoft no tenia nada tangible para ofrecer. Como sea, QDOS -el producto de la mente de un programador de solo 22 años- se convirtió en el PC-DOS / MS-DOS que millones de personas compraron durante más de una década. ¿Que te parece?