Оборот мирового рынка программного обеспечения с открытым кодом в 2007 году составил, по данным IDC, 1,8 млрд долл. Согласно прогнозу аналитиков, на протяжении предстоящих пяти лет этот рынок будет ежегодно расти на 26% и достигнет в 2011 году объема в 5,8 млрд долл. Расти этому рынку помогает поддержка со стороны венчурных капиталистов и ведущих ИТ-игроков, в частности, компании Sun Microsystems, в команду которой чуть больше года назад влился Ян Мердок, стоящий в ряду наиболее ярких фигур движения Open Source.
До прихода в Sun Microsystems на должность вице-президента отделения по разработкам и коммуникациям Мердок исполнял обязанности директора по технологиям в Linux Foundation и был в числе основателей компании Progeny Linux Systems, поставлявшей технологии для платформы Linux. В 1993 году он инициировал проект Debian— один из самых популярных дистрибутивов Linux. В проекте Debian было задействовано около тысячи разработчиков со всего мира, а концепция его распространения была взята за основу стратегии всего движения Open Source. Мердок рассказал журналу «Открытые системы» о том, как этот опыт помогает ему сегодня при работе на нынешней позиции, а также изложил свои взгляды на современный дуальный мир операционных систем.
Каковы ваши обязанности в Sun Microsystems?
Присоединившись к команде Sun в марте 2007 года, я возглавил проект Indiana, цель которого— создание бинарного дистрибутива OpenSolaris, призванного устранить сложности перехода на Solaris и заложить основу для будущих выпусков платформы OpenSolaris. Потенциально эта платформа имеет все шансы заменить Linux повсеместно. Моя задача— воплотить в жизнь эту идею. Например, в Debian силами сообщества разработчиков, работающих на безвозмездной основе, были реализованы многие идеи, которых так недоставало в Solaris.
В круг моих обязанностей входит курирование программы Sun Developer Network и вычислительной сетевой платформы Network.com, проведение международной серии конференций Sun Tech Days и поддержка взаимодействия с сообществом разработчиков Open Source, в частности, с создателями StarOffice и OpenOffice, Java Communications Suite. Поддержка кооперации с внешним миром разработчиков, выстраивание взаимоотношений и продвижение платформы требуют постоянного внимания; здесь всегда много работы. Я отвечаю за распространение технологий Sun в среде сообщества разработчиков по всему миру, принимая решение относительно общей стратегии разработки OpenSolaris, маркетинга и инициатив, связанных с развитием соответствующего инструментария (NetBeans, Sun Studio и т.п.). Но самое главное, я занимаюсь поддержкой и развитием экосистемы, мотивирующей разработчиков использовать OpenSolaris.
В чем суть бизнес-модели Open Source?
В отличие от модели коммерческого программного обеспечения, модель Open Source основана на косвенном получении прибыли в цепочке: инновационные идеи— заказ— подготовка и привлечение кадров— сервисная поддержка— формирование рынка новых продуктов и услуг— инновации. Успех проекта Open Source обусловлен достаточно большим числом его участников. Однако на примере проекта OpenSolaris видно, что число разработчиков, вовлеченных в проект, стало расти только после того, как инициативная группа доработала документацию, подготовила учебные руководства, усовершенствовала инструментарий и выстроила процессы разработки.
Важным стимулом участия в проекте волонтеров является их желание изучить новые технологии и инструменты и попробовать силы в решении новых задач. Но будет иллюзией считать, что программисты соглашаются стать волонтерами бескорыстно— все они так или иначе преследуют свои цели, например, получить определенный статус в сообществе разработчиков или сделать себе имя. В среде Open Source для этого имеются все условия, чего не скажешь о коммерческих разработках. Характерная для свободного программного обеспечения модульность кода позволяет множеству программистов работать над одним и тем же комплексным решением, часто соревнуясь друг с другом, что увеличивает вероятность создания качественного решения в срок.
Все это звучит заманчиво. Однако компания Progeny, президентом которой вы были, достаточно успешно начала свою деятельность и даже пережила кризис «доткомов», однако ушла с рынка. Почему?
Если у вашей компании нет денег, то неважно, насколько хороши ваши идеи— почти не будет шанса их реализовать. Сообщество Open Source дает вам этот шанс, но, чтобы выжить, маленькая компания вынуждена браться за то, что приносит прибыль, а ресурсов на перспективные исследования и разработки у нее нет. Организация текущей работы тоже требует определенных усилий. Так, в Progeny мы не могли себе позволить брать много маленьких контрактов, чтобы не распыляться, и в то же время не могли делать большие контракты силами нескольких разработчиков.
На рынке Open Source отсутствует защита интеллектуальной собственности, а у нас не было своих секретов и ресурсов, чтобы конкурировать с гигантами, которые прекратили покупать своих соперников, а стали просто переманивать их ключевых работников. Для успеха маленьких компаний на этом рынке требуется очень сильный административный и финансовый менеджмент, прекрасно знающий, для чего их компания заимствует деньги инвесторов, а потому выбирающий не просто денежные мешки, но таких инвесторов, которые помогают компании идти к ее конечной цели. В определенной степени все эти функции сейчас берет на себя Sun, поддерживая различные проекты по созданию бизнес-инкубаторов.
Какой вам представляется идеальная операционная система с открытым кодом?
Это система, аккумулирующая мощь всего сообщества разработчиков, полностью интегрированная со сложным внешним миром приложений и проблемами предметных областей с максимальным учетом всех деталей. Ни одна коммерческая компания не в состоянии предусмотреть все нюансы и особенности даже одной конкретной прикладной области, причем в динамике по отношению к внешнему миру. Идеальная же операционная система категории Open Source может обеспечить охват всех задач и гарантировать необходимую быстроту реакции.
Как гарантировать высокое качество в проектах Open Source?
Сообщество OpenSource использует ряд практических методов, применяемых и при создании проприетарных программных продуктов: централизованное управление, планирование, тестирование, руководство и принятие решений и т.п. Как и коммерческие разработки, успешные проекты свободного программного обеспечения невозможны без таких ключевых факторов, как устойчивое сообщество, модульность кода, управление проектами и управление процессом тестирования. Чтобы получить продукты высокого качества, необходимо хорошо представлять себе значение этих факторов и их взаимосвязь друг с другом.
Поскольку проекты категории Open Source располагают значительно большими людскими ресурсами, чем коммерческие, их разработка может вестись быстрее и позволяет добиваться более высокого качества. Чем больше людей вовлечено в процесс анализа кода, тем больше вероятность обнаружить ошибку и гарантировать включение в итоговую версию наиболее качественного куска. Это особенно важно, учитывая, что, согласно различным исследованиям, до трех четвертей разработки ядра Linux приходится на рутинные задачи типа отладки, анализа кода и исправления ошибок. При разработке свободного программного обеспечения созданы все условия для инноваций и творчества, что способствует формированию ориентированного на людей процесса, в отличие от организаций, в которых доминируют методы, инструменты и методики. Кроме этого, при создании свободного программного обеспечения процесс обнаружения ошибок и их исправления идет на протяжении всего жизненного цикла проекта, а потому в меньшей степени зависит от строгости процедур.
Качественный инструментарий— основа и гарантия качественной разработки. Однако будет ошибкой ожидать от сообщества разработчиков Open Source изначально высокого качества программ— задача сообщества состоит в генерации идей, разработке кода, предварительном тестировании, а за качество конечного продукта, например в проекте OpenSolaris, отвечаем мы, предоставляя адекватные инструменты, позволяющие создавать добротный код. Тестирование, модификация и тому подобная «мышиная возня», неизбежная на пути к программному обеспечению достойного уровня,— это наша обязанность.
Каковы, по-вашему, основные проблемы, стоящие перед Linux Standard Base?
Я вел проект LSB задолго до прихода в Sun; основная проблема здесь— в несовместимости различных версий Linux. Платформа Linux в целом вовсе не так уж хорошо сгруппирована. Фактически существуют сотни и даже тысячи различных компонентов, поддержкой которых занимаются разные люди, имеющие самые разные приоритеты. (Подробнее о LSB см., например, в статье «Проблемы совместимости Linux-систем», «Открытые системы», № 1, 2007.?— Прим. ред.)
Наша работа в проекте LSB состояла в том, чтобы упорядочить хаос, или, по крайней мере, скрыть его. Иначе какой-нибудь мелкий, но загадочный компонент может разрушить совместимость, заставив некоторых сомневаться в жизнеспособности Linux. Нужно было создать экосистему, обеспечивающую совместимость между платформами. По мере роста популярности Linux все больше людей сталкивается со все более болезненными проблемами, которые и пытается решать LSB. Всегда трудно убедить людей начать лечить болезнь, которая еще не дала о себе знать, но обязательно проявит себя. Увы, пользователей проще убедить заняться лечением, а не профилактикой.
В ваших выступлениях часто фигурирует дуальность современного мира операционных систем. Что под этим подразумевается?
Различия— это не всегда хорошо, но хорошее всегда различно. Именно поэтому в мире операционных систем сегодня наблюдается дуальность: монолитная интегрированная с двоичной совместимостью платформа, например, Solaris (Dtrace, ZFS, Containers, FMA), ограниченная рамками одной коробки; расширяемое «облако» мультиконфигурируемых платформ, образующих экосистему из разных, часто несовместимых клонов Linux, инструментария и накопленных прикладных систем, теоретически способных решать любую задачу. Подобная дуальность отражает факт существования двух миров— внутрикорпоративных сред и Web-экономики. Наша цель— конвергенция двух этих миров с сохранением их сильных сторон. Это будет делаться, в том числе, и путем объединения двоично-совместимого ядра Solaris с расширяемой экосистемой приложений и инструментария. Так, собственно, и родился проект Indiana, который должен способствовать привлечению к платформе OpenSolaris независимых разработчиков, создающих совместимый код с официальными релизами каждые шесть месяцев, а не раз в три-пять лет, как у Solaris.
Это не означает, что основной акцент будет перенесен на Open Source. Параллельно продолжится поддержка коммерческой системы Solaris, которая позиционируется как продукт для корпоративного пользователя, предпочитающего пока работать с проприетарными продуктами. По мере изменения мышления корпоративных пользователей они будут переходить на свободное программное обеспечения, и наша задача— сделать OpenSolaris необходимой частью технологического стека для единого мира. В какой-то степени Open Source выступает в роли персонального тренера для освоения коммерческих продуктов, являясь своеобразным ограничителем для вендоров. Будущее— в стандартизации приложений и интеграционных платформ категории Open Source.
Бытует мнение, что сообщество Open Source способно хорошо решать только относительно простые задачи. Но как быть с программным обеспечением для многоядерных систем, эффективное программирование которых требует новых алгоритмов, способов распараллеливания и т.п.?
Неразрешимых задач нет, однако никто и не говорит, что Open Source– панацея. Здесь, как и в любом сообществе, встречаются и бездари, и гении. Ключевой момент состоит в том, чтобы привлечь на свою сторону лучшие кадры индустрии, заинтересовать разработчиков, сориентировав их на интересный им тип работ— компиляторы, отладчики, ядро, драйверы, мультимедийные процессоры и т.д. Если убедить сообщество, что задача оптимальной загрузки многоядерного процессора— это «круто», то не будет никаких проблем с поиском адекватного решения. Сообщество разнородно, и в нем вполне могут быть и представители академических кругов, студенты и аспиранты, которым вполне по силам сложные задачи. Они в состоянии донести до программистских масс свой алгоритм, который в рамках сообщества Open Source будет, возможно, реализован эффективнее, чем самими авторами идеи. Если заинтересовать сообщество Open Source, создать инфраструктуру его взаимодействия с университетскими кругами и организовать распределенную разработку, то можно решить любую задачу.
Сколько стоят бесплатные программы?
Продукция сообщества Open Source бесплатна для вас, если бесплатно ваше собственное время. Время— деньги, экспертиза стоит денег, управление и развитие проекта— это тоже деньги. А раз так, на основе общедоступного программного обеспечения вы можете предлагать собственные решения, на которых и зарабатываете, например, создав какое-то особенное приложение или оказывая услуги по сопровождению интегрального решения.
Издание eWeek опубликовало список из пятнадцати наиболее влиятельных людей в мире Open Source, в котором, кроме Линуса Торвальдса, числятся директора Eclipse, Linux и Ubuntu Foundation, но нет вас...
На тринадцатом месте в этом списке— Джонатан Шварц, президент и генеральный директор Sun Microsystems, а на десятом— Мартен Микос, бывший руководитель MySQL AB, ныне входящий в состав правления Sun. Не думаю, что мне стоит огорчаться по поводу того, что меня в этом списке нет.