Microsoft publica como código abierto “el código fuente de DOS más antiguo descubierto hasta ahora”
(arstechnica.com)- Microsoft publicó materiales tempranos de DOS que se remontan a antes de que llevara el nombre MS-DOS, mostrando una etapa de desarrollo anterior a lo ya divulgado
- Entre los materiales publicados se incluyen el código fuente del kernel de 86-DOS 1.00, varias instantáneas de desarrollo del kernel de PC-DOS 1.00 y utilidades como CHKDSK
- Tim Paterson creó 86-DOS para los kits de computadoras Intel 8086 de Seattle Computer Products, y este sistema operativo también era conocido como QDOS
- Microsoft licenció 86-DOS para el sistema operativo de la IBM PC 5150, contrató a Paterson y luego compró los derechos para expandirlo como PC-DOS y MS-DOS
- Este código no se recuperó de un archivo digital, sino que fue transcrito y escaneado manualmente a partir de impresiones en papel de Paterson, ampliando el alcance del material de investigación sobre los primeros sistemas operativos para PC
Código fuente temprano de DOS publicado
- Microsoft publicó “el código fuente de DOS más antiguo entre los que ha hecho públicos hasta ahora”
- Esta publicación se remonta incluso a código anterior al nombre MS-DOS, y la entrada de Microsoft incluye el código fuente del kernel de
86-DOS 1.00, varias instantáneas de desarrollo del kernel dePC-DOS 1.00y utilidades comoCHKDSK - Como se trata de material anterior al código fuente de MS-DOS publicado previamente, permite observar el proceso inicial de desarrollo de DOS desde una etapa más temprana
El camino de 86-DOS a MS-DOS
- Tim Paterson creó originalmente 86-DOS para los kits de computadoras basados en Intel 8086 que vendía Seattle Computer Products
- 86-DOS antes era conocido como QDOS, sigla de “quick and dirty operating system”
- Microsoft licenció 86-DOS y contrató a Paterson para continuar el desarrollo con el fin de suministrar un sistema operativo a la IBM PC 5150, que aún estaba en desarrollo
- Después, Microsoft compró por completo los derechos de 86-DOS y lo licenció a IBM como PC-DOS, conservando el derecho de venderlo también a otras empresas
- La versión vendida por Microsoft se llamó MS-DOS, y se convirtió en un sistema operativo ampliamente usado durante las décadas de 1980 y 1990 con la expansión de las PC compatibles con IBM de terceros
Código restaurado desde impresiones en papel
- Este código fuente es tan antiguo que no se conservó en formato digital
- Un equipo de historiadores y especialistas en preservación liderado por Yufeng Gao y Rich Cini, bajo el nombre “DOS Disassembly Group”, transcribió y escaneó manualmente el código a partir de impresiones en papel proporcionadas por Paterson
- Debido a la calidad de las impresiones de hace varias décadas, el trabajo de restauración fue más complicado porque el software OCR moderno tenía dificultades para procesarlas correctamente
Publicaciones relacionadas y preservación
- Microsoft publicó como código abierto MS-DOS 1.25 y 2.0 en 2014, y los volvió a publicar en 2018
- En 2024 también publicó el código fuente de MS-DOS 4.0, descrita como una versión peculiar, y esas versiones están en el mismo repositorio de GitHub
- Esta publicación no es el primer material relacionado con 86-DOS redescubierto en la década de 2020; hace dos años, la versión conocida más temprana de 86-DOS fue redescubierta y subida a Internet Archive
- Con la publicación conjunta de código anterior a la marca MS-DOS, instantáneas de desarrollo y utilidades, se amplía el conjunto de fuentes primarias para investigar la historia de los primeros sistemas operativos para PC
1 comentarios
Opiniones de Hacker News
No se dice mucho, pero gracias, Microsoft. De hecho, tan importante como DOS, o quizá más importante, fue BASIC hecho por Microsoft
Lo que realmente querían hacer era BASIC, y DOS fue lo que les permitió conseguir el contrato con IBM. Durante décadas, Microsoft fue más una empresa de herramientas para desarrolladores que hacía sistemas operativos y otro software como actividad secundaria, y también liberaron como código abierto ese código de BASIC https://opensource.microsoft.com/blog/2025/09/03/microsoft-o...
Dartmouth BASIC después evolucionó hacia SBASIC (Structured BASIC), un lenguaje de programación estructurada, pero la popularidad de Microsoft BASIC terminó frenando la estandarización ANSI de SBASIC
https://en.wikipedia.org/wiki/Microsoft_BASIC
El intérprete Altair BASIC fue desarrollado por Paul Allen y Bill Gates usando un emulador de Intel 8080 que ellos mismos hicieron en una minicomputadora PDP-10, y el dialecto de Microsoft estaba modelado a partir de BASIC-PLUS de DEC, que Gates había usado en la preparatoria
https://en.wikipedia.org/wiki/Dartmouth_BASIC
Dartmouth BASIC es el BASIC original, creado por John G. Kemeny y Thomas E. Kurtz, y junto con DTSS ofrecía un entorno de programación interactivo para estudiantes de licenciatura y toda la comunidad universitaria. En 1975 lanzaron SBASIC, incorporando conceptos de programación estructurada, y eso se convirtió en la base del trabajo de ANSI sobre “Standard BASIC” a inicios de los años 80
Pero hacia fines de los 80, decenas de millones de computadoras domésticas corrían variantes del intérprete MS BASIC y eso lo volvió el estándar de facto, así que el esfuerzo ANSI por SBASIC terminó abandonándose. Kemeny y Kurtz continuaron esas ideas con True BASIC, pero al mes de febrero de 2026 el sitio web de TrueBASIC estaba oficialmente cerrado
https://en.wikipedia.org/wiki/True_BASIC
De verdad da envidia pensar que en esa época podías arrancar una empresa de software exitosa escribiendo unos cuantos miles de líneas de ensamblador
Microsoft no escribió originalmente el código de DOS, lo compró. Claro, después lo desarrolló y modificó, pero eso fue más una jugada de negocios inteligente y con suerte que un logro técnico
El verdadero inicio de Microsoft fue antes, cuando Allen, Gates y Davidoff hicieron el intérprete Altair BASIC, y eso sí fue un logro considerable
Ni siquiera habían visto la computadora objetivo, y tampoco poseían una. Trabajaron durante 8 semanas en una computadora universitaria que no debían usar
“Altair había aceptado reunirse para hablar de la posible compra de un intérprete BASIC, pero Gates y Allen no tenían ni un intérprete BASIC ni un sistema Altair. Allen ya había creado un emulador del Intel 8008 que corría en una computadora de tiempo compartido PDP-10, y lo adaptó para que coincidiera con la guía del programador de Altair, con lo que desarrollaron y probaron el intérprete en la PDP-10 de Harvard.”
El intérprete terminado cabía en 4 KB de memoria, incluyendo su propio sistema de entrada/salida y un editor de líneas, y todavía dejaba suficiente espacio para el programa a interpretar. Para preparar la demo, guardaron el intérprete terminado en una cinta perforada que Altair pudiera leer, y Paul Allen voló a Albuquerque para reunirse con Altair
Justo antes de aterrizar, Allen se dio cuenta de que había olvidado el bootloader para cargar la cinta en memoria, así que terminó el programa en lenguaje máquina 8080 antes de que el avión tocara tierra. Solo después de cargar el programa en la Altair y ver el prompt preguntando el tamaño de memoria del sistema, Gates y Allen supieron que el intérprete realmente funcionaba en hardware Altair real
https://en.wikipedia.org/wiki/Altair_BASIC
Hoy, con tal de empezar, ya necesitas un pequeño procesador aparte dentro del procesador principal. Aquella sí fue una época dorada
La discusión anterior sobre este código fuente está aquí. Hace 24 días, 79 puntos, 19 comentarios https://news.ycombinator.com/item?id=47957494
También hay discusión sobre el clon en GitHub. 162 puntos, 15 comentarios https://news.ycombinator.com/item?id=47946813
Sorprendentemente, tuvieron que volver a leer impresiones en papel con OCR
Este código fuente es tan antiguo que no se conservó en formato digital, y un equipo de historiadores y preservacionistas, el “DOS Disassembly Group”, encabezado por Yufeng Gao y Rich Cini, transcribió y escaneó con mucho esfuerzo el código a partir de las impresiones en papel proporcionadas por Paterson. Dicen que incluso el software moderno de OCR tuvo problemas por la calidad de unas impresiones con varias décadas encima
He logrado hacer OCR a impresiones de calidad carta hasta alrededor de 97%, y los problemas principales eran con O y X
Pero también parece que el reconocimiento de texto basado en aprendizaje automático de hoy está sesgado a rechazar código de computadora porque no “se parece” al lenguaje humano
Es una historia interesante sobre cómo Microsoft entró al negocio de los sistemas operativos. IBM quería el sistema operativo CP/M, pero Digital Research no firmó el NDA de IBM, y eso terminó siendo un gran punto de inflexión en la historia de la computación
Citando el guion de TV de “Triumph of the Nerds”:
https://www.pbs.org/nerds/part2.html
Jack Sams (IBM) pensaba que Microsoft tenía un paquete con el lenguaje BASIC y el sistema operativo, pero IBM no hizo bien la investigación previa
Según Steve Ballmer, IBM creía que Microsoft podía licenciar CP/M para su nueva computadora personal porque Microsoft vendía CP/M sobre su producto SoftCard. Microsoft respondió: “Nosotros no estamos en ese negocio”
Jack Sams dice que Bill Gates le explicó que no tenía los derechos, pero que Gary Kildall probablemente estaría preparado, así que en ese momento llamó a Gary de Digital Research para decirle que tratara bien a la gente de IBM
Me pregunto cuánto faltará para que se publique el código fuente de las versiones más tempranas de Windows. El simple hecho de que todavía exista este código tan antiguo de DOS da esperanza de que también se haya preservado el de Windows antiguo
Aunque lo más probable es que para cuando siquiera se vea una mínima posibilidad de eso, yo ya lleve mucho tiempo muerto. De verdad era un sistema operativo hermoso y muy fluido
Publicación relacionada reciente: Microsoft open sources DOS 1.00 on 45th anniversary - https://news.ycombinator.com/item?id=47957494 - abril de 2026, 19 comentarios
Los primeros días de la computación moderna de verdad fueron brillantes. Tratábamos a las máquinas como lo que eran: máquinas
Hacían falta rendimiento, creatividad y ciencia para hacer funcionar bien una 386. Ahora parece que todo es bibliotecas, virtualización y capas de mal código encima de mal código encima de mal código, y eso no me gusta
Linus Torvalds dijo algo en ese mismo sentido hace unos meses cuando hablaba de herramientas de programación con IA. Su generación, y la mía, tuvo la suerte de empezar desde el nivel bajo y así conservar una intuición del stack completo, pero hoy a los chicos les cuesta más tener esa oportunidad
Si la primera experiencia de un niño programando es un chatbot que parece un genio, no creo que sea fácil desarrollar ese nivel de intuición sobre computadoras, algoritmos y estructuras de datos
Este sí es el código fuente más antiguo, pero el binario 86-DOS v0.1-C es anterior a este código v1.00 y también se encontró la v0.34; ambos se pueden descargar y ejecutar en un emulador :-)
https://arstechnica.com/gadgets/2024/01/the-oldest-known-ver...