В апреле 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