- Но что вас вдруг натолкнуло на мысль делать собственное ядро ОС? Какие-то нужды по другим проектам? Неудовлетворённость существующими системами?
- О, совсем не вдруг! Эта идея зрела давно. Она — результат многолетнего опыта работы в софтверном бизнесе и довольно обширных представлений о том, что происходит в самых разных областях разработки софта, и представлений о том, как устроены существующие операционные системы. Дело в том, что в советское время, когда я только начинал всем этим заниматься, я был очень активным юниксоидом. В восьмидесятые годы я пропагандировал Unix — тогда это была сверхмодерновая, никому не известная операционная система, которая только начинала свой путь. И в мире-то начинала, а в СССР это была совсем фантастика. Я довольно хорошо её знал, был системным программистом, занимался разработкой драйверов и существенно касался ядра операционной системы.
Потом, когда появился MS-DOS, он очень сильно уступал «Юниксу». Зачастую приходилось писать программы, функциональность которых находилась в рамках компонента операционной системы. То есть, скажем, мы под свои задачи писали такие вещи как многозадачность — для MS-DOS. Причём такие вещи делал каждый десятый программист, работающий с MS-DOS. Это сложно, но вполне достижимо.
Когда мы это делали, мы понимали, какие задачи мы при этом решали и откуда такие потребности возникают. Однажды у нас была очень смешная практическая работа. Когда появилась одна из первых 386-х машин, они были бешено дорогие и никто не понимал, зачем они вообще нужны. Потому что DOS на них работал как на обычных 286-х. Разницы не было, и никто не понимал, зачем там ещё какие-то восемь мегабайтов.
У меня был начальник, который ко мне пришёл и сказал: «Слушай, ты понимаешь, что с ней можно сделать?». Я говорю, что в принципе к ней можно подключить несколько терминалов. Он говорит «Да? Здорово. А как?», я отвечаю: «можно плату такую купить, вставить процессор в неё, подключить к ней терминалы СМ ЭВМ — они ещё были на рынке, — Но операционка этого не поддерживает, ничего с этим сделать нельзя». «А можешь что-нибудь сделать, чтобы она поддерживала этот терминал?». «Могу — говорю, — могу сделать систему, которая позволяет текст на них на всех редактировать». «Здорово! Под это есть задача, давай». И мы сделали продукт, который позволял подключить восемь терминалов к 386 машине, под DOS написали многозадачную среду, в которую встроили приложения — текстовый редактор и прочую мелочёвку. Из этого получилась некоторая инфраструктура для подготовки документации. Были клиенты, которые ей пользовались. Это был некоторый прямой опыт создания — если не операционной системы, то близкой вещи, и её компоненты там присуствовали.
Дальше разработка самых разных приложений и задач в основном компонентного характера наводила на мысль о том, как бы это делать правильно, и в девяностых годах начали бродить в голове и осмысливаться первые идеи, которые легли в основу «Фантома». Я много об этих идеях говорил, общаясь с разными людьми, с сотрудниками разных крупных софтверных компаний — это интересная тема, которая обсуждалась. И где-то лет пять назад один из моих знакомых мне сказал: «Давай, Дим, ты что-нибудь уже сделаешь, потому что, вроде, интересная тема». А я очень боялся, потому что тема-то на самом деле неподъёмная и, честно сказать, не мог подумать пять лет назад, что ОС у меня будет запускаться и работать.
Я стал пробовать, делать какие-то наброски, пытаться сделать то один, то другой кусочек — посмотреть работает или не работает та или иная вещь. Компилятор вот написал тестовый, систему виртуальной памяти. Оно начало оживать постепенно и двигаться. Финальный шаг — когда я сказал себе, что эти куски мы действительно будем собирать в ядро операционной системы.
Отчасти процесс пошёл потому, что случился информационный прорыв. Мы, на самом деле, его не планировали, но уже пытались делать какое-то ядро. Полтора года назад случилась эта история с публикацией в западном журнале. Случилось абсолютно спонтанно, не планировалось вообще. У одного из наших сотрудников был друг за рубежом, он ему рассказал, что, знаешь, у нас тут ребята операционку потихонечку клепают. "Да, правда? Расскажите. Написал письмо, мы кинули ему внутренние рабочие материалы, идеи, и через неделю вылетела статья, от которой мы сами были в лёгком шоке. Эта статья была перепечатана множество раз — на сотой перепечатке мы просто перестали считать. До этого нас, конечно, воодушевляло — было интересно: японский, китайский языки, европейские языки, прибалтийские языки, дискуссия где-то в Эстонии о том, что русские подкопаются под Эстонию через операционную систему, которую они разрабатывают! Феерическая, конечно, реакция.