У квітні Microsoft опублікувала на GitHub код своєї операційної системи MS-DOS 4 1986 року. Це вже не перший реліз коду DOS, проте саме цей, схоже, ламає деякі критичні файли.
Як зазначив відомий розробник та ведучий блогу OS/2 Museum Міхал Некасек у статті «Як не відкрити історичний вихідний код», нездатність git зберегти часові позначки та конвертація в UTF-8 майже все ламає. Некасек похвалив реліз коду, але розкритикував помилки, які виникли в процесі: «Будь ласка, не спотворюйте історичний вихідний код, запихаючи його в (дурний) git».
З двох проблем вихідні файли, які конвертуються в UTF-8, є найбільшою. Старі системи не можуть аналізувати UTF-8 і, ймовірно, також не можуть бути оновлені для цього. Обмеження довжини рядка в байтах MASM MS-DOS 4 становило 512 байт, і перетворення в UTF-8 змушують рядки перевищувати цей ліміт, роблячи їх нечитабельними.
Серйозність помилок файлів різна, але в публікації OS/2 Museum зазначається, що основні системні файли ідеально відповідають оригінальним версії 4.00, яке виправило кілька помилок. Він не був безпосередньо доступним, але його відправляли виробникам комп’ютерів.
Оригінальний допис рекомендував просто випустити необроблені файли як архів без конвертації UTF-8 чи чогось подібного. Однак історія негайно продовжується в коментарях, де співрозробник випуску MS-DOS 4 Коннор Хайд, він же Starfrost, визнає проблему та розкриває юридичні причини не включати позначки часу.
Дискусія між Міхалом та Starfrost триває в коментарях, потім вони перенесли її в електронні листи. Попри критичний тон Міхала, зазначається, що в ідіотській корпоративній політиці «очевидно» не винен такий інді-розробник, як Starfrost.
Ймовірно, ці проблеми розв’яжуть найближчим часом, щоб MS-DOS 4 міг працювати як раніше. Втім, MS-DOS 4 не дуже любили через використання цілих 92 Кб оперативної пам’яті — величезна кількість. Цікаво, що свого часу це призвело до того, що конкурент DR-DOS повністю пропустив версії 4.0-4.99 на користь переходу від версії 3.41 до версії 5.0.
Джерело: Tom’s Hardware