Прежде чем стать компанией, чья Windows стоит на миллионах офисных компьютеров по всему миру, Microsoft начинала с малого. В буквальном смысле — с операционной системы, которую в одиночку написал один инженер в компании Seattle Computer Products.
От QDOS до сделки с IBM
В 1980 году Тим Патерсон создал систему, которую сам в шутку назвал QDOS — Quick and Dirty Operating System, то есть «быстрая и грязная операционка». К тому моменту уже появился процессор Intel 8086, но доминировавшая на рынке CP/M его не поддерживала. Патерсон решил закрыть эту дыру и написал собственную систему, максимально повторив API CP/M, чтобы существующий софт мог работать без переделок.
Так родилась 86-DOS. Microsoft купила права на неё меньше чем за 100 000 долларов, поставила IBM под именем PC DOS 1.0 в августе 1981 года и сохранила за собой право продавать ту же систему другим производителям ПК под маркой MS-DOS. Именно эта сделка на два десятилетия вперёд определила доминирование Microsoft на рынке персональных компьютеров.
Что опубликовали и как это сделали
28 апреля, в 45-ю годовщину выхода 86-DOS 1.00, Microsoft объявила в своём блоге, что самый ранний известный исходный код DOS теперь доступен на GitHub под лицензией MIT.
История его сохранения сама по себе примечательна. Патерсон не хранил аккуратный архив исходников — у него остались только физические распечатки ассемблерного кода и стопки перфорированной бумаги с 1981 года. Историки Юйфэн Гао (Yufeng Gao) и Рич Чини (Rich Cini) нашли эти материалы, отсканировали и вручную транскрибировали относящиеся к DOS фрагменты в компилируемый вид.
В публикацию вошли ядро 86-DOS 1.00, несколько промежуточных сборок ядра PC-DOS 1.00, утилиты вроде CHKDSK и сам ассемблер, которым пользовался Патерсон при написании системы.
Кому это может пригодиться
Строго говоря, открытие старого кода Microsoft уже никого не удивляет — это стало почти регулярной практикой. В сентябре 2025 года открыли исходники 6502 BASIC, в 2024-м — MS-DOS 4.0, а ещё раньше, в 2018 году, — MS-DOS 1.25 и 2.0. Закономерность прослеживается чётко.
Тем, кто увлекается ретро-компьютингом или низкоуровневым программированием, стоит заглянуть в репозиторий: код компилируется, но для сборки понадобится ассемблер ASM от Seattle Computer Products, который можно взять из любого релиза 86-DOS или ранней версии MS-DOS. Все необходимые шаги описаны в README самого репозитория на GitHub.
Источник: It's FOSS.