Русский Журнал / Net-культура /
www.russ.ru/netcult/20030418.html

Хронология одного "Полета"
Роман Горбенко

Дата публикации:  18 Апреля 2003

SkyOS, AtheOS, NewOS, Plan9, DingOS - название этих операционных систем вряд ли что-то скажет обычному пользователю. Но, несмотря на их малоизвестность, в этих ОС реализовано очень много интересных идей, не менее интересно выглядит и процесс их создания. Чтобы вы смогли в этом убедиться самостоятельно, предлагаем ознакомиться с попыткой создания первой украинской операционной системы "Полет". Разговаривать мы будем с Иваном Козаком, который вот уже 4 года работает над этим проектом.

Р.Г: Читателям, наверное, будет интересно услышать, с чего все начиналось, а также о наиболее интересных моментах в судьбе "Полета".

Однажды летом мы гуляли с моим приятелем Игорем, и он стал мне рассказывать о том, как можно реализовать многозадачность, я едва понимал, о чем идет речь. Но, как говорится, осадок остался, и года через полтора я взялся экспериментировать с многозадачностью и окошками. Вначале ничего не получалось, я несколько раз начинал сначала. Когда же наконец-то получилось, я продолжил работать над этим делом, и это и стало первым "Полетом". Я писал его около двух лет, после чего постепенно понял, что надо что-то менять. "Полет" стало трудно расширять, у него обнаружилась куча внутренних проблем. Я принял нелегкое решение - переписать его с нуля, учтя опыт предыдущей попытки. Около полугода, до зимы 2001/02 года я обдумывал его, планировал, занимался самообразованием по юзабилити. Как раз после Нового года, 2 января, ко мне пришло маленькое письмо от Димы Шапошникова - ведущего программы "Зона Ночи онлайн" на Новом канале, в котором он, собственно, и пригласил меня поучаствовать в ближайшей программе. Я, ясное дело, согласился, хотя ночь прямого эфира выпала как раз на дни сессии, между двумя зачетами. Это маленькое приключение подтолкнуло меня к активным действиям, и вскоре я написал первые строки нового "Полета" . 31 января он у меня впервые откомпилировался и запустился, 10 февраля я впервые выложил его на сайт. Ну и периодически выкладываю до сих пор.

Еще забавный случай был той же весной. 12 апреля на сайт "Полета" зашло больше 700 человек. Я долго гадал, что же произошло, и узнал это случайно через два месяца. Сайт BeSoft.org (русский сайт о BeOS) 12 апреля опубликовал новость: "Да что вы все Windows, BeOS, Linux... Вот оно будущее!!!", смайл и ссылку на polit-os.com.

Р.Г: Расскажите немного о себе.

Буду краток, краткость - сестра таланта. Мне 22 года, живу в Киеве, учусь в Университете им. Т.Г. Шевченко на факультете кибернетики. На Паскале пишу уже больше пяти лет, немного знаю Delphi, C, Ассемблер; рисую, занимаюсь web-дизайном, изредка делаю различные скины и темы (Winamp, Opera 6, Litestep, eFX); состою в киевском фан-клубе сериала "Вавилон-5" (babylon5.org.ua).

Р.Г: Кто еще помимо Вас участвует в работе над "Полетом" и насколько реально на данном этапе работы какому-нибудь заинтересовавшемся человеку присоединиться к Вашей команде?

Присоединиться - очень реально. Я прямо так и говорю на сайте - НУЖНЫ ЛЮДИ. В первую очередь нужны программисты (на Borland Pascal), во вторую очередь - художники и дизайнеры. Да и вообще, если кто-то скачает "Полет", поставит, напишет о своих пожеланиях, замечаниях, найденных багах, расскажет о нем приятелям - это уже будет помощью. Кстати, программистам и художникам будет еще реальнее присоединяться через два-три месяца - к этому времени планируется выпуск версии 1.0 и документации (пока ее почти нет).

