# QDOS

El QDOS (siglas en inglés de "Quick and Dirty Operating System" en español "Sistema Operativo rápido y sucio", escrito y comercializado por Tim Paterson) era un sistema de 16 bits que pertenecía a la compañía estadounidense Seattle Computer Products. Estaba basado en el Control Program/Monitor (CP/M) de Gary Kildall para su kit de ordenador, que a su vez se basaba en el procesador Intel 8086. El QDOS tenía una estructura de comandos y una interfaz de programación de aplicaciones que imitaba al sistema operativo CP/M, propiedad de Digital Research, lo que facilitó la portabilidad de programas desde este último. Paterson compró un manual de CP/M y programó su sistema operativo, tomando CP/M como base, en un mes y medio. La empresa lo comercializó luego bajo el nombre de 86-DOS.
Dicho sistema operativo sería adquirido después por Bill Gates para Microsoft por 50 000 dólares y llegaría a ser la base de su imperio. Fue conocido como PC-DOS para los productos de IBM, en los que venía pre instalado. Sin embargo, sería MS-DOS el nombre más popular con el que se conocería en todo el mundo.

## Orígenes

QDOS fue creado porque las ventas del kit para ordenadores 8086 de la empresa Seattle Computer Products (SCP), presentado en junio de 1979 y distribuido en noviembre, fueron decayendo debido a la ausencia de un sistema operativo.
El único software que SCP podía vender con la placa era el autónomo Microsoft BASIC-86, que Microsoft había desarrollado en un prototipo del hardware de SCP.
SCP quería ofrecer la versión de CP/M para 8086 que Digital Research (DRI) había anunciado, pero su fecha de lanzamiento era incierta.
Esta no era la primera vez que DRI se había retrasado más que el desarrollo del hardware; dos años antes se había retrasado en adaptar CP/M para los nuevos formatos de disquetes y discos duros.
En abril de 1980 SCP asignó a Tim Paterson, de 22 años, para desarrollar QDOS como un sustituto para CP/M-86.
Paterson diseñó QDOS con la misma API interna y la mayoría de los comandos de usuario de CP/M.
No reprodujo el sistema de archivos de CP/M, sino que utilizó el sistema de archivos FAT soportado por algunas versiones de Microsoft BASIC.
Paterson eligió no mantener la información del sistema de archivos en memoria (caché) sino actualizarla en el disco con cada operación.
Aunque esta opción era más lenta, este enfoque evitó la necesidad de forzar una actualización a un disco antes de quitarlo.
Paterson también introdujo un conjunto de comandos más parecidos al inglés, tales como la utilidad "COPY", en lugar de PIP, que es más general, pero menos intuitivo.

## Interés de IBM

A finales de 1970, IBM estaba desarrollando lo que acabaría siendo el IBM PC. CP/M era el sistema operativo más popular de la época e IBM lo creyó necesario para tener un sistema competitivo.
Representantes de IBM visitaron Digital Research y discutieron los términos de la licencia con Dorothy McEwen Kildall, representante de licencias de Digital, quien dudó en firmar el contrato de IBM pues contenía una cláusula de no divulgación.
Aunque finalmente aceptaron la cláusula, Digital rechazó la propuesta de IBM que ofrecía pagarle 250 000 dólares a cambio de la autorización para vender todas las copias que fuesen necesarias, insistiendo en el modelo de retribución basada en regalías por copia. En conversaciones posteriores entre IBM y Bill Gates, este mencionó la existencia de QDOS y el representante de IBM, Jack Sams, le pidió que consiguiese una licencia para este sistema operativo.

## Creación de PC-DOS

Microsoft compró una licencia no exclusiva para 86-DOS a Seattle Computer Products en diciembre de 1980 por 50 000 dólares. En mayo de 1981, se contrató a Tim Paterson para portar QDOS al IBM-PC, que utilizaba el procesador Intel 8088 que era más lento y menos costoso, y que tenía su propia familia específica de periféricos.
IBM observó los progresos, diariamente, y presentó más de 300 peticiones de cambio antes de aceptar el producto y escribir el manual de usuario para él.
En julio de 1981, un mes antes de que lanzaran el PC, Microsoft compró todos los derechos de 86-DOS de SCP por 50 000 dólares. Esto cumplió los criterios principales de IBM: Parecía CP/M y era fácil adaptar los programas de 8 bits existentes de CP/M para funcionar bajo este, sobre todo gracias al comando TRANS de QDOS, que permitía traducir código fuente del Intel 8080 al lenguaje de máquina del 8086.
Microsoft licenció QDOS a IBM, y se convirtió en PC-DOS 1.0. Esta licencia también permitió que Microsoft vendiera el DOS a otras compañías, lo cual hizo. El acuerdo fue espectacularmente exitoso, y SCP demandó posteriormente en los juzgados que Microsoft había encubierto su relación con IBM para comprar el sistema operativo barato (incluso aunque Microsoft todavía estaba bajo los términos de un acuerdo de no revelación y el grado de éxito del PC no estaba previsto ampliamente). SCP recibió en última instancia un millón de dólares como acuerdo de pago.

