เปิดซอร์สโค้ด MS-DOS 4.0 แบบโอเพนซอร์ส
- Microsoft ร่วมมือกับ IBM และเปิดเผยซอร์สโค้ดของ MS-DOS 4.00 ภายใต้สัญญาอนุญาต MIT ตามแนวคิดของนวัตกรรมแบบเปิด
- เมื่อ 10 ปีก่อน Microsoft เคยเปิดเผยซอร์สโค้ดของ MS-DOS 1.25 และ 2.0 ให้กับ Computer History Museum และเผยแพร่ต่อในฐานะเอกสารอ้างอิง
- โค้ดนี้เป็นระบบปฏิบัติการที่เขียนขึ้นทั้งหมดด้วย 8086 assembly เมื่อเกือบ 45 ปีก่อน จึงมีความสำคัญทางประวัติศาสตร์และน่าสนใจอย่างมาก
ประวัติที่ซับซ้อนและน่าสนใจของ DOS 4.0
- ประวัติของ DOS 4.0 ค่อนข้างซับซ้อนและน่าสนใจ เพราะแม้ Microsoft จะพัฒนาบางส่วนของโค้ดร่วมกับ IBM แต่ก็ยังสร้างสาขา DOS ที่ชื่อว่า Multitasking DOS ซึ่งไม่ได้ถูกเผยแพร่อย่างกว้างขวางด้วย
การค้นพบของนักวิจัยชาวอังกฤษ Connor "Starfrost" Hyde
- Connor "Starfrost" Hyde นักวิจัยชาวอังกฤษ ได้ติดต่อกับ Ray Ozzie อดีต CTO ของ Microsoft เมื่อไม่นานมานี้ เพื่อพูดคุยเกี่ยวกับซอฟต์แวร์บางส่วนในคอลเลกชันของเขา
- Ray พบไบนารีเบตาที่ยังไม่เคยเผยแพร่ของ DOS 4.0 จากในบรรดาแผ่นฟลอปปีดิสก์ ซึ่งเขาได้รับมาตั้งแต่สมัยทำงานที่ Lotus
- Starfrost ได้ติดต่อไปยัง Microsoft OSPO เพื่อหารือเรื่องการเปิดเผยซอร์สของ DOS 4 โดยเป็นส่วนหนึ่งของงานจัดทำเอกสารความสัมพันธ์ระหว่าง DOS 4, MT-DOS และสิ่งที่จะกลายเป็น OS/2 ในเวลาต่อมา
- ไบนารีเบตาใหม่จาก Ozzie นี้เป็นเวอร์ชันที่เก่ากว่าอย่างมากเมื่อเทียบกับไบนารี Multitasking DOS รุ่นหลัง ๆ ที่หาได้บนอินเทอร์เน็ต เป็นเวอร์ชันที่ไม่เคยเผยแพร่ และยังมีซอร์สของ
ibmbio.com รวมอยู่ด้วย
ความพยายามเพิ่มเติมของ Microsoft
- Scott Hanselman แห่ง Microsoft ได้รับความช่วยเหลือจาก 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 มีตำแหน่งสำคัญในประวัติศาสตร์พีซี จึงน่าจะเป็นข้อมูลที่น่าสนใจสำหรับผู้คนจำนวนมาก
- อย่างไรก็ตาม DOS 4.0 เป็นเวอร์ชันที่ยังไม่สมบูรณ์และไม่ได้ถูกใช้งานอย่างแพร่หลายจริง ๆ จึงน่าจะดีหากมีการเปิดเผยซอร์สของ DOS 3.x, 5.0 หรือ 6.x ซึ่งเป็นเวอร์ชันที่ถูกใช้งานจริงด้วย
- แม้จะเป็นซอร์สของเวอร์ชันที่ยังไม่เสร็จสมบูรณ์ แต่ก็มีความหมายในฐานะหน้าต่างให้เห็นวิธีพัฒนา OS และสไตล์การเขียนโค้ดในยุคนั้น ขณะที่การได้เห็นโค้ดที่ถูกใช้ในผลิตภัณฑ์จริงก็มีคุณค่าไปอีกแบบ
- งานกู้คืนข้อมูลจากแผ่นฟลอปปีดิสก์เก่าน่าจะไม่ใช่เรื่องง่าย แต่คงเป็นไปได้เพราะเครื่องมือที่เกี่ยวข้องพัฒนาขึ้นมากแล้ว หวังว่าในอนาคตจะมีความพยายามฟื้นฟูโบราณวัตถุจากอดีตด้วยโบราณคดีดิจิทัลเพิ่มขึ้นอีก
- หากมีการจัดเตรียมสภาพแวดล้อมที่สามารถบิลด์ได้มาพร้อมกับซอร์สด้วย ก็น่าจะเป็นโอกาสให้คนได้ลองบิลด์และแก้ไข MS-DOS ด้วยตัวเอง ซึ่งจะช่วยอย่างมากในการศึกษา legacy OS
1 ความคิดเห็น
ความคิดเห็นจาก Hacker News
มีคนรัน MS-DOS 4.0 บน IBM XT รุ่นดั้งเดิมกับ Monochrome Display Adapter ได้สำเร็จ สามารถสลับระหว่างเกมเล็ก ๆ, Turbo Pascal และ DOS prompt ได้ด้วยปุ่มเดียว ซึ่งเจ๋งมาก
ดูเหมือนว่าคำด่าที่นักพัฒนาใช้บ่อยเวลาเจอทางตันในซอร์สโค้ด MS-DOS คือ "brain damaged"
มีการแชร์วิดีโอสั้น ๆ ที่แสดงให้เห็นว่า MS-DOS 4.0 รันบน IBM XT ได้จริง และหลายคนชื่นชม 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) ได้อยู่หรือไม่