Кроме меня, сейчас "Полетом" достаточно активно занимаются еще четверо. Sir Cyberhead был одним из тех, кто откликнулся на мою первую статью про "Полет" в "Моем компьютере" (это была осень 2000-го года). Он до сих пор участвует в этом деле, написал несколько программ для старого "Полета" и мой любимый скрин-сейвер "Polar" для нового. Александр "AZbest" Зайцев, из Одессы прошлым летом удивил меня тем, что через день после первого письма "мол, хочу присоединиться" прислал мне прокомментированный текст одной из "полетовских" программ, причем, почти правильно. С тех пор он написал еще некоторую документацию и парочку программ. Андрей "MasterDron" Трунин из Харькова прошлой осенью нарисовал скин для "Полета", и мне пришлось сделать поддержку скинов. Он написал еще пару полезных программ, в первую очередь - калькулятор. Сейчас Андрей работает над "полетовским" файл-менеджером. Наконец, Юра "YBX" Бенеш из Беларуси (кстати, разработчик ОС StormDOS, stormdos.nm.ru) сагитировал меня в перспективе переходить с Borland Pascal-я на Virtual Pascal. Он сделал на пробу порт "Полета" от 24 августа 2002 в Virtual Pascal, собирается портировать версию 1.0, когда она будет готова. Работает над мощной графической библиотечкой UniGraph, которая будет использована при портировании.

Р.Г: К сожалению, сейчас приходиться констатировать, что многие подобные "Полету" проекты оказались заброшенными. Уже давно остановлена работа над ОС "Proolix", нет новостей и от создателей DragonLinux, Plan9, DingOS, NewOS, список можно продолжать и продолжать. На Ваш взгляд, в чем причина?

Все довольно просто. Открытый софт в основном пишется ради удовольствия от самого процесса. Как говорил Линус: "just for fun". И если автору процесс перестает нравиться, - он оставляет проект. На это, в частности, влияет то, насколько успешно идет разработка, какие отзывы получает автор - и получает ли он их вообще.

Иногда препятствием становятся технические трудности. От этого, к сожалению, пострадал проект SEAL (sealsystem.sourceforge.net) - лучшая из систем того же класса, что и "Полет". Прошлой весной его разработчики пришли к выводу, что текущая версия расширению почти не поддается, и что единственный выход - переписать систему с нуля. С тех пор о проекте ничего не слышно. Я сам прошел через это и понимаю, как это психологически тяжело - отбросить все сделанное и начать с нуля. Хорошо, что у "Полета" это уже позади.

Р.Г: Довольно интересные идеи можно найти на сайте проекта Synergy (www.synergy.com.ua). Например, по заявлению авторов, их будущая операционная система SynergyOS, будут являться составной частью пиринговой сети, образованной из таких же самых ОС. Как Вы относитесь к такой концепции?

Это будет замечательно... Надеюсь, только, что это будет вообще. Даже "Полет", при всей его простоте, изначально имел довольно маленькие шансы на то, что он когда-нибудь будет готов, да и сейчас шансы его, думаю, 50 на 50. А замысел Synergy еще на порядок сложнее...

Р.Г: Понимаю, что отвечать на такие вопросы приходилось неоднократно, но все же: почему решено создавать "Полет", как говорится, "с нуля", а не взять за основу дистрибутив какого-нибудь Linux-a, или любую другую систему, распространяющуюся по лицензии GNU GPL?

Вначале я просто экспериментировал и особо не задумывался, что из этого получится. А потом, вдруг, у меня в руках оказалась вполне продвинутая система. И, когда появилась необходимость переделать ее, вполне естественным решением было делать по тому же принципу, максимально использовав имеющийся опыт, знания о том, как надо делать некоторые вещи, а как некоторые - не надо.

Дистрибутив Linux'а - во-первых, их и так много, а во-вторых... Основные цели "Полета" - удобный графический интерфейс плюс компактность и скорость. В мире Unix'ов эти две вещи сочетаются плохо - одна X-Window, насколько я знаю, ▒тянет' мегабайт на 10. А еще нужен оконный менеджер, тулкит... И со скоростью есть проблемы - в частности, именно из-за этого Курт Скауэн в своей AtheOS сделал собственную графическую систему, не совместимую с X.

