Опубликовано 06 июля 2010 года
На прошлой неделе на мероприятии Microsoft BizSpark потенциальным инвесторам был представлен ряд технологических стартапов, в их числе — «Биржа развлечений YouDo». Что это за проект и на кого он ориентирован? На вопросы «Компьютерры» отвечает Людмила Булавкина, директор по маркетингу YouDo.
- Из описания проекта, представленного в презентации, не вполне понятно, что именно это такое. Какого рода контент является основой проекта?
- Основой проекта является пользовательский контент. Ежемесячно у нас генерируется порядка 500 видеороликов, несколько тысяч пользовательских фотографий и десятки тысяч сообщений. То есть в ответ на задание, которое может составить любой автор, пользователи размещают решение. Решением является видеоролик, фото, либо текстовое сообщение.
- Грубо говоря, кто-то хочет, чтобы ему сделали фотографию, видеоролик особой направленности или написали, например, пресс-релиз?
- Да, и такого рода задания есть, и более веселого характера. Вообще, изначально проект развлекательный. Мы стремимся, чтобы у нас было много заданий, смотреть результаты которых интересно окружающим, то есть чтобы создавался вирусный контент. Поэтому у нас есть задания, связанные с хождением на руках, кувырками, отжиманиями, переносом каких-то тяжестей и прочими чудачествами — и таких много. Мы это объединяем в категорию «А вам слабо?» Пользователи любят придумывать задания такого плана. Но, тем не менее, появились в проекте и люди, которые сами начали придумывать более дельные задания. Это может быть и написание слогана, прорисовка баннера, какой-то заставки. Для нас это путь получения дохода. Задания коммерческие, мы с них получаем комиссию.
- И на эту комиссию и живёте? Или есть что-то ещё?
- У нас два источника дохода: Да, мы берем 10% комиссии с призового фонда, если задание содержит в себе бизнес-полезность и упоминание компании-заказчика, либо у нас есть стандартно-нестандартные возможности для брендов, рекламодателей в виде спонсорства, продакт-плейсмента внутри конкурса. Ну, самый такой последний пример — это акция для «Билайна» В задании было придумать листовку на тему безопасного домашнего интернета. Соответственно, пользователи генерировали листовки, рисовали, креативили, смеялись и активно обсуждали тему. «Билайн» как раз и выступал нашим клиентом и заказчиком этого конкурса.
- А какова примерно средняя расценка на одно задание?
- Если задание придумал сам пользователь, а не компания, то призовой фонд от 100 до 500 рублей. Вообще минимальный призовой фонд у нас 100 рублей.
- И кто даёт эти задания?
- Обычный пользователь. У нас есть бесплатные задания (просто конкурсы), на интерес. Если задание инициировано некой компанией, спонсором, партнёром, то здесь самый распространённый призовой фонд — 1500 р., но есть и на 15000, и на 30000 рублей призы. Сейчас у нас появились задания, когда призом является некий полезный объект. Ну, не знаю, с тем же «Билайном» это был антивирус Касперского, его стоимость 1000 рублей, но мы дарили лицензии, 10 лицензий разыгрывали.
- Как Вы считаете, а куда вообще будет развиваться этот проект?
- Не просто считаю, а знаю, куда именно он будет развиваться. На текущий момент у нас 700000 зарегистрированных пользователей, ближайшая цель по Рунету к осени — это миллион регистраций, и в течении года — 3 миллиона регистраций. То есть мы будем стабильно в верхушке нишевых социальных сетей, хотим стать, наверное, самой крупной нишевой социальной сетью, не конкурируя с «Вконтакте», «Одноклассниками» и «Моим Миром». Если говорить о бизнес-стратегии — это выход в зону com. То есть запуск youdo.com — и в этом нам помогут инвесторы, которых мы рассчитываем привлечь. С точки зрения разработки, выход в зону com занимает порядка 2-х месяцев. Мы рассчитываем это осуществить в декабре 2010 года.
- Вы сказали 700000, миллион, три миллиона регистраций. Но ведь регистрации — это одно, а активные пользователи — совсем другое. Вот сколько, например, сейчас активных из этих 700 тысяч?
- Около 80 тысяч человек в сутки.
- А в общем? То есть там есть такие, которые «поматросили и бросили»?
- У нас не очень высокий уровень отказов. Ну, наверное, средний из средних по интернету. Из общей базы регистраций, я думаю процентов 70 с нами постоянно. И они посещают ресурс раз в неделю. Вот такая динамика. У нас очень мощный приток новых пользователей, ежедневно приобретаем порядка 2000 новых регистраций. И задача как раз сделать проект таким, чтобы они оставались. Вот я как раз говорила, что конверсия в лояльного пользователя 60-70%.
- Каким образом идет популяризация проекта?
- Наша целевая аудитория 14-25, и основной канал распространения информации это в общем-то блоггинг, это партизанский маркетинг. Есть и официальный пиар, которым я тоже занимаюсь — мы участвуем в конференциях, выступаем на РИФе и так далее. Но это скорее работа на рекламодателей и на репутацию. Что касается регистрации новых пользователей — они к нам приходят сами.
- А вот сходство в названии и ассоциации с другими двумя активно посещаемыми ресурсами, не буду их называть, как вы считаете, не отпугнет потенциальных инвесторов?
- Уже не отпугнуло. По поводу нашего названия есть комичная иллюстрация. Нам очень сложно рекламироваться на радио. Мы думали о том, чтобы запускать рекламную компанию. Вариантов написания услышанного названия для людей, плохо знающий английский, — а у нас много региональных пользователей, их 55%, я исключаю Москву и Питер, — восемь штук. А в остальном, какое-то созвучие... Нет, оно никак нам не навредит.
- На каких именно инвесторов Вы рассчитываете? Кто это будет по вашему мнению? Кто это должен быть?
- В равной степени — финансовые инвесторы, может быть, стратеги. Как директору по маркетингу, мне было бы наверное комфортнее со стратегом, который действительно поможет с выходом в зону .com. Позиция владельцев бизнеса такова, что у нас в одинаковом приоритете финансовый инвестор или стратегический.
- Менторов будете брать?
- Насчет менторов я узнала сегодня впервые. Идея, наверное, себя покажет. Поскольку я знаю этих экспертов лично, думаю, что мы ещё у них поподробнее всё узнаем, а потом примем решение.
Опубликовано 08 июля 2010 года
Mixxmuse — возможно, один из самых интересных проектов, представленных на Microsoft BizSpark. По сути, это игра для iPhone и iPad, позволяющая «на лету» создавать ремиксы различных музыкальных произведений.
http://www.youtube.com/watch?v=TrxxLBUOyWc
Представлявшие проект Макс Зацепин и Глеб Никитин согласились поподробнее рассказать «Компьютерре» о Mixxmuse.
- Интерфейс выглядит знакомо. Очень сильно напоминает экспериментальный Reactable...
- Есть научные процессы в этом направлении. Но сходство с нашими проектами ограничивается лишь тем, что мы работаем со звуком. Вот, в принципе, и всё. Наша задача сейчас — сделать максимально удобный интерфейс для тач-платформ для того, чтобы именно микшировать готовую музыку.
- То есть вы продаете целые треки? Не сэмплы?
- Мы продаем треки, разрезанные на сэмплы. Вы покупаете трек и получаете его разбитым на составные части: вокал, ударные, гитара, басы, эффекты, и прочие инструменты. При правильной сборке, совокупность этих музыкальных сэмплов дает готовый оригинальный трек. В то же время пользователь может пересобрать трек так, как сам пожелает. В этом и состоит наша идея. Вы получаете музыку, и можете делать с ней всё, что хотите.
- Основная ориентация — на поп-музыку, да?
- Ориентация связана с предпочтениями аудитории. Людей нельзя заставлять слушать одну музыку, если они предпочитают другую. На презентации мы показали лишь один из кусочков нашей программы. Помимо простого микширования, программа предлагает пользователям ещё несколько интересных опций. Мы хотим продавать музыку в том формате, в котором пользователю это будет интересно. То есть сейчас мы экспериментируем и ищем новые пути.
Есть также формат, более похожий на Guitar Hero. Есть ещё разные форматы, в которые можно поиграть, когда слышишь любимую мелодию, ведь заниматься сведением музыки в ручном режиме непросто — это дано далеко не всем. На те жанры, которые будут наиболее интересны пользователю, мы будем делать основную ставку. Программа будет подсказывать им, когда необходимо вытащить сэмпл. Таким образом, у пользователя получается музыка, созданная своими руками, но с подсказками. Это очень забавно и невероятно интересно. Как говорят американцы, это «fun».
- А кому принадлежат права на готовый перемикшированный трек?
- С юридической точки зрения, то что у нас сейчас есть, произведено эксклюзивно известным российским диджеем-музыкантом, которого зовут Артем Харченко. Пользователь сделал микс, кому принадлежат права на него? Микс принадлежит пользователю. Но исходные сэмплы принадлежат тому, кто их сделал.
Есть похожая ситуация. Есть разные компании, например, Primeloops, которые продают сэмплы с лицензией на то, чтобы их можно было использовать в коммерческих проектах. Здесь будут в основном лицензии на поп-треки, где будет указано, что это есть лицензия на некоммерческий ремикс, то есть для публичных выступлений, для показа друзьям, но не для того, чтобы записать из этих сэмплов что-то готовое и выложить на коммерческой основе. Для этого у нас отдельная категория в магазине будет.
- Случались достаточно серьёзные судебные разбирательства по поводу того, что один музыкант взял коротенький, но узнаваемый сэмпл из композиции другого, записанной ещё в шестидесятые годы, поместил в свою музыку, после чего юристы вытрясли из него всю душу...
- В нашем магазине нелегальной музыки не будет вообще. Все сэмплы будут утверждены правообладателями, надлежащим образом будем указывать, что можно, а что нельзя, где можно делать коммерческие ремиксы, и где нельзя. А что пользователи найдут какой-то способ вырезать из своей любимой песни фрагмент и потом его вставить куда-то... Да, способы всегда найдутся.
- Не предполагается сделать какие-нибудь возможности специально для музыкантов-любителей, желающих перекомпоновать свой трек?
- Разумеется, в нашем портфеле будет обязательно и платная версия, которая будет содержать в себе некоторые особенные функции, но там будет как раз по пользовательскому соглашению ограничение на коммерческое использование. То есть фактически там будет указано, что если у нас покупают платную версию, то нужно потом отдельно подписать соглашение, согласно которому мы уже не несем ответственность за то, что пользователи играют на этом приборе.
То есть это получается как обычный диджеевский пульт. Ясно, что Дэвид Гетта никогда не возьмет сэмплы Эми Вайнхаус, чтобы сделать ремикс на этом приложении, а потом сыграть на «тусовке», он не позволит себе такого. В то же время обычные пользователи соберут группу из десяти друзей на домашней или школьной дискотеке и смогут сыграть им. Вряд ли такое событие сильно ударит по карману или по имиджу авторов музыкального контента.
Что действительно интересно отметить, так это заинтересованность диджеев в подобной игре. И они говорили, что играть на iPad им вполне удобно и интересно, тем более, что у них много гастролей. Взял, закинул с собой и полетел. Знакомый интерфейс, всё уже подогнано — и так далее. Но как у любых профессионалов, у них огромное количество запросов по разным профессиональным «фишкам», которые они хотят видеть. Поэтому, скажем так, до момента, когда mixxmuse превратится в инструмент, полностью пригодный для профессиональной игры перед аудиторией, пройдёт ещё несколько месяцев.
- Значит, у вас такие планы есть?
- Мы будем смотреть, сколько у нас таких запросов. На данный момент идут массовые запросы от пользователей на различные элементы управления для этих сэмплов. Раз пользователи хотят, мы это сделаем. Ну а дальше посмотрим, куда развиваться.
- Какой контент от российских правообладателей у вас будет? И есть ли он уже?
- На данный момент у нас весь контент — от российских производителей. Кроме Вивальди, естественно. У нас есть свеженькая группа, которая хоть и поет по-английски, тоже является российской.
- На каких инвесторов вы рассчитываете? Кто это должен быть?
- Я бы не сказал, что мы прямо так вот рассчитываем на инвесторов. Мы просто стараемся делать хорошие игры, и всячески их развивать. Если вдруг появится группа лиц, которые захотят в нашем проекте поучаствовать, — ну, замечательно, значит мы сможем развиваться быстрей.
Опубликовано 08 июля 2010 года
3D Bank - ещё один проект из числа представленных на Microsoft BizSpark. Из названия и имеющейся информации следует, что это своего рода банк трёхмерных изображений. О сути проекта рассказывает Сергей Матиясевич — его технический директор.
- Для чего всё-таки это всё нужно?
- Для того, чтобы расширить горизонты и сделать следующий шаг в развитии средств представления визуальной информации в сети. Сначала веб развивался как гипертекст, потом добавились изображения, потоковое видео, теперь все эти элементы стали более полноценно взаимодействовать с пользователем и стали привычными. Мы реализуем очередную итерацию. Новизна, как это часто бывает, не столько технологическая, сколько концептуальная и идеологическая. Мы начинаем работать с визуальной информацией как с чем-то, что ближе к нашему реальному предметному окружению.
- История помнит VRML и другие языки разметки для отображения трёхмерных объектов в Сети. Трёхмерный интерфейс — это тоже не слишком новое изобретение. Что нового именно у вас, помимо стереоскопии, о которой вы говорили на презентации?
- Прежде всего, бизнес-концепция. Действительно, трёхмерная графика в Сети появилась достаточно давно, но технологическая основа для тотального её распространения возникает только сейчас. Другими словами, до настоящего момента связь между виртуальными объектами и реальными деньгами была призрачной. Трёхмерные интерфейсы отлично развиты в профессиональных приложениях, но массовый пользователь знает о них только по игровым движкам, и тут есть большой простор для творческого подхода и рождения новых стандартов.
Каждому профессионалу, который занят в компьютерной графике, понятно, что в создание красивой картинки необходимо вложить много сил, времени и специфических знаний. Соответственно, наш актив — это наш опыт и глубокое понимание того, как формируется объёмное изображение на экране. Мы используем передовые технологии и наиболее эффективные инструменты: GPU-рендеринг, современные трёхмерные пакеты, серверное ПО, которые позволяют делать то, что ещё пару лет назад было почти невозможно.
- И всё-таки, что именно вы показываете? Интерактивную анимацию трёхмерных объектов?
- У нас есть несколько модулей для отображения разных типов контента. В частности, для трёхмерных объектов — это может быть покадровая секвенция из предварительно отрендеренных изображений с тенями, бликами и нюансами поверхностей, либо низко-полигональная 3Д-модель с базовыми шейдерами, но с гораздо большей степенью свободы при манипуляциях. Анимация, программные фильтры и эффекты — возможны, все зависит только от потребностей в каждом конкретном случае. Существуют и ограничения — например, большое количество полигонов модели и сложные алгоритмы текстурирования очень требовательны к аппаратным ресурсам конечного пользователя, поэтому мы поддерживаем альтернативные варианты.
- Это флэш с его максимумом в несколько тысяч полигонов?
- Да. Сейчас кроме флэша нет иной платформы, которая позволяла бы делать нечто подобное и была бы широко распространена. Вводить какие-то свои стандарты и вынуждать пользователя устанавливать дополнительные плагины — значит создавать существенное препятствие для популяризации нашего сервиса.
- Вы упомянули, о том, что будет использоваться пользовательский контент. А какие у него будут минимальные критерии качества?
- Основной критерий — интерес к этому контенту среди пользователей. Любой человек, который создал какой то контент, подходящий под наши требования, и считает, что он может быть популярен, может зарабатывать на этом в нашей системе. На первоначальном этапе, все модели или последовательности фотографий проходят ж жёсткий отбор, так как мы хотим создать нужный имидж у потенциальных клиентов, обозначить уровень точности и аккуратности моделей, качества фотографий. Впоследствии, когда появится выбор, цензура станет мягче.
- Есть ресурс TurboSquid.com, который предназначен для продажи 3D-моделей и целых сцен, созданных частными моделлерами.
- TurboSquid продает полуфабрикаты для специалистов, которые используют их в дальнейшей работе. У нас всё несколько иначе: мы продаём готовые решения для конечных пользователей. Например, если интернет-магазин продает мобильные телефоны — на страницах его каталога будет размещена вращающаяся модель мобильного телефона из нашей базы, без дополнительного привлечения специалистов по трёхмерной графике, фотографии или программированию.
- Ну, в принципе, для того, чтобы такую модель сделать, нужно знать спецификации, а те ещё надо получить от производителя. Вряд ли они будут предоставлять их кому попало...
- Грамотному трёхмерщику достаточно фотоаппарата и образца. Многие материалы мы всё же получаем от заинтересованных производителей, хотя трудности с доступом к исходникам пока имеются. Кроме того, у нас есть фототехнология, позволяющая быстро и без существенных затрат реализовать первоначальное наполнение банка и решить многие другие проблемы.
- С кем вы будете работать в первую очередь, с производителями или продавцами?
- С производителями и продавцами в равной степени. Производители заинтересованы в том, чтобы их продукт выглядел презентабельно на всём множестве торговых площадок в Сети, а продавцы видят в нашей системе своё конкурентное преимущество и средство повышения конверсии своих сайтов. В идеале, затраты на создание контента в равной степени должны распределяться между всеми сторонами, что делает стоимость использования системы для каждого в отдельности довольно низкой и доступной для очень широкого круга сетевых коммерсантов. Мы к этому стремимся.
- На каких инвесторов вы рассчитываете?
- У нас есть бизнес-ангел, который наши минимальные финансовые потребности удовлетворяет, но мы, конечно, очень заинтересованы в инвестициях, потому что в наших головах много интересных идей, которые ждут возможности воплотиться. Кроме того, объём финансирования напрямую влияет на скорость разработок, а в нашем деле главное — это успеть. Инвесторы могут быть любыми, мы готовы обсуждать различные варианты.
- А если вкратце, что за идеи?
- Мы хотим создать крупный медиапортал для разных типов интерактивного мультимедийного контента, доступ к части которого будет коммерческим. Это можно сравнить с чем-то вроде YouTube, но вместо привычного видео там можно будет найти трёхмерные модели, панорамные фотографии, стереоизображения и многое другое, что мы пока держим в секрете. Все это можно будет легко встроить на страницы любого сайта, блога или в каталог интернет-магазина.
Опубликовано 09 июля 2010 года
Попугаи ара живут около ста лет, некоторые черепахи могут дотянуть до векового возраста, а самому старому дереву, которое называют «Мафусаил» по некоторым данным сейчас около 4800 лет. Но рекордсменами долголетия являются самые маленькие жители планеты — микробы. Они способны прожить несколько миллионов лет. Человеку в этом смысле повезло гораздо меньше, и он всячески старается исправить положение. Биологи, медики, физики пытаются внести свой посильный вклад в решение этой сложной задачи. Оказывается, ответы на вопросы о продлении жизни можно искать в ледниках вечной мерзлоты. Именно там «спят» бактерии-долгожители.
В Институте химической биологии и фундаментальной медицины СО РАН исследуется бактерия Bacillus F (от future- «будущее»), которая была выделена из вечной мерзлоты Мамонтовой горы в Якутии. Её возраст датируется несколькими миллионами лет. В ходе экспериментов над животными уже доказано, что этот микроорганизм может положительно влиять на продолжительность жизни. «Мы увидели прямое влияние на рост уровня интерферона-гамма в 2-3 раза относительно контрольной группы и снижение уровня фактора некроза опухолей, что позитивно сказывается на продолжительности жизни», — говорит старший научный сотрудник института, кандидат биологических наук Надежда Миронова. Более подробно рассказать о том, как человек может перенимать опыт долгожительства у бактерий, согласился кандидат биологических наук, заведующий лабораторией микробиологии Института химической биологии и фундаментальной медицины СО РАН Владимир Репин.
- Владимир Евгеньевич, для каких целей ведется поиск древних бактерий? Источником какой информации они могут стать?
- Эти бактерии представляют собой уникальную форму жизни, если отбросить божественную теорию происхождения, они стали первыми живыми существами на нашей Земле. Есть все доказательства, что первыми жителями планеты были бактерии. А как именно это произошло, никто не знает. Крупные учёные ломают голову. Предполагается, что сначала было тепло, и термофильные микроорганизмы появились на планете первыми. Затем они каким-то образом преобразовали планету, потом она остывала, проходя ступени эволюции и катаклизмы, и происходило то, что мы имеем сейчас. Микробы удивительны тем, что они бессмертны. Что мы подразумеваем под бессмертностью? То, что бактериальные клетки делятся, в основном, удвоением. Но у них нет матери и нет дочки. Они совершенно равноценны. Была одна клетка, условия изменились — она поделилась, и получились две равноценные клетки. Те бактерии, которые мы сейчас находим, накопили геномы со следами прошлого.
- А какие именно следы прошлого можно найти?
- Все, что написано в ДНК. Естественно, в ней могли происходить и мутационные процессы. Ещё необычно то, что бактерии могут достаточно долго находиться в состоянии анабиоза. Условия вечной мерзлоты, которая по разным данным занимает от 60 до 70% нашей территории — идеальны для сохранности клеток. Мы предполагаем, что в ледниках бактерии не делятся, и находятся в анабиозе. В результате они могут остановить свои часы на долгое время. Если предположить, что они не метаболизируют, то возраст у них становится значительно меньше. Когда мы говорим «древняя бактерия», мы берем понятие в кавычки, потому что они всё равно живут, хотя и в «спящем» состоянии.
Мы возвращаем их обратно и хотим понять, как долго они могут находиться в этом состоянии без видимых изменений, и как их свойства можно использовать с пользой для человека? Ведь самые внушительные рекорды долголетия поставлены как раз микробами. Наши теоретические выкладки показывают, что бактерии могут жить в идеальных состояниях (учитывая и мутационные, и температурные сдвижки) максимум миллион лет, в течение которого их ДНК должны быть разрушены. Но в разных местах появляются удивительные сообщения о том, что учёные обнаруживают бактерии в янтаре, возраст которого 25-60 миллионов лет! Но долгожители-рекордсмены находятся в солевых кристаллах, им может быть даже около 250 миллионов лет.
Вроде бы, они не должны жить, но почему-то живут. Почему так происходит, мы не знаем, и пытаемся понять. Наши исследования проходят не только внутри лабораторий института, возглавляемого академиком Валентином Власовым, но и совместно с представителями других научных учреждений, вместе с которыми мы пытаемся ответить на вопрос, почему бактерии способны так долго проживать без видимого деления? Почему мы говорим «без деления»? Потому что когда мы смотрим на вкрапления во льду Мамонтовой горы и других мест — видим, что эти клетки не делятся, они единичные. Почему сохранились именно эти бактерии (эти виды бактерий), мы тоже не знаем. Температуры в вечной мерзлоте не слишком низкие: -2, — 8 ˚С. Это позволяет клеткам находиться в не замороженном состоянии, а поделиться они не могут хотя бы потому, что им не хватает для этого пространства.
-А почему они в ледниках сохранились, а в нашей среде в свое время погибли?
- А это неизвестно. Когда начали выделять и изолировать микроорганизмы из янтаря, из солей, оказалось, что они не сильно отличаются от современных. Это уже связано с эволюцией самих бактерий, потому что бактерии, имея состояние анабиоза, не обязательно вымирают. Изменились условия, и какая-то их часть осталась, и они находятся в этих нишах, не размножаясь. А если условия изменятся ещё раз, например, их зальёт водой, они станут снова размножаться. Интересна и необычна эволюция бактерий. Геном у них очень компактный. Предположим, у бактерии есть тысяча генов, казалось бы, ей ещё бы набрать, чтобы стать более приспособленной. Но есть два процесса. С одной стороны, они берут чужие гены, путем обмена ДНК, но одновременно происходит и процесс изымания генов.
- Владимир Евгеньевич, Вы говорите, что древние и современные бактерии очень похожи, зачем же тогда искать первые?
- Те уже выжили, и мы не знаем, благодаря каким свойствам. То ли у них репарация сильно развита, то ли избыточный геном... Последовательность хромосомной ДНК Bacillus F секвенирована несколько дней назад, насколько сильно она отличается (или не отличается) от современных сородичей, предстоит расшифровать. Удобный метод изучения — 16 S РНК, но он давно уже не выдерживает критики. Он заключается в идентификации таксонов по последовательности 16 S РНК. Это такой участок генома, консервативный, он есть практически у всех, оказалось, что по этим буквам можно определить, к какому роду и виду относится изучаемый объект.
- Почему он тогда не выдерживает критики?
- В некоторых бактериях 16 S РНК — это не один ген, а несколько. Если мы секвенируем один участок 16 S, второй может отличаться от других и даже может быть взят вообще от бактерии другого вида. У бактерии (за небольшим исключением) нет полового процесса в традиционном смысле, у них есть так называемый горизонтальный перенос генов, это значит, что бактерии необычайно много меняются наборами генов, этот целенаправленный процесс позволяет им выжить в изменяющихся условиях. Они делятся генами не только между бактериями самых отдаленных родов, а также могут брать ДНК и у архей, это другое царство, и у эукариотов. Процент чужеродного в каждой бактерии достигает до 20 и иногда больше. Они очень часто обмениваются генами, и эти участки позволяют им долго существовать. Могу привести любопытный пример. Некоторые растения растут при температуре 55˚С, а при низких температурах вымирают. В клубнях таких растений живут термофильные бактерии. Может быть, именно они обуславливают возможность жизни при высоких температурах.
- Какие свойства ожидается найти у этих бактерий?
- Главное — мы хотим узнать, почему они так долго живут, и использовать это знание для медицины. Возможно, удастся увеличить продолжительность жизни, но не просто продлить жизнь, а повысить её качество. Это же ужасно, когда люди долго живут и сильно мучаются от всевозможных болезней. А эксперименты показали, что не только жизнь мышей, которым ввели Bacillus F, видимо, продлилась, но и увеличились активность животных. Поведенческие реакции, сексуальная активность у старых подопытных восстанавливается.
- И защитные функции.
- Да, а почему, мы не знаем. Сейчас наши коллеги Анатолий Викторович Брушков и Геннадий Иванович Грива в Каролинском институте в Швеции, там полностью секвенирован геном, и надо будет посмотреть, чем же он отличается от уже известных нам. Установить и объяснить сходство и различие бактерий между собой — само по себе является нетривиальной научной задачей. Например, был обнаружен удивительный и необъясненный факт — в замороженном мозгу мамонта нашлось семь типов бактерий, которые очень между собой похожи, такое ощущение, что из одной бактерии взяли гены и переставили в другую. Идентифицируешь их по 16 S РНК, анализ показывает, что это псевдомонада, а смотришь по другим биохимическим признаком, она сильно отличается от псевдомонады, но именно свойствами, которые присущи другой бактерии, которая выделилась из того же мозга.
- Перемешались?
- Да, и это очень необычно. Но в микробиологии есть и, казалось бы, незыблемые факты, которые опровергаются впоследствии наукой. Например, считалось, что споры бывают только у грамположительных бактерий. Причём, за спорообразование отвечает не меньше 20 генов, а наши последние исследования показывают, что споры могут образовываться и у грамотрицательных бактерий. Это значит, что гены каким-то образом переместились в другой организм. Наши президент и премьер-министр говорят о том, что надо коммерциализировать науку, и с нашей бактерией это как раз возможно, потому что она обладает востребованными для этого свойствами. Но, конечно, надо разобраться, в чем дело. Потому что если внедрять её в медицину без предварительных исследований, это может плохо кончиться. Мы каким-то образом пытаемся это сделать. Думаю, это удастся, ведь есть примеры, когда бактерия использовалась для пользы человека, пробиотики, например, активно применяются, это кисломолочные продукты для поддержания и увеличения иммунитета и для борьбы с патогенными микробами.
- А какие существуют факторы продолжительности жизни человека? И на какие из них влияет Bacillus F?
- Она повышает иммунитет, причём достаточно небольшое количество бактерий, в меньшей концентрации они «работают» лучше и более эффективно. Также к факторам продолжительности жизни, на которые влияет эта бактерия, относятся поведенческие реакции, сексуальная активность, мышечная сила, уровень интерферона. Известно, что она сильно повышает защитные силы организма.
- Хорошо ли она живет и размножается?
- Она прекрасно размножается и неприхотлива, у неё нет антагонистических активностей. Она подавляет некоторые бактерии, но это не так явно, чтобы именно это свойство сделало её уникальной.
- Возможно ли такое, что среди прочего, в вечной мерзлоте будут обнаружены потенциально опасные для здоровья человека виды бактерий? Не рискованно ли заниматься такой деятельностью?
- Очень хороший вопрос, и своевременный. В свое время мы работали с натуральной оспой, несколько вирусных частиц которой может привести к эпидемии. Мы посмотрели, как долго может сохраняться вирус — оказалось, более 200 лет в замороженном состоянии, вирус натуральной оспы — один из самых живучих. А к чему это может привести? К эпидемии. Сейчас люди не вакцинируются против оспы, и это агент биотеррора номер один. Но мы всегда это имеем в виду, поэтому в экспедиции ходят только специально обученные люди (например, имеющие дипломы, разрешающие работать с особо опасными инфекциями) и, во-вторых, в полевых условиях мы работаем максимально стерильно и транспортируем пробы в специальных контейнерах.
Сама же работа проводится только в специализированных лабораториях, чтобы не навредить. Каким образом мы определяем опасность бактерии? Есть косвенные признаки. Является ли эта бактерия гемолитической или нет? Плюс, эксперименты с мышами. Но о Bacillus F можно сказать только хорошие слова, потому что даже высокие концентрации этой бактерии не приводят к смерти мышей. Мы всегда имеем в виду, что вечной мерзлоте может оказаться что угодно, кроме того, в последнее время достаточно активно происходит таяние льдов, опять же, этот миф про глобальное потепление...
- Миф все-таки?
- Я считаю, что да. Где-то теплеет, где-то холодает. Вы разве не почувствовали по Новосибирску, что на нас уж точно потепление не распространяется? И геологи, и учёные на конференциях, все утверждают, что нет глобального потепления, есть закономерное изменение климата.
- Как Вы думаете, откуда взялся этот миф?
- Придумали политики как способ получения денег.
- Могут ли бактерии, найденные во льдах, помочь в изучении жизни на других планетах?
- Условия Марса похожи на те, которые мы изучаем в ледниках. Если мы понимаем, каким образом микробы так долго сохраняются, мы сможем предположить, что и в условиях невесомости, и на других планетах может быть то же самое, а если докажем, что радиация не позволяет микробам быть долгожителями, то мы сможем вычеркнуть из этого списка определённые планеты. Жизнь во льду открывает для нас многие интересные вещи. Когда мы начали исследовать пробы из Антарктиды, которая, казалось бы, не сильно затоптана человеком, оказалось, что бактерии, которые отбирались в специальных местах, имеют устойчивость ко многим антибиотикам, в том числе и антибиотикам последнего поколения. И вроде бы селекции никакой не было, никто их там не кормил ведь. Мы взяли разные типы антибиотиков, около 23, и оказалось, что к некоторым из них бактерии устойчивы: от 5 до 17 видов антибиотиков на них не подействовали.
- И чем это объясняется?
- Тем, что антибиотики — это не панацея. Антибиотики существовали в природе, ведь многие из них имеют грибное происхождение. Их нельзя применять постоянно без точных исследований, ведь мы можем столкнуться с такими бактериями, которые не подвержены действию антибиотиков.
- Таким образом, с помощью микромира воссоздается модель, которая может существовать на других планетах?
- Вы знаете теорию панстермии о том, что микробы и какая-то жизнь есть везде? Микробы почти не имеют веса, и находятся где угодно — и в атмосфере, и на космических кораблях. Они имеют защитные механизмы, я уже говорил про системы репарации, но есть вещи уникальные. Например, на Чернобыльской атомной станции микробы растут и прекрасно размножаются, несмотря на то, что там был очень высокий радиационный фон. У них есть системы, которые позволяют репарировать ДНК так, что они используют атомную энергию в своих целях, в целях размножения. У этих микробов избыточный геном, то есть несколько наборов генов. Это может быть и у Bacillus F.
- Как скоро можно будет перейти к доклиническим и клиническим испытаниям бактерии?
- Эксперименты с мышами по-прежнему продолжаются, сейчас мы проводим испытания не только в России, потому что у нас многое невозможно и происходит слишком долго: берут огромные деньги за испытания, всё монополизировано. Предварительные результаты показывают, что штаммы Bacillus F очень перспективны.
Опубликовано 09 июля 2010 года
Создание операционной системы — дело серьёзное. Не каждый способен найти средства и силы взяться за него, мало кто в состоянии довести дело до какого-то результата, и уж тем более единицы добиваются успеха на этом поприще. Множество прекрасных разработок в этом направлении были начаты и заброшены на том или ином этапе: Xerox Star, Plan 9, PenPoint, Magic Cap, BeOS... Все их объединяет то, что они никогда не занимали сколько-нибудь заметной доли рынка, не дожили до наших дней и в большинстве своём так и остались утопическими проектами. Можно ли поверить, что вещи, на которых споткнулись такие компании как Xerox и Bell Labs, вдруг будут реализованы небольшой российской компанией?
Эта смелая компания называется Digital Zone. Её основатель Дмитрий Завалишин считает, что это вполне возможно, и прилагает все усилия для того, чтобы осуществить свою мечту — сделать операционную систему, в которой не было бы разницы между запущенной и незапущенной программой. При написании приложений для неё программистам не придётся заботиться о сохранении данных, а научить две программы обмениваться сложными структурами будет не сложнее чем передать простой текст.
Очередная утопия? Вовсе нет. Разработчики «Фантома» уже доделывает ядро ОС и экспериментирует с графической оболочкой. Дмитрий Завалишин рассказал нам подробности.
- Расскажите для начала о своей карьере.
- Начинал я в Советском Союзе в ЦСУ СССР (Центральное Статистическое Управление). Это была крупная организация с хорошими деньгами, у них было всё самое новое. Поэтому было интересно, и надо сказать, что ещё тогда были новые проекты, связанные с коммуникациями. Модемы только появлялись, и всё это было очень «вкусно» и интересно. Собственно, с тех пор и по сей день я занимаюсь разработкой программного обеспечения, за исключением того небольшого периода, когда я работал в компании «Компьютерра» редактором.
Если говорить о самых интересных вещах, которыми я занимался, то это проект, который назывался «Русский интернет» в 1990 году. Я работал с «Демосом» и Курчатником и занимался связью между интернетом и ФИДО, которое в ту пору было достаточно популярно и составляло существенную часть коммуникаций в России.
В двухтысячном году — это компания «Яндекс», в которой я проработал четыре года и занимался архитектурой портала «Яндекс». Наверное, именно это меня навело на мысли о собственной компании, потому что «Яндекс» развивался достаточно... не сказать «хаотично», но по факту наличия некоторых потребностей. Процессы строились не в силу осознания их необходимости, а в силу того, что упирались в отсутствие этих процессов и в живую потребность. Это не соответствовало моим идеалам, и у меня возникло ощущение, что, наверное, в мире существует более чёткое понимание того, как устроена разработка софта, и, может быть, ей можно научиться. После чего я пошёл поработать в нескольких компаниях, в том числе в одну западную, чтобы посмотреть, как это делается в тех местах, где разработка софта не вторичная часть бизнеса, а первичная. И в силу этого она более критична по стоимости, по срокам и по качеству.
- И вы решили сделать такую компанию?
- Я решил посмотреть, как это сделано у других, чтобы выяснить, какие в этом месте существуют правила и наработанные практики. И сделать такую компанию. У меня есть некоторый опыт разработки в области как веб-систем, так и многого другого. И было ощущение, что это востребовано. И действительно, так оно и есть в известной степени.
- Судя по вашему сайту, у компании достаточно загадочное и сложное занятие.
- Да на самом деле ничего загадочного. Мы действительно занимаемся портальной разработкой.
- Но написано, что вы берётесь за самое интересное и сложное, что только можете найти.
- Это действительно так. Я приведу несколько примеров, и вы увидите, что они действительно интересные и сложные, но по областям достаточно разные. Один из этих примеров — крупный портал для системы e-commerce — торгового интегратора класса «Яндекс.Маркета» (собственно, «Яндекс.Маркет» — тоже мой проект — им я занимался в компании «Яндекс», и можно сказать, что это моё детище). В нашей компании мы сделали аналогичный проект, даже в чём-то более сложный. Это если говорить про веб-направление.
Второй пример — это «Гардемарин», который с вебом никак не связан. Это достаточно серьёзный софтверный проект, он ориентирован на мониторинг судовых систем. По-другому мы его называем electronic dashboard для судна. Это достаточно современная тенденция, она постепенно вытесняет классический подход, когда существуют отдельные приборы на панели, отдельным образом соединённые с устройствами в машинном отделении. Мы их заменяем на централизованную систему, которая связана по Ethernet с машинным отделением, получает оттуда данные и отправляет управляющее воздействие. Опять же, это довольно крупная система, сложная и довольно интересная. Но к вебу никакого отношения не имеет.
Третий пример — это наша работа с «Мосводоканалом». Мы с ними разрабатываем систему, которая поможет «Мосводоканалу» быстрее реагировать на информацию об авариях и получать более точное представление о месте аварии. У «Мосводоканала» по городу есть множество датчиков, но при этом до сегодняшнего дня интерпретация показаний с них происходила в «человеческом режиме». Сидели некие опытные люди, которые знали, что, к примеру, если сработал восьмой датчик и двадцать пятый, то, скорее всего, там протечка или здесь прорвало трубу. Поскольку это эзотерическое знание очень трудно передаётся от человека к человеку, от того, какая смена сидит в диспетчерской, зависит качество реакции на информацию об аварии. Было решено реализовать систему, которая бы это автоматизировала. Сейчас у нас есть представление о том, как анализировать информацию с датчиков, есть картографическая система, которая отображает эту информацию. Анализируя известные нам паттерны аварийных ситуаций, можно давать более точные указания на то, где искать аварии. Это довольно практическая задача — свести время реакции на аварию до получаса. Это критично, важно и полезно.
Четвёртый пример — собственно, операционная система, которая находится совсем в другой области, и тем не менее — очень интересный и амбициозный проект.
- Но что вас вдруг натолкнуло на мысль делать собственное ядро ОС? Какие-то нужды по другим проектам? Неудовлетворённость существующими системами?
- О, совсем не вдруг! Эта идея зрела давно. Она — результат многолетнего опыта работы в софтверном бизнесе и довольно обширных представлений о том, что происходит в самых разных областях разработки софта, и представлений о том, как устроены существующие операционные системы. Дело в том, что в советское время, когда я только начинал всем этим заниматься, я был очень активным юниксоидом. В восьмидесятые годы я пропагандировал Unix — тогда это была сверхмодерновая, никому не известная операционная система, которая только начинала свой путь. И в мире-то начинала, а в СССР это была совсем фантастика. Я довольно хорошо её знал, был системным программистом, занимался разработкой драйверов и существенно касался ядра операционной системы.
Потом, когда появился MS-DOS, он очень сильно уступал «Юниксу». Зачастую приходилось писать программы, функциональность которых находилась в рамках компонента операционной системы. То есть, скажем, мы под свои задачи писали такие вещи как многозадачность — для MS-DOS. Причём такие вещи делал каждый десятый программист, работающий с MS-DOS. Это сложно, но вполне достижимо.
Когда мы это делали, мы понимали, какие задачи мы при этом решали и откуда такие потребности возникают. Однажды у нас была очень смешная практическая работа. Когда появилась одна из первых 386-х машин, они были бешено дорогие и никто не понимал, зачем они вообще нужны. Потому что DOS на них работал как на обычных 286-х. Разницы не было, и никто не понимал, зачем там ещё какие-то восемь мегабайтов.
У меня был начальник, который ко мне пришёл и сказал: «Слушай, ты понимаешь, что с ней можно сделать?». Я говорю, что в принципе к ней можно подключить несколько терминалов. Он говорит «Да? Здорово. А как?», я отвечаю: «можно плату такую купить, вставить процессор в неё, подключить к ней терминалы СМ ЭВМ — они ещё были на рынке, — Но операционка этого не поддерживает, ничего с этим сделать нельзя». «А можешь что-нибудь сделать, чтобы она поддерживала этот терминал?». «Могу — говорю, — могу сделать систему, которая позволяет текст на них на всех редактировать». «Здорово! Под это есть задача, давай». И мы сделали продукт, который позволял подключить восемь терминалов к 386 машине, под DOS написали многозадачную среду, в которую встроили приложения — текстовый редактор и прочую мелочёвку. Из этого получилась некоторая инфраструктура для подготовки документации. Были клиенты, которые ей пользовались. Это был некоторый прямой опыт создания — если не операционной системы, то близкой вещи, и её компоненты там присуствовали.
Дальше разработка самых разных приложений и задач в основном компонентного характера наводила на мысль о том, как бы это делать правильно, и в девяностых годах начали бродить в голове и осмысливаться первые идеи, которые легли в основу «Фантома». Я много об этих идеях говорил, общаясь с разными людьми, с сотрудниками разных крупных софтверных компаний — это интересная тема, которая обсуждалась. И где-то лет пять назад один из моих знакомых мне сказал: «Давай, Дим, ты что-нибудь уже сделаешь, потому что, вроде, интересная тема». А я очень боялся, потому что тема-то на самом деле неподъёмная и, честно сказать, не мог подумать пять лет назад, что ОС у меня будет запускаться и работать.
Я стал пробовать, делать какие-то наброски, пытаться сделать то один, то другой кусочек — посмотреть работает или не работает та или иная вещь. Компилятор вот написал тестовый, систему виртуальной памяти. Оно начало оживать постепенно и двигаться. Финальный шаг — когда я сказал себе, что эти куски мы действительно будем собирать в ядро операционной системы.
Отчасти процесс пошёл потому, что случился информационный прорыв. Мы, на самом деле, его не планировали, но уже пытались делать какое-то ядро. Полтора года назад случилась эта история с публикацией в западном журнале. Случилось абсолютно спонтанно, не планировалось вообще. У одного из наших сотрудников был друг за рубежом, он ему рассказал, что, знаешь, у нас тут ребята операционку потихонечку клепают. "Да, правда? Расскажите. Написал письмо, мы кинули ему внутренние рабочие материалы, идеи, и через неделю вылетела статья, от которой мы сами были в лёгком шоке. Эта статья была перепечатана множество раз — на сотой перепечатке мы просто перестали считать. До этого нас, конечно, воодушевляло — было интересно: японский, китайский языки, европейские языки, прибалтийские языки, дискуссия где-то в Эстонии о том, что русские подкопаются под Эстонию через операционную систему, которую они разрабатывают! Феерическая, конечно, реакция.
- Когда это было?
- Полтора года назад где-то. Зимой прошлого года. Если бы не это, может, ещё года два всё бы шло на тормозах. Но тут как-то так получилось, что мир про это узнал и среагировал не очень благожелательно. Были люди, которые говорили: «Да, здорово, интересно, слава богу, что вы так смотрите на вещи нестандартно, пытаетесь что-то сделать нетипичное». Были люди, которые говорили: «Да это всё сто раз уже было». И они отчасти правы, потому что концепцию, которая у нас есть, по частям можно найти в разных работах разных времён. Третьи говорили: «Да вообще, козлы, куда вы лезете, какие вам операционные системы, вы же там какие-то сайтики программируете». Да, понятно, что моя компания занимается разработкой веб-систем довольно много, поэтому люди говорят «сайтописатели операционку делают, да кто они такие?!». Естественного скепсиса хватает, но он и у меня вообще-то есть.
Мы люди адекватные и понимаем, что создать операционную систему, во-первых, сложно, во-вторых, крайне сложно выйти с ней на рынок, хотя бы на какой-нибудь. Тем не менее, меня много спрашивают: «Почему ты за это взялся? Насколько это всё реально?» Я отвечаю, что если бы я просто не стал бы этого делать, мне бы стало стыдно, что не попробовал.
Так что мы понимаем — это большая и сложная задача. Тем не менее, в последнее время появилось некоторое ощущение того, что наша работа действительно востребована. Во всяком случае, в некоторых ситуациях я встречаюсь с людьми, которые выражают желание либо просто попробовать другую операционную систему, либо явно указывают, что то, что мы сделали, им интересно, потому что в «Фантоме» есть те или иные специфические свойства, которые отвечают их потребностям. Причём есть люди, с которыми мы общаемся по поводу этой операционки, и они говорят: «Ребята, нас очень радует то, что она простая». Даже это уже важно.
- А можете как-нибудь сформулировать, что отличает «Фантом» от других существующих ядер?
- Конечно. У меня есть хорошая, как мне кажется, иллюстрация к этому. Почти все люди в этой стране хоть раз видели икеевскую мебель и хоть раз в жизни собирали её. Представьте себе, что вы вынуждены каждый вечер, приходя домой, собирать эту мебель, а утром снова разбирать и класть в ящики. Это иллюстрация того, как работают все без исключения современные программы. Программа в силу некоторого стереотипного мышления разработчика операционных систем вынуждена, поработав какое-то время, всё своё внутреннее представление о предмете, с которым она работает, разбирать и складывать в файлы. Это достаточно болезненный, странный и ненужный процесс. Первое, что делает «Фантом» — это избавляет программиста от необходимости этим заниматься.
Из этого проистекает достаточно много вещей — от приятных до фантастически хороших. Самая простая и очевидная — то, что в силу этого факта фантомовские программы не замечают перезагрузки операционной системы. Этому все так радуются в Firefox, который, как известно, способен запомнить состояние и при загрузке его «поднять». Но Firefox делает это вручную, а «Фантом» гарантирует такое всем работающим программам, перманентно и без какой-либо поддержки с их стороны. Выключил-включил — всё осталось как прежде и поехало дальше.
Обратим внимание на то, что чтобы это делать, Firefox при перезагрузке перескачивает данные со всех сайтов. Для моих пятидесяти вкладок это вполне ощутимо. Перезагружаешь систему, и начинается война за канал — уходят минуты на то, чтобы всё это выкачать.
Ещё вчера был отличнейший пример, я просто счастлив, что на семинаре мне его подсказали. Был человек, который занимается пожарными системами. Он рассказывает про совершенно живую ситуацию: бросок питания — миллисекундный, но вызывающий сбой на процессоре. И после этого охранная система тратит пятнадцать минут на пересчёт датчиков. С «Фантомом» после сбоя питания и перезапуска система будет иметь то же состояние, и датчики пересчитывать уже не надо.
Или вот у вас стоит система, которая занимается жизнеобеспечением больного в больнице. Бросок питания — она перезапустилась и снова должна переинициализировать своё состояние, а больной до этого может просто не дожить. «Фантом» гарантирует ей перезапуск в рабочем состоянии. Оно может быть не вполне тем же самым, что и до выключения, но начнёт система не с нуля, а с полного состояния.
Есть ещё хороший пример того, где это важно (причём я не выдумываю их — это примеры, с которыми к нам приходили люди) — компания, которая делала «Марусю». У них там три или четыре компьютера в машине, при выключении зажигания их нужно выключить, потому что иначе они сожрут аккумулятор мгновенно. При включении зажигания они должны включиться. Сейчас при включении зажигания начинается загрузка — это процесс, который занимает минуты. То, что мы делаем, для них крайне актуально. Система, которая при выключении может «сфотографироваться» и лечь на диск, а при включении подняться в готовом состоянии, — точно соответствует запросам.
Стандартный вопрос, который мне задают: «А как же hibernate?». Во-первых, hibernate требует ручного указания на то, что его надо сделать, во-вторых, он ненадёжен (мы все знаем, что с какой-то вероятностью он не поднимается), потому что это не имманентное свойство системы, а он к ней привинчен снаружи. И третье — он не спасает ситуацию, когда электричество кончилось или произошёл сбой. То есть какая-то ситуация, когда компьютер перестал работать без создания образа.
Опять же, это свойство, которое все понимают, которое вроде как является главным для «Фантома». На самом деле, нет. На самом деле, важнее те вещи, которые проистекают из этой консистентности в программной среде. Что они означают? В современной операционной системе — будь то Unix или Windows, взаимодействие двух программ очень сильно осложнено по массе причин. Во-первых, в силу того, что структура системы построена по принципу раздельных адресных пространств, и они находятся за очень толстой стенкой. Они могут общаться только, грубо говоря, кидаясь друг в друга записочками, причём «записочки» — это довольно дорого, и в эту записочку не запихнёшь сложные структуры, которыми оперируют современные программы.
Во-вторых, нельзя установить долговременные отношения между программами. Оба приложения запускаются и останавливаются. И это обычное дело. Поэтому нельзя сказать «я с тобой буду дружить надолго», потому что он умрёт через пятнадцать минут и запустится уже в другом качестве. Это будет другая копия этой программы, с ней нельзя работать так же. Очень простой пример — запуск Photoshop. Он запускается и начинает сканировать шрифты, плагины, цветовые профили и всё это дело инициализирует при каждом запуске. Почему? Потому что среда не персистентна, он не может просто запомнить указатель на какой-то объект и потом снова пользоваться. Объект может пропасть, не пропасть, его нужно загрузить обязательно. «Фантом» представляет собой среду, в которой «Фотошоп» мог бы один раз найдя шрифт, потом мгновенно запускаться и сразу начинать им пользоваться, имея непосредственный указатель на этот самый шрифт.
- Не нужно ли проверить, не исчезли ли шрифты?
- Они не могут исчезнуть в «Фантоме» в силу того, как работает система сборки мусора. Пока существуют те вещи, которыми пользуются, они будут оставаться. Это вторая интересная особенность «Фантома». Если заглянуть в папку временных файлов любой Windows через год-два работы системы, то выяснится, что там миллионы страшных вещей, которые просто так валяются.
- Хорошо, но если я захочу стереть шрифт?
- Тут вот какая штука. Дело в том, что в той схеме, в которой работает «Фантом» шрифт — это объект, находящийся в рабочем пространстве системы, на который есть ссылка, во-первых, из каталога, в котором он лежит как видимый пользователю, и, во-вторых, из всех тех мест, которые им пользуются. Поэтому если вы сотрёте, он пропадёт из каталога, но пока им пользуется хоть одна программа, он будет фактически присутствовать. Скажем так, пока он будет присутствовать в документах — он будет существовать. Как только исчезнут все документы, которые им пользуются, он будет автоматически уничтожен. И это относится ко всему, что существует в системе. Если поставили новую версию чего бы то ни было, старая версия исчезнет сама, как только в ней исчезнет необходимость. И напротив, она не сможет исчезнуть, убив работу какой-нибудь программы, пока программа в этом нуждается. То есть у пользователя нет возможности испортить работу среды, сломав что-нибудь руками.
- Как на практике происходит это сохранение состояния? Система просто сохраняет всё на диск время от времени? Или как-то более хитро?
- Люди, которые занимаются операционками, довольно быстро понимают, как всё это устроено. Простыми словами рассказать это сложно, но давайте попробую. Дело в том, что состояние на диске уже лежит. В момент сохранения снэпшота происходит запись только тех данных, которые изменились с момента предыдущего снэпшота. Как правило, для обычной системы их не много. Это означает, что снэпшоты можно делать достаточно часто, а при сбое система восстановит состояние довольно близкое к тому, что было раньше.
- А программа сама контролирует, когда её объекты сохраняются?
- Нет. Этого программе вообще не видно. С точки зрения программы, она существует в системе, которая живёт вечно — для неё ничего не меняется. Я полагаю, что современные операционные системы требуют слишком обширных знаний от разработчика, и стремлюсь сделать систему, в которой многие вещи делались бы настолько прозрачно и незаметно, что просто не требовали бы даже думать о них. Это одна из причин, почему ОС называется «Фантом». В «Фантоме» автор программы вообще не должен знать, что такое диск. Он её просто пишет, она просто существует. И часть задачи просто отпадает.
Скорость, с которой система делает снэпшоты, регулируется. Можно сказать — раз в минуту, можно — вообще непрерывно. Закончился один и сразу пошёл другой. Более того, у нас есть желание сделать версию для специальных применений, в которой это будет делаться со скоростью порядка миллисекунд. То есть система будет хранить очень подробную запись того, что происходило, по методу журналирования. Раз в минуту будут делаться полные срезы, а между ними будет вестись список частых изменений. Это позволит получить на обычном «железе» систему, которая сможет восстанавливать очень близкое к моменту сбоя состояние. Но принципиально программа для этого ничего не должна делать.
- Эта непохожесть «Фантома» на другие среды означает, что старые компоненты систем Unix нельзя будет использовать? X Window, к примеру, или OpenGL.
- Вовсе нет. OpenGL у нас даже в каком-то виде сейчас есть в системе. В довольно сыром, правда.
- И это не собственная реализация, а оригинальный код, скомпилированный под «Фантом»?
- Да. Здесь есть две стороны жизни: есть объектная персистентная среда, которую «Фантом» предлагает в качестве родной. Под неё мы собираемся построить способ миграции, который позволил бы втаскивать на неё код, написанный на современных языках — на Java, Python, C#. Это очень большой объём кода, и он, на самом деле, превосходит то, что сделано для Unix. Мы считаем, что это основное направление, в котором нужно двигаться. Конечно же, мы не хотим сделать систему, для которой всё придётся писать заново. Это не оставило бы мне абсолютно никаких шансов.
С Unix ситуация вот какая. Изначально вообще не планировалось поддерживать юниксовый код, потому что родная среда «Фантома» не позволяет поддерживать старые языки программирования — такие как C и Pascal. Есть очень чёткое разделение: есть managed языки и не-managed языки. Managed-языки мы напрямую не поддерживаем. Это совершенно не проблема для современной разработки, потому что сейчас всё делается уже на managed-языках. Но есть довольно большое количество старого кода, написанного на C, на Pascal, на C++.
Изначально я предполагал, что им не нужно заниматься, ещё и потому, что за то время, которое мы будем делать стабильную версию «Фантома», мир ещё раз шагнёт вперёд, и всё старое наследние окажется совершенно неактуальным. Тем не менее, в сегодняшней стадии в «Фантоме» делается Unix-подсистема, которая позволит запускать под ним более или менее немодифицированный Unix-код, хотя X Window мы, наверное, не будем туда затаскивать.
- То есть будет собственная оконная система?
- Да. Она уже в какой-то степени есть, и не так уж много кода X Window, который было бы интересно в неё тащить. А делать X Window — это довольно серьёзная задача, которая, я боюсь, не окупится. Ну и, кроме того, есть довольно много кода, написанного под вещи типа SVGALib, который вполне можно портировать под «Фантом». То есть framebuffer и прочие инструменты обмена мы сделаем.
- Но программы, написанные под X Window, придётся модифицировать?
- Придётся модифицировать, да. В текущей ситуации мы не видим достаточной необходимости делать эту часть работы. Мы больше ждём, что программы, написанные за последнее время будут реализованы скорее для Java SWING, чем для X Window.
- Но у такого подхода должны быть и плюсы. Вы говорите, что под «Фантом» легче писать программы. Легче и дешевле. Кроме сохранения состояния это в чём-то проявляется?
- Это дешёвая компонентность. Собственно, вся история программных инструментов, если взять некоторую стартовую точку — когда появился первый компьютер и за него сел первый программист, написал для него первую программу. (Эта программа была написана в некоторой модели, в которой есть только этот программист, только эта программа и этот компьютер, который полностью ей отдан.) Начиная с этой точки и до сегодняшнего дня всё, чем занималось программистское сообщество — это развитие модели, при которой программист может писать меньше и использовать больше чужого. Современные языки программирования, языки программирования вообще, библиотеки, фреймворки, операционные системы — всё это было сделано для решения ровно одной вещи — сделать так, чтобы можно было написать три строки кода, а 333 строки были бы чужими. Это делается всегда ровно одним способом (хоть он и по-разному реализован в разных местах) — дать программисту компоненты, которые он воткнёт в свою программу.
Собственно, я считаю, что успех Unix как операционной системы связан в первую очередь с тем, что Unix предложил возможность сборки утилит командной строки в «пайпы». Таким образом он породил первую командную среду в истории разработки софта. Хоть до него и были библиотеки, но он стал первой средой, где этим мог управлять пользователь. То есть можно взять две вещи, написанные разными людьми, и склеить их воедино, чтобы решить свою третью задачу. Причём, опять же, это не некоторая абстракция. Даже в те годы в ЦСУ СССР была реальная разработка под Unix, для которой использовали утилиты командной строки. Там была обработка статистики, которая делалась этими «грепами», «сортами» и прочими утилитами, которые позволяли данные, представленные в виде текстовых табличек как-то обсчитывать, форматировать и печатать.
То, что мы делаем — это новый шаг в ту сторону; он отличается от того, что существовало, благодаря глобальному адресному пространству. Мы говорим, что всё, что у нас есть в системе, можно использовать. То есть можно достучаться до чужих данных (с учётом желания того, кому они принадлежат, их вам отдать, конечно — в этом смысле «Фантом» система очень защищённая), но если две программы желают обменяться данными, то это можно сделать очень дёшево, очень эффективно и с произвольной степенью сложности.
В современных системах это просто невозможно. Грубо говоря, если работает программа Word, в которой существует документ, представленный в виде некоторого графа объектов, поделиться фрагментом этого графа объектов с другой программой Word не сможет. Потому что видим граф только в рамках одного адресного пространства. Word может его сериализировать, свернуть, засунуть в какую-нибудь трубочку, передать через «пайп», но это всё тяжко и требует того, чтобы обе программы понимали один протокол. Ну, к примеру в Windows есть протокол OLE, который такие возможности предоставляет. Но программ, которые его поддерживают, мало, потому что он сложный. И все такие протоколы сложны. Второй пример — это CORBA, который вообще шикарный инструмент — он платформонезависимый, но примеров его реального использования — единицы, потому что это сложно.
Та же задача в рамках «Фантома» решается одной единственной строкой кода: передачей указателя на произвольную группу объектов. После чего они напрямую доступны во всей своей сложности. То есть сложность этого «интерконнекта» мы понижаем не просто в разы, а на порядки. Мы ожидаем, что это даст существенный эффект.
Видно, что на сегодня потребность в компонентной среде велика, это решают почти все современные инструменты. Если взять сообщество Java, то оно этому посвящено почти во всех своих направлениях. Можно взять другую часть мира — Windows, C# и инструменты, которые существуют для него, — они тоже направлены на это.
- Не похоже ли это на среду Smalltalk?
- Похоже. Очень похоже. Вы абсолютно правы, это так и есть.
- Но в качестве отправной точки была избрана именно Java?
- Нет, у нас среда как раз языкоагностическая, мы не завязаны на Java. Просто Java Virtual Machine на сегодня используется для очень большого количества современных языков — более 200 языков имеют трансляторы в JVM, а это значит, что если поддержать её, то мы поддержим и это огромное количество языков. Для нас это будет наиболее эффективным путём. Поэтому дело не в самой Java, а в виртуальной машине.
- Как я понял, разработка «Фантома» пока находится на очень раннем этапе. Ядро ещё не устоялось?
- Год назад я бы сказал, что ещё на очень раннем этапе. Сейчас у меня у самого возникает ощущение, что мы уже существенно ближе к реальности. Ядро — не сказать «не устоялось» — в нём есть много вещей, которые требуют доработки, переработки или просто развития, но «не устоялось» сказать уже нельзя. Потому что если говорить про среду исполнения прикладного кода, то за последний год она не изменилась ни на байт. То есть, вообще говоря, устоялось именно с точки зрения внешнего интерфейса. От него мы существенных изменений уже не ждём.
- И вы уже не боитесь, что в погоне за идеалами окажетесь в той же ситуации, что и Столлмен со своим Hurd?
- Как вам сказать... Конечно, боимся. Это, кстати, ещё одна из причин, по которой я начал делать систему. Сложность того, что я сейчас про неё понимаю, превысила возможность головного мозга, она сегодня в него уже не вмещается. До какого-то уровня я понимаю, как и что в ней происходит, а дальше — нет. И поскольку проверить это хочется, её пришлось сделать, чтобы понять, что будет дальше.
Конечно, я могу предсказывать будущее только на какую-то глубину, а дальше может выясниться, что есть вещи, про которые я не подумал, и они каким-то образом всё загубят. Но на сегодня я таких вещей не вижу.
У нас была одна очень крупная проблема, которая меня поставила на грань вопроса о реализуемости проекта — это было год назад, и мы это место прошли. На сегодня я не знаю ни одного принципиального момента, который мог бы сделать эту задачу нереализуемой. Есть, конечно, вопрос о том, в правильном ли направлении я вообще двигаюсь. Вдруг никакого будущего у проекта нет? Думаю, что это не так.
Я абсолютно уверен, что я двигаюсь в правильном направлении — этому можно привести довольно много аргументов. Наверное, самый вразумительный из них — это то, что компания Microsoft движется в том же направлении. Я думаю, что ни у кого в этом мире нет сомнений в том, что компания Microsoft знает, где искать деньги в разработке софта. Про то, что они делают, можно говорить самые разные вещи, их можно ругать или хвалить, говорить, что есть не очень удачные инженерные решения среди принимаемых ими, но Microsoft как одна из крупнейших компаний, занимающихся разработкой софта, чётко понимает, что и как устроено с точки зрения бизнеса, где дешевизна, и как до неё добраться. То, что мы с ними существенно совпадаем, убеждает меня в том, что я прав.
Здесь, как мне кажется, правильной будет такая метафора: если какой-то человек вдруг скажет, что знает, как сделать производство автомобилей на тридцать процентов дешевле, к нему сразу же подбегут человек сто с разных сторон, попытаются порвать его на куски, и кто-нибудь один да утащит его в «Тойоту» или в «Форд», чтобы он сделал то, что хотел. Потому что все понимают, что тридцать процентов дешевизны — это значит убить весь рынок и съесть всех. В софте ситуация несколько мягче, но, тем не менее, она тоже критична.
Ещё один пример — когда лет десять назад появилась Java (как язык программирования), производительность программ на Java была катастрофически хуже, чем производительность программ на C++. Что не помешало Java «вынести» C++ просто с корнями. Можно считать, что C++ сейчас не существует, а Java сегодня — язык номер один. Если Java сегодня кому-то и сдаёт, то только C#, который, в общем-то, в существенной степени является её клоном. Почему это случилось? Потому что Java дала при провале на старте по скорости (сейчас она его уже наверстала) существенные преимущества по скорости и дешевизне разработки. И это решило спор в её пользу. Я полагаю, что у принципов, которые лежат в основе «Фантома», те же самые шансы.
Это направление более или менее неизбежно. По крайней мере я не вижу ни одного конкурента ему — ни у нас, ни у Microsoft, ни у кого бы то ни было в мире. А уж выиграет при этом «Фантом» или другая ОС того же класса — это, к сожалению, вопрос зависящий больше от финансирования, чем от идеи.
- Хорошо, про то, какие преимущества «Фантом» даст встроенным решениям, вы уже сказали. С серверами ситуация сложнее?
- На самом деле, нет, не сложнее. Вторая область, где мы можем показать преимущества «Фантома» в ближайшее время — это как раз серверы. То есть какие-то веб-системы, причём распределённые. Современные программирование уже не предполагает обособленных программ. Почти всё, что сейчас делается — это вещи, которые так или иначе ввязываются в существующую инфраструктуру. Достаточно зайти на любой проект, чтобы увидеть кнопочки «Твиттер», «Фейсбук», «Живой журнал» и т.п. Это простой пример того, что обособленно жить уже нельзя — всем требуется среда, которая легко поддерживает не просто компонентное программирование, а уходящее во врешний мир.
Мы считаем, что здесь у нас есть хорошие шансы, особенно — в разработке не очень масштабных систем. Условно — систем, которые делаются на коленке тремя программистами. То есть небольшие разработки, которые, как правило, сегодня делаются на PHP плюс MySQL. Здесь мы можем предложить PHP без MySQL. PHP и MySQL популярны, потому что их легко изучить. Если выкинуть MySQL, изучать будет ещё вдвое легче. В этом месте у нас есть шансы, хотя есть и конкуренты. Существуют среды, которые реализуют сходную с «Фантомом» персистентную функциональность не в рамках ОС, а в рамках отдельного приложения.
- Можно ли «Фантом» применять для распределённых вычислений и виртуализации?
- Можно, конечно, загнать под него монитор виртуальных машин, но я не вижу больших причин этого делать. Я не вижу особых проблем в мире виртуализации — там всё хорошо, и нам помогать нечему. Хотя к нам приходил как-то человек, который рассматривал «Фантом» как некоторое средство виртуализации, и в некотором смысле мы и будем им являться, потому что среда Linux в «Фантоме» отчасти имеет характер виртуальной персистентной среды.
Та среда Linux, которую мы собираемся сделать — она будет отличаться от обычного Linux тем, что запущенные в ней программы не будут «видеть» перезагрузки операционной системы. Это попытка сделать очень совместимую на уровне исходного кода среду, но при этом с плюсами «Фантома».
Однако когда я говорил про среду разработки в рамках нескольких компьютеров, я имел в виду несколько другое. Мы хотели бы в рамках «Фантома» реализовать достаточно прозрачный механизм дистанционного доступа к объектам на другой машине и миграцию объектов.
Я приведу пример, который в «Фантоме» можно будет реализовать не скоро, но идеологически он достижим. Вы садитесь за компьютер и начинаете работать с некой программой — не важно какой — к примеру, рисуете в CAD-е какой-нибудь проект. Он реализован как множество объектов, которые описывают проектируемую вами систему, вы видите в окне представление этой системы и работаете с ним. Поработав, вы собираетесь поехать на дачу. Вы берёте окно (подчёркиваю — окно!), кладёте его в письмо и отправляете себе на дачный компьютер. Когда вы приезжаете туда, вынимаете из письма окно, и начинаете с ним работать. Но при этом окно у вас здесь, а объекты — там.
К тому же компьютер вполне в состоянии обнаружить, что ситуация изменилась, и те лежащие дома объекты на самом деле используются с дачи. Среда в состоянии передать их вам. По мере того, как вы будете с ними работать, они будут переползать на машину, с которой вы работаете. Если вы долго проработаете, они соберутся там. Уехали в Швейцарию к другу? Они приедут за вами по мере необходимости.
Это, кстати, ответ на вопрос о том, не выйдет ли завтра так, что стоящий на рабочем столе компьютер не будет ничего содержать, а всё станет жить в сети. Может быть. Но к этому мы тоже в известной степени готовы. К тому же, какая бы сеть хорошая ни была, всё же близко находящееся эффективнее, и эта схема миграции кажется мне осмысленной и актуальной.
Даже если что-то живёт в сети, давайте мигрируем к вам то, чем вы реально сейчас пользуетесь. Поработаете с этим, дальше оно прозрачно уедет обратно. Не обязательно заставлять программу бегать непосредственно на дальний компьютер за каждым обращением к объекту. Если вы с ним работаете, можно принести его, поработать и вернуть обратно. Это достаточно эффективно — и с точки зрения нагрузки на каналы, и с точки зрения реактивности работы программ.
- Наш разговор плавно перешел к настольным применениям, но я бы сперва хотел поговорить о портативных устройствах. Сейчас активно обсуждается, как должна быть сделана многозадачность на устройствах с ограниченным количеством памяти и энергии. К примеру, в iOS 4 используется хитрая схема, позволяющая программам сперва замораживаться, затем закрываться, когда памяти не хватит. Если бы использовалось ядро «Фантома», это можно было бы сделать легче и очевиднее?
- Дело в том, что то, что вы сейчас описали, совершенно штатная ситуация для «Фантома» — там для этого не нужно предпринимать никаких специальных усилий. В отличие от Unix и Windows, в которых существует выраженные отдельные состояния запущенной и незапущенной программы, в «Фантоме» эти состояния размыты и неотличимы друг от друга с точки зрения внешнего наблюдателя. Программы переходят из более активного состояния в менее активное просто по факту того, работают они или нет. Если программа реально не работает, то подсистема виртуальной памяти «Фантома» по мере необходимости в оперативной памяти постепенно вытеснит её в дисковое состояние. Для этого не нужно ничего делать — всё происходит само собой.
То есть то, что сейчас делают разработчики мобильных ОС, у нас есть и так. Кстати, одна из причин, по которой я так уверен в правильности концепции «Фантома», — в том, что очень много частных задач здесь решается в силу естественных свойств системы. Это меня очень мотивирует. Это критерий правильности проектирования базовой идеи «Фантома».
"Фантом" — это же, собственно, программы, которые постоянно и живы и мертвы. Они лежат на диске, но как только они попытаются поработать, то непосредственная попытка обращения к программе приведёт её в оперативную память. Она может поработать частью, и именно эта часть загрузится и поработает. Как только памяти станет мало для программ, и какие-то программы станут пассивными, они вытеснятся из оперативной памяти непосредственно стандартным механизмом планирования ресурсов компьютера.
Единственное, что в случае мобильного устройства таки нужно делать — это, собственно, принимать решение о том, работает программа или нет. С этим ничего не поделаешь — это либо какое-то волюнтаристское решение операционки о том, что какая-то программа слишком много «ест», и давайте её приостановим (но это именно приостановка, а не выгрузка — выгрузка случится сама), либо это решение самой программы о том, что она находится в стеснённой ситуации и лишнего потреблять не должна.
- Переходя к десктопному использованию, представим, что «Фантом» сможет его добиться, и немножко помечтаем. У дизайнеров интерфейсов есть несколько давних мечтаний — что хорошо бы было сделать, но тяжело, и не понятно, кто бы мог это сделать.
- Если вы знаете этих дизайнеров, гоните их ко мне — с удовольствием с ними поговорю. К сожалению, на сегодня видел очень мало людей, у которых есть хоть сколько-нибудь сформулированные мечтания. Общеизвестный Раскин — это наиболее цельный пример. Хоть его представления и находятся на очень глобально-абстрактном уровне.
- Давайте я перечислю наиболее известные примеры, а вы скажете, может ли в этих случаях «Фантом» чем-нибудь помочь. Первое — это избавление от иерархической файловой системы.
- О да! Спасибо вам за этот вопрос. Это же просто мучение, ужас и кошмар. Да, конечно, может, очень хотим и обязательно сделаем. Но здесь есть некоторые проблемы. Во-первых — совместимость с предыдущим поколением пользователей, для которых мы, конечно, стандартное дерево оставим.
Но при этом смотрите, что происходит в «Фантоме»: здесь нет файлов, зато есть объекты. Объекты отличаются от файлов прежде всего тем, что для них можно определить методы — то есть давать им возможность сказать системе, что с ними ещё можно сделать. К примеру, их можно искать по другим критериям; например, их можно по-другому классифицировать, и не одним способом классифицировать.
Даже если брать совершенно прямолинейный уровень: как родным для «Фантома» способом сделать приложение? Приложение — это некоторый класс, реализующий некоторую функциональность. И объекты этого класса являются документами с точки зрения пользователя. Уже сам этот факт означает, что вы можете одним движением найти все документы такого типа.
Мало того, в рамках этих документов вы можете построить свою иерархию и классификацию и потом работать с ней. Если это документы CAD (простой пример из известой области) для разработки схем и прошивок для ПЛИСов — в ней есть своя классификация: печатные платы, схемы, компоненты схем, библиотечные элементы. Операционка про это ничего не знает, но в рамках модели классов этого продукта это представление есть и его можно использовать. То есть можно не имея в операционке никакого знания о том, что бывают печатные платы, схемы и прочие вещи, сказать ей: «Знаешь, у меня тут есть дерево классов, такой-то CAD, а в нём есть такой подкласс — печатные платы, найди мне эти объекты». В данном случае используется некоторое штатное свойство операционной системы, которое не проектировалось специально под эту задачу, но оно есть и оно отражает эту задачу — что меня, конечно, очень радует.
- Но действительно ли пользователям необходима иерархическая структура данных? Логично было бы каждый вид данных хранить наиболее подходящим для него образом...
- Да, но многие люди бесятся и говорят: «Дайте мне файл, я хочу его потрогать». Я бы не хотел их этого лишать. Но в отличие от Windows и Unix, где объект не может не лежать в файловой системе, в «Фантоме» решение об этом принимает приложение. Оно может взять и скрыть от системы именования свои объекты, если считает это удобным и правильным или если это полезно с точки зрения безопасности. Одна из причин, почему в Windows так хорошо живут вирусы (да и в Unix проблема та же) — это собственная файловая система, где можно просканировать всё, что есть. «Фантом» позволяет не показывать то, что программа не хочет. При этом объект существует, доступен тому, кому он нужен по указателю и больше никому. Я полагаю, что это достаточно важный факт с точки зрения защиты от вирусов. У «Фантома» есть и другие свойства, которые сильно осложняют жизнь злоумышленникам.
- Следующая мечта — исчезновение (с пользовательской точки зрения) разницы между оперативной памятью и диском. Это бы отменило необходимость сохранять то и дело свои данные. «Фантом» от этого избавляет?
- Да, «Фантом» здесь больше всего похож на листочек бумажки — вы написали что-то — оно осталось. Хотите копию — сделайте копию. А вот команда Save здесь не нужна по определению. Даже больше скажу — в «Фантоме» нет разницы между иконкой и окном. То есть иконка, документ и окно — это, вообще говоря, одно и то же. Наличие окна, которое показывает содержимое документа — это всего лишь вопрос состояния hide или unhide. По сути дела, окно — это увеличенная иконка.
- То есть можно сделать раскинский zoomable-интерфейс?
- Да-да-да! Это в существенной мере движется именно в эту сторону. Я как раз про это и говорил — в Раскине меня как раз смущает то, что у него есть хорошее представление о том, что он хотел бы видеть, но нет хорошего представления о том, как это положить на реальную софтверную среду. У нас это представление, кажется, даже есть. Оно не вполне однозначно ложится на идеи Раскина, но я в целом вполне разделаю его мечты.
- Далее — разница между запущенной и незапущенной программой. Она тоже, как я понимаю, стирается?
- Да, в «Фантоме» это делается естественным образом. Как только программу перестают беспокоить, она перестала быть запущенной. Начали снова с ней что-то делать — она продолжила работать с того места, где её оставили. Собственно, это к тому же вопросу об иконке, документе и окне. Есть документ, состояние которого присутствует, и если убрали окно, это ни на что не повлияет. Документ останется в прежнем состоянии.
- Последнее — это возможность отмены любого пользовательского действия.
- Здесь система как таковая, к сожалению, ничего предоставить не сможет. У нас есть представление о том, как это можно сделать в рамках реализуемой объектной среды, но уже с некоторой потребностью от программиста предпринять некоторые усилия. Даже не столько усилия, сколько необходимость делать свои приложения некоторым определённым образом. Грубо говоря, если он использует немодифицируемые объекты и применяет функциональный стиль, то более или менее автоматом получается некая среда, в которой можно возвращаться к предыдущему состоянию. В этом месте мы не даём готового решения, но мы говорим, что если в нашей среде придерживаться определённых правил, это будет получаться дёшево и легко.
- Давайте теперь вернёмся к реальности. Какие короткосрочные перспективы стоят перед проектом?
- У нас сейчас достигнута ближайшая цель получить стабильно работающее ядро, в котором хорошо работают снэпшоты, в котором чётко отслеживается перезагрузка. Сейчас есть нормальное, хорошее ядро, разработку которого можно при желании и остановить, и это будет приемлемо. В ядре есть некоторое количество вещей, которые нужно обязательно доделать — они касаются некоторых тонкостей восстановления системы. В системе есть такие места, которые должны быть проинформированы о перезагрузке, и это место пока что не реализовано. Как только пройдём его, разработка ядра будет приторможена.
Следующая задача — сделать пользовательскую среду, для которой которой было бы удобно писать программы. То есть главная стоящая сейчас перед нами задача — сделать релиз, на котором средний программист мог бы уже что-нибудь написать. Строго говоря, этот релиз у нас уже есть, но человеку потребуются усилия на то, чтобы продраться через наши инструменты — способы склеивания кода, миграции, сборки. Не сказать, что они сделаны плохо — просто так, как того требовала текущая ситуация.
Ещё одна вещь, которая сейчас не готова — это графическая подсистема, которая на сегодня реализована только в ядре и почти никак не доведена до пользовательского уровня, и в ней не реализованы некоторые примитивы, которые необходимы в реальной жизни. К примеру, нет примитива, позволяющего подвинуть окно или изменить его размеры. Без этого в режиме демонстрации можно жить, но в реальной жизни хотелось бы, чтобы оно было. Вот такие вещи нужно отработать, и после этого мы бы хотели, чтобы у нас случился релиз, про который мы бы могли сказать «да, интересующийся разработчик может это взять, собрать, попробовать, запустить, написать под это какую-нибудь программку».
Для нас это важно не потому, что под «Фантом» начнут писать (всё же пока что довольно рано для этого), мы бы хотели выйти на каких-то заинтересованных разработчиков, чтобы получать отклик. Чтобы понимать, что в системе ещё сырое, что требует доработок, что неудобно или глупо сделано. И после этого следующий релиз мы бы хотели рассматривать как продакшен.
- Как я понимаю, есть и мысли о коммерческом применении?
- Конечно. Опять же, мы адекватные люди, мы не делаем операционную систему только из желания покрасоваться. Конечно, мы хотим, чтобы у «Фантома» было коммерческое применение. Есть некоторые направления, в которых ощущаются такие потребности. Есть три группы людей, которые в какой-то перспективе объявили о своём интересе. Это всё российские разработки, из совершенно разных областей. Их авторы обращаются к нам по совершенно разным причинам. Мотивация у них, надо сказать, бывает диаметрально противоположенная.
- А за рубежом, несмотря на шум в западной прессе, не интересуются?
- Интересуются, конечно. Я получил тысячи писем из-за рубежа от самых разных людей разного уровня, с разными словами. Как правило, публично ругают много, а в письмах только хвалят. Некоторое количество писем получил от людей из серьёзных компаний типа IBM, которые занимались сходной разработкой и указали на места, которые им кажутся проблемными или рекомендовали другие подходы.
Некоторые из этих писем действительно помогли. Не сказать, что мы бы без них не справились, но опыт всё же полезен. Были люди из университетов, которые предлагали как-то поучаствовать, но, к сожалению, мы слишком рано зазвучали. Тогда у нас практически вообще ничего на руках не было такого, что можно было бы отдать. Я с ними со всеми переписывался, но говорил, что по-настоящему общаться мы будем через годик-другой. Пока что все эти полтора года я эти каналы не трогаю осознанно, потому что хочется показать людям что-нибудь такое, что их бы не демотивировало.
- Но сейчас выйдет первый релиз, и команда сможет вырасти с пяти человек до большего количества?
- Я не знаю. Надеюсь. Мне очень трудно предсказывать. Пока что наш опыт показывает, что из десяти людей, выказавших желание поучаствовать, только двое чем-то помогают.
- Почему для «Фантома» выбрана именно лицензия LGPL? Это идеологический вопрос?
- К GPL я отношусь очень плохо. Наверное, для кого-то это правильно, но я считаю, что нужно либо что-то отдавать по-настоящему, либо держать при себе и никому не показывать. Ситуация, когда ты говоришь «я отдам, но только если вы тоже будете отдавать» мне неприятна — я не люблю людям руки выкручивать и очень не люблю, когда их выкручивать пытаются мне.
На практике я говорил с многими людьми из крупных компаний, которые занимаются разработкой софта и готовы были бы применять чей-то чужой код. Они говорят «GPL — нафиг! Мы совершенно не хотим вляпываться в эту проблему». И существует очень большое количество кода LGPL, который используется коммерчески и много кода GPL, который используют только в среде GPL. Получилось два разных мира.
Мне будет куда приятнее, если мой код будут использовать бесплатно чем если он потонет в пучине веков. Поэтому — LGPL. Кроме того, примеры таких проектов как MySQL, который долго был публичным, а потом стал коммерческим, нас несколько поддерживают, и мы не считаем, что открытие кода убьёт наши шансы на коммерческое использование.
- А какие вообще бизнес-модели рассматриваются для «Фантома»?
- Первое — это бесплатная система плюс консалтинг или выпуск специфических версий под потребности заказчика. Вторая — базирующиеся на открытом коде специфические реализации под определённого клиента, закрытые под него. То есть базовый код, который лежит в LGPL и доработка и изменения, сделанные под конкретную ситуацию. Есть потенциальный клиент, с которым такая ситуация рассматривается. У него своё аппаратное обеспечение и свои проблемы.
- На вашем сайте упомянута ещё и возможность сделать что-то вроде Amazon EC2.
- И такой вариант мы рассматривали. Это предоставление через Amazon, где для этого есть инфраструктура, создание образов, на которх человек может свой проект поднять и запустить.
- Именно Amazon?
- Мы рассматриваем Amazon, потому что мы с ним работаем в нашей коммерческой деятельности — в рамках разных проектов DZ. Просто мы о нём много знаем. Это не какой-то принцип, мы можем потом использовать другую среду.
- И какого уровня решение в итоге получится? К примеру, в Google App Engine достаточно закинуть только свой код, а Amazon и Azure дают лишь виртуальные серверы («инстансы»). Фантом добавит к EC2 что-то более высокоуровневое?
- С нашей точки зрения, это инстанс, на котором запускается ядро ОС «Фантом», позволяющее положить в себя пользовательское приложение и гонять его на «Амазоне» как SaaS или какое-то дистанционно-доступное решение или просто веб-систему. Возможно, что к собственно «Фантому» мы прибавим ещё какой-нибудь фреймворк, который облегчит создание таких вещей. Это, в принципе, рассматривается как часть плана разработки «Фантома».
- Как при этом будет выглядеть монетизация?
- У Amazon есть поддержка этого, он сможет просто делиться прибылью с разработчиком среды. Если вы сейчас запускаете Linux — это стоит одних денег, если запускаете Windows — прибавится некоторая копеечка для Microsoft (причём довольно заметная). Мы будем претендовать на заметно меньшую.
- Фото: Алексей С. Ющенков.