# Microsoft, “현재까지 발견된 가장 오래된 DOS 소스 코드” 오픈소스 공개

> Clean Markdown view of GeekNews topic #29839. Use the original source for factual precision when an external source URL is present.

## Metadata

- GeekNews HTML: [https://news.hada.io/topic?id=29839](https://news.hada.io/topic?id=29839)
- GeekNews Markdown: [https://news.hada.io/topic/29839.md](https://news.hada.io/topic/29839.md)
- Type: GN+
- Author: [xguru](https://news.hada.io/@xguru)
- Published: 2026-05-25T08:22:07+09:00
- Updated: 2026-05-25T08:22:07+09:00
- Original source: [arstechnica.com](https://arstechnica.com/gadgets/2026/04/microsoft-open-sources-the-earliest-dos-source-code-discovered-to-date/)
- Points: 1
- Comments: 1

## Topic Body

- **Microsoft**가 MS-DOS라는 이름이 붙기 전까지 거슬러 올라가는 초기 DOS 자료를 공개해, 기존 공개분보다 더 오래전의 개발 단계를 보여줌  
- 공개 자료에는 **86-DOS 1.00** 커널 소스, PC-DOS 1.00 커널의 여러 개발 스냅샷, CHKDSK 같은 유틸리티가 포함됨  
- **Tim Paterson**은 Seattle Computer Products의 Intel 8086 컴퓨터 키트용으로 86-DOS를 만들었고, 이 운영체제는 QDOS로도 알려졌음  
- Microsoft는 IBM PC 5150용 운영체제를 위해 86-DOS를 라이선스하고 Paterson을 고용한 뒤, 권리를 사들여 **PC-DOS**와 MS-DOS로 확장함  
- 이번 코드는 디지털 보관본이 아니라 Paterson의 **종이 출력물**에서 수작업 전사·스캔돼, 초기 PC 운영체제 연구 자료의 범위를 넓힘  
  
---  
  
### 공개된 초기 DOS 소스 코드  
- Microsoft가 “**지금까지 공개한 DOS 소스 코드 중 가장 오래된 DOS 소스 코드**”를 공개함  
- 이번 공개는 MS-DOS라는 이름이 붙기 전의 코드까지 거슬러 올라가며, Microsoft의 [공개 글](https://opensource.microsoft.com/blog/2026/04/28/continuing-the-story-of-early-dos-development/)에는 `86-DOS 1.00` 커널 소스, `PC-DOS 1.00` 커널의 여러 개발 스냅샷, `CHKDSK` 같은 유틸리티가 포함됨  
- 기존에 공개된 MS-DOS 소스보다 더 이른 시점의 자료라, 초기 DOS 개발 과정을 더 앞단에서 확인할 수 있음  
  
### 86-DOS에서 MS-DOS로 이어진 경로  
- **Tim Paterson**은 Seattle Computer Products가 판매한 Intel 8086 기반 컴퓨터 키트를 위해 86-DOS를 처음 만들었음  
- 86-DOS는 이전에 QDOS로 알려졌고, QDOS는 “quick and dirty operating system”의 약자였음  
- Microsoft는 아직 개발 중이던 [IBM PC 5150](https://arstechnica.com/gadgets/2017/06/ibm-pc-history-part-1/)에 운영체제를 제공하기 위해 86-DOS를 라이선스하고 Paterson을 고용해 개발을 이어가게 함  
- 이후 Microsoft는 **86-DOS 권리**를 완전히 사들였고, IBM에는 PC-DOS로 라이선스하면서 다른 회사에도 판매할 수 있는 권리를 유지함  
- Microsoft가 판매한 버전은 **MS-DOS**로 불렸고, 1980년대와 1990년대에 타사 IBM PC 호환 기종이 확산되면서 널리 쓰인 운영체제가 됨  
  
### 종이 출력물에서 복원된 코드  
- 이번 소스 코드는 너무 오래되어 **디지털 형태로 보관되지 않았음**  
- Yufeng Gao와 Rich Cini가 이끄는 역사가와 보존 전문가 팀은 “DOS Disassembly Group”이라는 이름으로 Paterson이 제공한 종이 출력물에서 코드를 [수작업으로 전사하고 스캔](http://cini.classiccmp.org/recoveryblog.htm)함  
- 수십 년 된 출력물의 품질 때문에 현대 OCR 소프트웨어가 [제대로 처리하기 어려워](https://jscarsbrook.me/doshistory/) 복원 작업이 더 까다로웠음  
  
### 관련 공개와 보존 흐름  
- Microsoft는 2014년에 MS-DOS 1.25와 2.0을 오픈소스로 공개했고, 2018년에 [다시 공개](https://devblogs.microsoft.com/commandline/re-open-sourcing-ms-dos-1-25-and-2-0/)함  
- 2024년에는 특이한 버전으로 묘사된 [MS-DOS 4.0 소스 코드](https://arstechnica.com/gadgets/2024/04/microsoft-and-ibm-release-source-code-for-one-of-the-weirdest-versions-of-ms-dos/)도 공개했으며, 이 버전들은 같은 [GitHub 저장소](https://github.com/microsoft/MS-DOS)에 올라와 있음  
- 이번 공개는 2020년대에 새로 재발견된 첫 86-DOS 관련 자료는 아니며, 2년 전에는 알려진 가장 이른 86-DOS 버전이 [재발견되어 Internet Archive에 업로드](https://arstechnica.com/gadgets/2024/01/the-oldest-known-version-of-ms-doss-predecessor-has-been-discovered-and-uploaded/)됨  
- MS-DOS 브랜드 이전의 코드, 개발 스냅샷, 유틸리티가 함께 공개되면서 초기 PC 운영체제 역사를 연구할 원자료가 더 넓어짐

## Comments



### Comment 58171

- Author: neo
- Created: 2026-05-25T08:22:07+09:00
- Points: 1

###### [Hacker News 의견들](https://news.ycombinator.com/item?id=48253386) 
- 이런 말은 드물지만, 고마워 Microsoft. 사실 **DOS**만큼이나, 어쩌면 더 중요한 건 Microsoft가 만든 **BASIC**이었음  
  그들이 진짜 하고 싶었던 일은 BASIC이었고, DOS는 IBM 계약을 따내게 해준 계기였음. 수십 년 동안 Microsoft는 운영체제와 기타 소프트웨어를 부업으로 만드는 개발자 도구 회사에 가까웠고, 그 BASIC 코드도 오픈소스로 공개했음 [https://opensource.microsoft.com/blog/2025/09/03/microsoft-o...](<https://opensource.microsoft.com/blog/2025/09/03/microsoft-open-source-historic-6502-basic/>)
  - 커밋에 **49년 전**이라고 찍힌 건 처음 보는 것 같음
  - Commodore 64를 쓰면서도 사실 계속 **Microsoft**를 쓰고 있었다는 걸 깨달았던 기억이 남
  - 흥미로운 건 **Microsoft BASIC** 자체가 BASIC-PLUS에서 파생됐고, BASIC-PLUS는 Dartmouth BASIC에서 나왔다는 점임  
    Dartmouth BASIC은 나중에 구조적 프로그래밍 언어인 SBASIC(Structured BASIC)으로 발전했지만, Microsoft BASIC의 인기가 오히려 SBASIC의 ANSI 표준화를 멈추게 만들었음  
    [https://en.wikipedia.org/wiki/Microsoft_BASIC](<https://en.wikipedia.org/wiki/Microsoft_BASIC>)  
    Altair BASIC 인터프리터는 Paul Allen과 Bill Gates가 PDP-10 미니컴퓨터에서 직접 만든 Intel 8080 에뮬레이터를 이용해 개발했고, Microsoft 방언은 Gates가 고등학교 때 썼던 DEC의 BASIC-PLUS를 본뜬 것이었음  
    [https://en.wikipedia.org/wiki/Dartmouth_BASIC](<https://en.wikipedia.org/wiki/Dartmouth_BASIC>)  
    Dartmouth BASIC은 John G. Kemeny와 Thomas E. Kurtz가 만든 원조 BASIC이며, DTSS와 함께 학부생과 대학 구성원 전체에 대화형 프로그래밍 환경을 제공했음. 1975년에는 구조적 프로그래밍 개념을 넣은 SBASIC을 내놓았고, 이는 1980년대 초 ANSI “Standard BASIC” 작업의 기반이 됨  
    하지만 1980년대 후반에는 수천만 대의 가정용 컴퓨터가 MS BASIC 인터프리터 변종을 돌리면서 사실상 표준이 되었고, 결국 ANSI SBASIC 노력은 중단됨. Kemeny와 Kurtz는 그 개념을 이어가 True BASIC을 만들었지만, 2026년 2월 기준 TrueBASIC 웹사이트는 공식적으로 닫힘  
    [https://en.wikipedia.org/wiki/True_BASIC](<https://en.wikipedia.org/wiki/True_BASIC>)

- 그 시절에는 **어셈블리 몇천 줄**을 쓰는 것만으로 성공적인 소프트웨어 회사를 시작할 수 있었다는 사실이 정말 부러움
  - 맞지만, 그 어셈블리는 **DOS**가 아니었고 쉬운 일도 아니었음  
    Microsoft는 DOS 코드를 직접 쓴 게 아니라 구매했음. 물론 이후 개발하고 수정하긴 했지만, 그건 기술적 성취라기보다 영리하고 운도 따른 사업 거래였음  
    Microsoft의 진짜 시작은 그보다 앞서 Allen, Gates, Davidoff가 **Altair BASIC 인터프리터**를 만든 일이었고, 그건 상당한 성취였음  
    그들은 대상 컴퓨터를 본 적도 없었고, 컴퓨터를 소유하지도 않았음. 쓰면 안 되는 대학 컴퓨터에서 8주 동안 작업했음  
    “Altair는 BASIC 인터프리터 구매 가능성을 두고 만나기로 했지만, Gates와 Allen에게는 BASIC 인터프리터도 Altair 시스템도 없었다. Allen은 PDP-10 시분할 컴퓨터에서 도는 Intel 8008 에뮬레이터를 만들어 둔 상태였고, 이를 Altair 프로그래머 가이드에 맞춰 수정해 Harvard의 PDP-10에서 인터프리터를 개발하고 테스트했다.”  
    완성된 인터프리터는 자체 입출력 시스템과 줄 편집기를 포함해 4KB 메모리에 들어갔고, 해석할 프로그램을 위한 공간도 충분히 남겼음. 데모 준비를 위해 완성된 인터프리터를 Altair가 읽을 수 있는 천공 테이프에 저장했고, Paul Allen은 Altair를 만나러 Albuquerque로 날아갔음  
    착륙 직전 Allen은 테이프를 메모리로 읽어들이는 부트로더를 깜빡했다는 걸 깨닫고, 8080 기계어로 비행기가 착륙하기 전에 프로그램을 완성했음. Altair에 프로그램을 올리고 시스템 메모리 크기를 묻는 프롬프트가 뜬 뒤에야 Gates와 Allen은 인터프리터가 실제 Altair 하드웨어에서 동작한다는 걸 알았음  
    [https://en.wikipedia.org/wiki/Altair_BASIC](<https://en.wikipedia.org/wiki/Altair_BASIC>)
  - 공정하게 말하면 회사를 이끌 **냉혹한 사업가**도 필요했을 것 같음. 지금도 대체로 마찬가지고
  - 오히려 정반대로 느껴짐. 정말로 **맞는 사람이 맞는 장소에 맞는 시점**에 있어야 했던 것임
  - 그렇게 단순한 프로세서와 시스템에서조차 그랬다는 게 놀라움. 디스크립터 테이블도 없고, 메모리 관리 설정도 없었음  
    요즘은 시작만 하려고 해도 주 프로세서 안의 작은 프로세서가 따로 필요함. 그때가 황금기였음
  - 어셈블리를 **TypeScript/Rust/Go** 같은 것으로 바꿔도, 아이디어가 좋고 유용하다면 지금도 같은 원리가 적용됨

- 당시 소스 관련 논의는 여기 있음. 24일 전, 79점, 댓글 19개 [https://news.ycombinator.com/item?id=47957494](<https://news.ycombinator.com/item?id=47957494>)  
  GitHub 클론 관련 논의도 있음. 162점, 댓글 15개 [https://news.ycombinator.com/item?id=47946813](<https://news.ycombinator.com/item?id=47946813>)

- 놀랍게도 종이 출력물을 다시 **OCR**로 읽어 들여야 했음  
  이 소스 코드는 디지털로 저장돼 있지 않을 정도로 오래됐고, Yufeng Gao와 Rich Cini가 이끄는 역사학자와 보존가 팀 “DOS Disassembly Group”이 Paterson이 제공한 종이 출력물에서 코드를 힘들게 전사하고 스캔했음. 수십 년 된 출력물 품질 때문에 최신 OCR 소프트웨어도 어려움을 겪었다고 함
  - **도트 매트릭스 글꼴 OCR**에서 무엇이 잘 먹히는지 더 듣고 싶음  
    레터 품질 프린터 출력은 97% 정도까지 OCR해본 적이 있는데, 주로 O와 X 문제가 있었음  
    그런데 요즘 기계학습 기반 텍스트 인식은 컴퓨터 코드가 사람 언어처럼 보이지 않는다는 이유로 거부하는 쪽으로도 편향된 것 같음
  - 아버지 서류 속에서 발견한 목록을 스캔해서, 예전에 내가 쓴 **오래된 소프트웨어** 일부를 복구한 적이 있음
  - 종이에 인쇄된 텍스트가 어떤 **디지털 저장장치**보다 오래 살아남은 또 하나의 사례임

- Microsoft가 어떻게 운영체제 사업에 들어갔는지 흥미로운 이야기임. IBM은 **CP/M** 운영체제를 원했지만 Digital Research가 IBM의 NDA에 서명하지 않았고, 이게 컴퓨팅 역사에서 큰 분기점이 됨  
  “Triumph of the Nerds” TV 대본에서 인용하면:  
  [https://www.pbs.org/nerds/part2.html](<https://www.pbs.org/nerds/part2.html>)  
  Jack Sams(IBM)는 Microsoft가 BASIC 언어와 운영체제를 모두 담은 패키지를 갖고 있다고 생각했지만, IBM은 사전 조사를 제대로 하지 않았음  
  Steve Ballmer에 따르면 IBM은 Microsoft가 SoftCard 제품에 CP/M을 얹어 팔았기 때문에, 새 개인용 컴퓨터용 CP/M을 라이선스할 수 있다고 생각했음. Microsoft는 “우리는 그 사업을 하지 않는다”고 답했음  
  Jack Sams는 Bill Gates가 권리가 없다고 설명하면서도 Gary Kildall이 준비가 돼 있을 것 같다고 했고, 그래서 그 자리에서 Digital Research의 Gary에게 전화해 IBM 사람들을 잘 대해달라고 했다고 함
  - 이 이야기의 세부 사실은 거의 전부 당사자들 사이에서도 다툼이 있음. 잘 안 풀린 **회의**가 있었다는 큰 줄기 정도만 확실해 보임

- 가장 초기 **Windows** 버전 소스가 공개되기까지 얼마나 걸릴지 궁금함. 이렇게 오래된 DOS 소스가 아직 남아 있다는 사실만으로도 예전 Windows 소스도 보존돼 있을 거라는 희망은 생김
  - **Windows 2000 코드베이스**가 오픈소스나 소스 공개 형태로 나오는 날이면 행복하게 죽을 수 있을 것 같음  
    물론 그런 가능성의 빛이라도 보일 때쯤이면 이미 오래전에 죽어 있을 가능성이 크지만. 정말 아름답고 매끄럽게 돌아가던 운영체제였음
  - 디스어셈블하는 건 어렵지 않을 것 같음
  - 머지않았을 수도 있다고 봄. Microsoft가 플랫폼으로서의 **Windows**를 거의 마무리해 가는 인상을 받음
  - 초기 **Windows 3.11**만 봐도 영감과 배울 만한 좋은 자료가 많을 것 같음
  - 흥미를 끌기에는 수십 년쯤 너무 늦게 공개한 듯함

- 최근 관련 글: Microsoft open sources DOS 1.00 on 45th anniversary - [https://news.ycombinator.com/item?id=47957494](<https://news.ycombinator.com/item?id=47957494>) - 2026년 4월, 댓글 19개

- 현대 컴퓨팅의 초기 시절은 정말 빛났음. 우리는 기계를 있는 그대로 **기계**로 대했음  
  성능, 창의성, 과학이 모두 386 기계를 제대로 작동시키는 데 필요했음. 요즘은 라이브러리, 가상화, 나쁜 코드 위에 나쁜 코드 위에 나쁜 코드를 쌓는 것뿐이라 마음에 들지 않음
  - 가끔 내 컴퓨터 정신 모델이 아직도 **48KB RAM의 Apple ][+** 라서 더 나은 코드를 쓰는 것 같다고 생각함
  - 꽤 오래전부터 저수준 개념을 전혀 이해하지 못하는 프로그래머들이 많아졌음. **JavaScript나 Python**으로 시작해서 아래를 내려다본 적이 없고, 그들이 정상이라고 여길 괴물 같은 구조에는 한계가 없음  
    Linus Torvalds도 몇 달 전 AI 코딩 도구를 이야기하면서 비슷한 취지로 말했음. 그의 세대, 그리고 내 세대는 저수준부터 시작해 전체 스택에 대한 감각을 유지할 수 있어 운이 좋았지만, 요즘 아이들은 그런 기회를 얻기 어렵다는 것임  
    아이의 첫 코딩 경험이 천재처럼 보이는 챗봇이라면, 컴퓨터와 알고리즘, 자료구조에 대한 그런 수준의 감각을 익히기는 쉽지 않을 것 같음
  - **DOS**와 “훌륭함”이 같은 문장에 있다니…

- 이건 가장 오래된 소스이긴 하지만, **86-DOS v0.1-C 바이너리**는 이 v1.00 소스보다 더 이르고 v0.34도 발견됐으며, 에뮬레이터에서 내려받아 실행할 수 있음 :-)  
  [https://arstechnica.com/gadgets/2024/01/the-oldest-known-ver...](<https://arstechnica.com/gadgets/2024/01/the-oldest-known-version-of-ms-doss-predecessor-has-been-discovered-and-uploaded/>)
