OpenStack: Как не “наступить на грабли” OpenSource-бизнеса
Вы наверняка слышали, что недавно вышел новый релиз IaaS-платформы OpenStack — OpenStack 13 «Mitaka». Это хороший повод написать небольшой анализ-сравнение OpenStack с каким-нибудь более ранним проектом и выяснить, что же сделало OpenStack настолько успешным.
Идея этого поста — в одном из моих предыдущих переводов, где были перечислены проблемы, с которыми сталкиваются компании, пытающиеся вести бизнес на Open Source. А если точнее, о проблемах писал руководитель компании XenSource, и в первую очередь, про проект Xen. Там была такая фраза: «Если вы думаете, что это всё осталось в прошлом и сейчас уже не актуально, я вам скажу, что вижу похожую ситуацию, происходящую сегодня с OpenStack, и такое, вероятно, происходит со многими другими успешными open source проектами.»
Давайте посмотрим, о каких трудностях XenSource писал Питер Левайн (Peter Levine) и как с этим обстоят дела в OpenStack.
Я не буду упоминать технические сложности — они свои у каждого проекта и, скажу прямо, в основном о технических проблемах OpenStack я слышу почему-то от представителей EMC/VMware. ;-) Кстати, если вспомнить высказывания представителей VMware, они тоже проводили аналогии между OpenStack и Xen:
Рэгу Рэгурэм (Raghu Raghuram), исполнительный вице-президент VMware по облачной инфраструктуре и управлению, не так уверен в OpenStack.… Рэгурэм приводит пример — не так давно десятки компаний поддерживали Xen, open source гипервизор, но в итоге почти все переключились на KVM.… По словам Рэгурэма, есть два варианта развития событий. Или OpenStack, подобно Linux, станет общепризнанным стандартом, или пойдёт путём Xen.
Конечно, Рэгу Рэгурэм заметно «сгущает краски», не так уж все плохо было с Xen и в 2012 году, когда я писал тот пост, и сейчас тем более (о позитивных изменениях, произошедших с Xen я писал вот тут).
Но вернемся к теме поста. Питер пишет «я расскажу и про другие факторы, которые играют против «настоящих» open source компаний.» Так каких же проблем нужно опасаться, связываясь с бизнесом на Open Source?
1. Недостаточная поддержка ИТ-отрасли.
Широкая поддержка в ИТ-отрасли (подчеркну, что в том числе и среди производителей проприетарного ПО), наверное, является ключевым фактором успеха любого открытого проекта. Вот, что пишет Питер:
Но если компания не нанимает к себе на работу большинство разработчиков этого open source продукта, то высока вероятность того, что проект никогда не сможет набрать нужный темп разработки.
И действительно, Xen довольно долго набирал обороты в свое время. Вероятно, что это было связано не только с «молодостью» технологий x86-виртуализации, но и с нехваткой ресурсов — многие компании просто выжидали, когда проект «созреет», вместо того, чтобы вкладываться в разработку.
У OpenStack с этим не было проблем — проект быстро набрал участников, которые активно развивали проект. OpenStack заслуженно называли «самым быстрорастущим открытым проектом» — на рисунке выше данные 2013 года, (а вот тут актуальный на сегодняшний день список компаний). Хочу отметить, что активным участием в OpenStack многие компании занялись ещё до формирования OpenStack Foundation. У такой широкой поддержки, конечно, были свои причины, но не будем сейчас останавливаться на них.
2. «Расщепление» проекта.
В предыдущем пункте я написал, что немногие компании горели желанием включаться в проект Xen, но даже те из них, кто что-то делали, ничего не возвращали в основной публичный репозиторий (Upstream). Вот что пишет Питер на этот счет:
Кроме этого, риском является то, что другая компания может решить создать форк вашего продукта.
И чуть ниже:
Усугубляется положение тем, что чем успешнее open source проект, тем больше крупные компании хотят самостоятельно управлять кодовой базой. Я сам столкнулся с этим, когда был CEO в XenSource — многие крупные игроки ИТ-рынка заимствовали нашу кодовую базу, а мы не получали взамен никакой выгоды.
Поправьте меня, если я ошибаюсь, в то время было два основных ИТ-игрока, которые специализировались именно на Xen — это компании XenSource и VirtualIron (вторая была поглощена корпорацией Oracle в 2009 году, и с тех пор продукт не развивается и не поставляется заказчикам.)
Но кроме этого, были продукты Sun xVM, Oracle VM, ну и конечно Xen в составе дистрибутивов Linux, среди которых RHEL и SLES. Эти компании слабо координировали разработку между собой, т.к. были прямыми конкурентами. И вместо объединения усилий по разработке получалось распыление сил.
Обратите внимание — главное преимущество модели Open Source, которое заключается в возможности объединить ресурсы компаний, в которых работают лучшие специалисты ИТ-индустрии, не сработало в случае XenSource. Только после передачи Xen «под крыло» LinuxFoundation в 2013 году, появился основной публичный репозиторий (Upstream), который не зависел от коммерческих компаний, но ценное время уже было упущено…
А как с этим в OpenStack? Первоначально, у проекта OpenStack тоже были признаки похожей проблемы, но тут есть два существенных отличия. Первое заключается в том, что основатели OpenStack — NASA и Rackspace не зарабатывали деньги именно на продаже ПО OpenStack. (Заметили, как «торчат уши» платформы, о которой говорит Питер Левайн?). А второе отличие в том, что в 2012 году было образовано OpenStack Foundation и именно это, на мой взгляд, помогло превратить компании из конкурентов в единомышленников.
Посмотрите на картинку выше, у OpenStack действительно есть много разных дистрибутивов (верхний левый угол). Но это именно дистрибутивы, а не форки проекта OpenStack и это очень важное отличие. Хотя надо признать, что в плане извлечения прибыли, наличие большого числа конкурентов это, конечно, минус — вероятность того, что выберут именно ваш дистрибутив многократно уменьшается, когда на рынок выходят компании, с известным брендом, большой историей успешных проектов и хорошим каналом продаж. Вот и среди участников OpenStack Foundation бывают конфликты на этой почве:
Red Hat начала сотрудничать с Mirantis, но последняя никогда не обещала использовать только RHEL. В июне 2014 г. она заявила о сотрудничестве с Canonical, намереваясь на базе Ubuntu создать свой собственный дистрибутив OpenStack. Ответная реакция Red Hat не заставила себя долго ждать: Red Hat решила прекратить поддержку RHEL в дистрибутиве OpenStack от Mirantis.
3. Слабая управляемость разработкой.
Это самое «больное место» всех открытых проектов. OpenStack, конечно, это не «небольшой коллектив», но для OpenStack данный фактор так же актуален, как и для Xen:
И еще один аргумент — для небольшого распределенного коллектива разработчиков очень сложно определить грань между контролем стабильности кода и активной разработкой.
У XenSource довольно долго были проблемы с включением их патчей в основную ветку ядра Linux, что приводило к усложнению процессов установки и обновления. (Кстати, об этом писали в комментариях к посту-переводу).
Этот фактор, еще больше предыдущего проявился в OpenStack. Было множество разговоров о том, что OpenStack погубит его собственное сообщество и о том, что проблемы управления платформой остаются актуальными. На хабре есть отличная статья на эту тему, процитирую маленький кусочек из неё:
Поэтому, несомненно, круто ругать OpenStack и говорить, что «что-то обязательно нужно сделать», чтобы изменить проект. Но факт в том, что OpenStack пройдет через этот «трудный подростковый» период, когда он еще неуклюж и когда старшие думают, что «кто-то должен взять мальчика за руку». Можно ли усовершенствовать нынешний процесс? Безусловно. Но сообщество может сделать это самостоятельно, без того, чтобы «папа» (или «мама») говорили ему «прибраться в комнате».
Думаю, что именно из-за этих проблем с управлением, в свое время отношение Citrix к OpenStack менялось от полной вовлеченности до абсолютной отстраненности. И кстати, на прошлой неделе был ровно год с тех пор, как Citrix вернулась к активной работе с OpenStack. Но история взаимоотношений Citrix и OpenStack заслуживает отдельного поста, когда-нибудь я обязательно его напишу.
А c какими ещё трудностями сталкиваются OpenSource-компаний?
Итак, можно сделать вывод, что те препятствия, о которых писал Питер Левайн были в той или иной степени устранены благодаря созданию OpenStack Foundation и более тесному взаимодействию компаний, участвующих в проекте.
Я описал три препятствия, с которыми сталкиваются компании, пытающиеся вести бизнес, связанный с Open Source. Возможно, к ним стоило бы добавить «Недоверие к открытому ПО среди руководства компаний-заказчиков», но думаю, что это препятствие уже в прошлом. Или нет? Как вы считаете? Пишите в комментариях другие трудности, с которыми сталкиваются OpenSource-компании, обсудим. ;-)