Вообще, оболочка DOS - распространенная форма для подобных систем (SEAL, QubeOS, WinTix - именно оболочки DOS). Это, конечно, не так "круто", как быть самостоятельной ОС, но и имеет много плюсов. DOS - очень простая и маленькая ОС (порядка 100 КБ), она уже содержит поддержку файловой системы FAT и управление памятью (этого не надо делать самому). Отлаживать оболочку DOS на порядок проще. Да и пользователям так удобнее - не нужна никакая инсталляция, достаточно просто скачать оболочку и сразу запустить ее EXE-шник. Еще приятно, что есть FreeDOS (www.freedos.org) - открытая и бесплатная реализация DOS. "Полет" прекрасно работает под ней.

Р.Г: Кстати, интерес к открытому ПО постоянно растет, в том числе и на уровне государства. Уже разработана концепция по осуществлению перехода государственных учреждений на open-source. Есть какие-то мысли по этому поводу?

Мыслей нет, есть только надежды.

Р.Г: На Вашем сайте разделе "Ссылки" упоминаются девятнадцать различных ОС, причем, ко многим из них есть описание. Неужели Вам удалось поработать на каждой из этих систем?

Да, большинство я испытывал лично (кроме SkyOS, клонов BeOS, AtheOS). Это не так-то и сложно: почти половина упомянутых на этой страничке ОС ставятся на дискету, а еще половина - это оболочки DOS, о преимуществах которых я только - что рассказывал.

Р.Г: Интересно, каков Ваш рекорд, сколько одновременно ОС было установлено на Вашем компьютере?

Не поверите - всего две. В разные времена у меня стояли либо Win98+Linux, либо Win98+BeOS. Остальные либо ставятся на дискету, либо это были оболочки DOS, о преимуществах которых...

Тут вспоминается журналистка сайта OSnews (www.osnews.com) Eugenia Loli-Queru, которая в одной из статей писала (цитирую по памяти): "Инсталлятор LindowsOS по умолчанию предлагал ставить ее как единственную ОС. Меня это не устраивало - на моем винте уже стояло 9 разных операционок..."

Р.Г: Никогда не возникало мысли превзойти Ричарда Роббинса, установившего на своем компьютере 37 различных ОС?

Нет.

Р.Г: Стандартный последний вопрос, вернее их будет несколько: какие планы на будущее? Какое ПО появится в "Полете" в обозримом будущем? На Ваш взгляд, каким выглядит будущее альтернативных ОС?

На будущее планы такие. Где-то на начало этого лета планируется выход версии 1.0 Полета. К этому времени надо будет закончить ядро системы, сделать еще парочку нужных элементов управления, написать еще некоторые из самых необходимых программ - навигационную панель, хелп-вьювер, возможно, графический редактор и еще парочку утилиток. Ну и написать документацию - по использованию "Полета", программированию под него, созданию скинов, может быть, даже по его внутреннему устройству (для экстремалов). После этого в ядро достаточно долго не будет вноситься никаких изменений (чтобы далее не возникало проблем с совместимостью). Все силы пойдут на написание софта, поддержку различных технологий, форматов файлов. Будет нужна поддержка звуковых карт, модемов, принтеров, сетевых карт, векторных шрифтов (FreeType), графических форматов (JPG, GIF, PNG), музыки (MP3, MID, MOD), архивов, HTML-я, возможно даже видео... Будет нужен текстовый редактор с форматированием и разными шрифтами, среда программирования типа Delphi, возможно даже интернетовское хозяйство - броузер, почтовый клиент, чат, FTP-клиент... Я уже вроде говорил, что проекту НУЖНЫ ЛЮДИ? А насчет будущего альтернативных ОС вообще... Не знаю, совершенно не знаю. Только надеюсь, что хорошие парни все-таки победят плохих.