GN⁺: DOS 4 오픈 소스화
(hanselman.com)MS-DOS 4.0 소스 코드 오픈소스 공개
- Microsoft는 IBM과 협력하여 오픈 이노베이션 정신으로 MS-DOS 4.00의 소스 코드를 MIT 라이선스로 공개함
- 10년 전 MS-DOS 1.25와 2.0의 소스 코드를 Computer History Museum에 공개하고 참조용으로 재배포한 바 있음
- 이 코드는 거의 45년 전 8086 어셈블리 코드로 전체가 작성된 운영 체제로서 역사적으로 중요한 위치를 차지하며 흥미로운 내용임
DOS 4.0의 복잡하고 흥미로운 역사
- DOS 4.0에는 Microsoft가 IBM과 코드 일부를 함께 개발했지만, 널리 배포되지 않은 Multitasking DOS라는 DOS 브랜치도 만들었기에 버전 역사가 다소 복잡하고 흥미로움
영국 연구원 Connor "Starfrost" Hyde의 발견
- 영국 연구원 Connor "Starfrost" Hyde가 최근 전 Microsoft CTO Ray Ozzie와 연락하여 그의 소프트웨어 컬렉션 중 일부에 대해 논의함
- Ray는 플로피 디스크 중에서 Lotus 재직 시절 받았던 DOS 4.0 미공개 베타 바이너리를 발견함
- Starfrost는 Microsoft OSPO에 연락하여 DOS 4, MT-DOS, 그리고 추후 OS/2가 될 것들 사이의 관계를 문서화하는 작업의 일환으로 DOS 4 소스 공개를 타진함
- 이 새로운 Ozzie 베타 바이너리는 인터넷에서 찾을 수 있는 Multitasking DOS 바이너리의 후기 버전들보다 훨씬 이전 버전이며 미공개 버전이고, ibmbio.com 소스도 포함하고 있음
Microsoft의 추가 노력
- Microsoft의 Scott Hanselman은 인터넷 아키비스트이자 애호가인 Jeff Sponaugle의 도움을 받아 이 원본 디스크를 이미징하고 "Ozzie Drop"의 원본 인쇄 문서를 주의 깊게 스캔함
- Microsoft는 IBM 친구들과 함께 이것이 공유할 만한 가치가 있는 운영 체제 역사의 흥미로운 부분이라고 생각함
- Jeff Wilcox와 OSPO는 Microsoft 아카이브를 조사했지만, MT-DOS의 전체 소스 코드는 찾을 수 없었고, 오늘 공개하는 MS-DOS 4.00과 추가 베타 바이너리, 문서의 PDF, 디스크 이미지 등을 발견함
- 더 발견되는 것이 있다면 이 릴리스를 업데이트할 예정임
감사의 말
- Ray Ozzie, Starfrost, Jeff Sponaugle, Larry Osterman, IBM OSPO의 친구들, Greaseweazle, Fluxengine, Aaru Data Preservation Suite, HxC Floppy Emulator 등 디지털 고고학 소프트웨어 제작자들에게 감사를 표함
- 무엇보다 이 코드의 원저자들에게 감사하며, 그 중 일부는 여전히 Microsoft와 IBM에서 일하고 있음
직접 실행해보기
- 이 소프트웨어를 직접 실행하고 탐색하려면, 원래의 IBM PC XT나 새로운 Pentium에서 직접 실행하거나 오픈소스 PCem과 86box 에뮬레이터에서 실행할 수 있음
GN⁺의 의견
- 이번 소스 코드 공개는 역사적 가치가 큰 의미 있는 일로 보임. MS-DOS는 PC 역사에서 중요한 위치를 차지하는 만큼 많은 사람들에게 흥미로운 자료가 될 것임
- 하지만 DOS 4.0은 완성되지 않은 버전이고 실제 널리 사용되지는 않았기에, 실제 사용된 DOS인 3.x나 5.0, 6.x 버전 소스도 공개되면 좋을 것 같음
- 미완성 버전의 소스라도 당시의 OS 개발 방식이나 코드 스타일 등을 엿볼 수 있어 의미가 있겠지만, 실제 제품에 쓰인 코드를 보는 것은 또 다른 가치가 있을 것임
- 오래된 플로피 디스크의 내용을 복원하는 작업이 쉽지 않았을텐데, 관련 도구들이 발전해 왔기에 가능했던 것 같음. 앞으로도 과거 유물을 디지털 고고학으로 복원하는 시도가 많아지길 기대함
- 소스와 함께 빌드 가능한 환경도 함께 제공해준다면 MS-DOS를 직접 빌드하고 수정해볼 수 있는 기회도 될 것 같음. 레거시 OS를 공부하는데 큰 도움이 될 것임
Hacker News 의견
-
오리지널 IBM XT와 모노크롬 디스플레이 어댑터에서 MS-DOS 4.0을 실행시키는데 성공함. 작은 게임, Turbo Pascal, DOS 프롬프트 사이를 한 키로 전환할 수 있어서 멋졌음.
-
MS-DOS 소스코드에서 개발자들이 좌절할 때 자주 사용한 욕은 "brain damaged"였던 것으로 보임.
-
IBM XT에서 MS-DOS 4.0이 실행되는 짧은 동영상이 공유됨. Scott가 플로피 디스크를 구하고 공개 허가를 받은 것에 대해 크게 칭찬받음.
-
소스코드에 "Dam multiplan!"이라는 주석이 있는데, 스프레드시트 애플리케이션인 Multiplan을 욕하는 것으로 추정됨.
-
정책이 시행되기 전에 소스코드에 욕설이 포함된 것으로 보임.
-
MS-DOS 소스코드가 오픈소스화 된 것은 좋지만, 외부의 동기부여로 이뤄진 것은 아쉬움. 기업 내부적으로 역사적 소스코드를 공개하려는 움직임이 부족해 보임.
-
MS-DOS 5.11부터는 TSR, 메모리 관리자 등이 안정화되었던 것으로 기억됨. 5.x, 6.x 버전의 소스코드도 공개되면 흥미로울 것임.
-
MS-DOS 4.0 출시(1986년)로부터 오픈소스화(2024년)까지 37년이 걸림. 이 속도라면 Windows XP는 2038년쯤 오픈소스화 될 것으로 예상됨.
-
MS-DOS 4.x는 대부분의 빈티지 DOS 소프트웨어를 실행할 수 있어서 소스코드 공개가 큰 의미가 있음.
-
MS-DOS 4는 전반적으로 좋지 않은 버전이었고 널리 사용되지 않았음. 3.3이나 5.0이 더 흔했음. MUF(Microsofts Undocumented Features) 리스트를 기억하는 사람이 있는지 궁금해 함.