Прежде всего, нужно пояснить, что теперь со всем этим делать. Как бы банально это ни звучало, для того, чтобы операционная система появилась, её нужно написать.
Работа предстоит колоссальная. Дело не ограничивается написанием кода — потребуется также принять огромное количество архитектурных решений, которые на данный момент просматриваются достаточно слабо (подробнее об этом будет сказано ниже). Возможно, некоторые из решений, описанных в текущей версии настоящего документа, также будут пересмотрены. Кроме того, нужно будет спроектировать интерфейсы и прототипы модулей, о которых шла речь, что само по себе является нетривиальной задачей: создание одного только способа абстрактного описания структуры документа, независимого от его представления (HTML, pdf, doc, djvu или один из тысяч других форматов), уже выглядит как работа на многие человекомесяцы.
Отдельную сложность добавляет тот факт, что из-за нетипичной архитектуры ОС «Сивелькирия» перенести на неё существующее ПО с других операционных систем не получится. Фактически, нужно будет заново написать драйверы, файловые системы, пользовательский интерфейс операционной системы, браузеры, программы просмотра и редактирования изображений, мессенджеры, почтовые клиенты и многое, многое другое. Если добавить сюда необходимость проектирования всех участвующих в работе интерфейсов, у кого-то могут опуститься руки.
Словно этого было мало, возникает также необходимость адаптации языков программирования под новые реалии: функциональность, связанная, например, с консольным и файловым вводом-выводом, с управлением потоками и процессами, представленная в стандартных библиотеках большинства из них, окажется недоступна в принципе. Те же классические технологии, которые хоть в каком-то виде представлены в «Сивелькирии» (поддержка сети, графический интерфейс пользователя, функции работы с графикой и так далее), работают принципиально иначе. В итоге получается, что языки должны отказаться от изначально заложенного в них способа взаимодействия с системой и вместо этого поддержать работу с объектными интерфейсами. Без этого о разработке ПО под «Сивелькирию» не может идти и речи.
Хорошая новость состоит в том, что всю эту работу нужно будет проделать лишь один раз. Объём работы по написанию кода всех нужных программ под «Сивелькирией» будет несравнимо меньшим, чем под классической операционной системой, из-за иного подхода к проблеме повторного использования кода.
Очевидно, работа начнётся с написания ядра и средств разработки и постепенного наполнения системы модулями до минимальной рабочей конфигурации. Эта конфигурация будет запускаться как в виде основной операционной системы на «голом» железе (компьютерах, носимых устройствах), так и в виде агента под несколькими популярными ОС.
Параллельно с этим будут проработаны юридические тонкости. В частности, нужно будет очень грамотно прописать условия и зоны ответственности, чтобы такой формат, с одной стороны, заработал и начал приносить пользу, а с другой — остался привлекательным для тех разработчиков ПО, которые решат присоединиться.
После того, как и базовая версия, и юридическая подготовка будут закончены, проект будет запущен в том виде, в котором он должен существовать: с возможностью запуска «Сивелькирии» в режимах операционной системы и агента, установки ПО из репозитория и добавления его в репозиторий, совместной работы команды поддержки ОС и разработчиков ПО над интерфейсами данных и прототипами модулей и так далее. С этого момента проект будет запущен в большое плавание, и начнётся экспериментальная проверка всего, о чём говорилось выше по тексту. Действительно ли пользователи и разработчики оценят возможности такого подхода? Действительно ли инфраструктура будет шириться и развиваться?
Здесь возможны два варианта. Если всё будет хорошо, то ОС «Сивелькирия» займёт своё достойное место в мире IT и станет популярным способом организации взаимодействия программных продуктов между собой. Разумеется, это произойдёт не сразу, а постепенно: первое ПО привлечёт первых пользователей, которые своими потребностями привлекут новых разработчиков, новое ПО снова привлечёт пользователей, и так далее. В итоге после набора некой критической массы пользователей к работе подключатся ключевые игроки, чтобы не терять свою долю нового рынка. Ну, а дальше — вхождение в массы, выпуск устройств с предустановленной «Сивелькирией» и многое, многое другое.
С другой стороны, может статься, что в силу некоторых причин проект так и не наберёт популярность. Что ж, в этом случае мы, по крайней мере, сможем успокоить себя тем, что пытались сделать хорошее дело для всех — как ни крути, это куда интереснее, чем штамповать шаблонные решения ради того, чтобы одна компания получила рыночное преимущество перед другой.
Здесь есть одна тонкость, которая существенно увеличивает шансы проекта на выживание. Одна из сильных сторон «Сивелькирии» — возможность обмена данными между разными её компонентами — становится также и сильной стороной написанных под неё программ. Таким образом, если после создания ядра ОС на её базе будет реализована некоторую востребованную бизнес-логику, у таких программ будут все шансы выйти на рынок, имея в рукаве козырь, которого нет у конкурентов. Формат распространения ПО через агент вряд ли кого-то напугает — скорее, на него просто не обратят внимания, или посчитают очередным магазином.
Если изначально нацеливаться на бизнес-пользователей, то те с их тягой к оптимизации затрат должны достаточно быстро сообразить, что вложение оказалось выгодным, и заинтересоваться в переносе всё большей части операций на борт «Сивелькирии». Разумеется, самому проекту это пойдёт лишь на пользу. Речь, впрочем, не обязательно должна идти о бизнесе; если предлагать что-то, что интересует рядового пользователя (например, игры, которым нет аналогов), то, опять-таки, это позволит взлелеять проект ко всеобщей пользе (пусть и под видом «Нового Стима»).
Будет ли ОС «Сивелькирия» коммерческой или некоммерческой? На данный момент ответа на этот вопрос нет. Разумеется, было бы хорошо привлечь инвестиции и разрабатывать новый проект в своё удовольствие. С другой стороны, как показывает практика, решения с открытым исходным кодом способны вполне конкурировать с закрытыми, и форма распространения отнюдь не является фактором, определяющим успех предприятия. На данный момент мы открыты для любых предложений сотрудничества — как в разрезе коммерческой разработки, так и в аспекте создания ОС с открытым исходным кодом. Если Вы хотите участвовать в проекте, мы будем рады; наши контакты приводятся в конце статьи.