## Disputa de propiedad intelectual

Cuando el fundador de DRI Gary Kildall examinó PC-DOS y encontró que duplicaba la interfaz de programación de CP/M, intentó demandar a IBM, que en ese momento afirmó que PC-DOS era su propio producto. Sin embargo, el abogado de Digital Research no creyó que la ley pertinente estuviese lo bastante clara como para realizar la demanda (él ahora dice que habría hecho la demanda bajo las leyes actuales). No obstante, Kildall se enfrentó a IBM y les convenció de que ofrecieran CP/M-86 con el PC a cambio de una liberación de responsabilidades.
La controversia ha continuado a causa de la similitud entre los dos sistemas. Quizás la afirmación más sensacionalista viene de Jerry Pournelle, que decía que Kildall le demostró a él personalmente que el DOS contenía código de CP/M (introduciendo un comando en el DOS este mostraba el nombre de Kildall)
Hasta el 2006 Pournelle no ha revelado el comando y nadie ha seguido adelante para corroborar su historia. Un libro del 2004 acerca de Kildall dice que él utilizó un mensaje cifrado para demostrar que otros fabricantes habían copiado el CP/M, pero no dice que encontrara el mensaje en el MS-DOS; en lugar de eso, su memoria (una fuente para el libro) señalaba la similitud bien conocida de la interfaz. Paterson insiste que el software de QDOS era un trabajo original suyo, y ha negado referirse o usar de otra manera el código de CP/M mientras lo escribía. Después de la publicación del libro en el 2004, él demandó a los autores y editores por difamación. El caso se remonta a una demanda presentada por Paterson contra Evans en 2004, luego de que este último escribiera en su libro They made America (Ellos construyeron América) que el supuesto inventor del DOS –quien luego lo vendiera a Bill Gates y le sirviera de base para su sistema operativo Windows– en realidad había tomado la idea del CP/M (Control Programming Monitor).
Antes de 1982, cuando IBM pidió que Microsoft lanzara una versión del DOS que fuese compatible con un disco duro, PC-DOS 2.0 era una reescritura casi completa del DOS, así que antes de marzo de 1983, ya quedaba muy poco de QDOS. El elemento más resistente de QDOS era su primitivo editor de línea de comandos, EDLIN, que seguía siendo el único editor proporcionado en las versiones del DOS de Microsoft hasta que en junio de 1991 se lanzó la versión de MS-DOS 5.0, que incluía un editor a pantalla completa (conocido como edit) basado en QBasic.
En el 2012, la revista IEEE Spectrum hizo pruebas que demostraron que QDOS no es una copia de CP/M. Según la revista se llegó a la conclusión de que eran sistemas diferentes y por tanto Microsoft no mintió en lo que dijo en su día. Sin embargo, un tiempo después, la misma revista mediante una nota de su editor reconoció que el autor fue contratado por Microsoft como asesor experto por lo que hay una vinculación directa entre este y la empresa que podría influenciar el contenido de su artículo y sus conclusiones.

## Características técnicas

Paterson lo diseñó con la misma interfaz de programación de aplicaciones (API) y la mayoría de los comandos de usuario del sistema CP/M. Modificó la forma de grabación de los disquetes utilizando una memoria caché, lo que aceleraba el uso pero obligaba al usuario a actualizar (desmontar) el disquete antes de retirarlo, esto se hacía mediante un comando específico. Modificó el nombre del comando de copiado a Copy, más intuitivo para el usuario, e incorporó los nombres de los dispositivos y los puertos de comunicación al sistema de archivos, de esta manera, se podía hacer una "copia" a la impresora, o a la pantalla, facilitando al usuario sus tareas. Esta característica se mantuvo en el MS-DOS. El sistema era mono tarea, mono usuario, y utilizaba el sistema de archivos FAT para mantener la compatibilidad.

## Versiones de QDOS

* QDOS v0.1, agosto de 1980
* 86-DOS v0.3, diciembre de 1980
* 86-DOS v1.0, abril de 1981