Всего пару дней назад, 26 октября 2024 года, мы отметили 2 года с момента первого релиза опенсорс версии веб-сервера Angie. Кажется, что именно сейчас наиболее уместно поговорить с вами о том, почему идея заработать на опенсорсе в России оказалась «так себе идеей». И почему мы, тем не менее, от развития опенсорс версии Angie не отказались. И не откажемся.
Часть 1. Ретроспективная.
В 2022 году американцы из F5 приняли решение закрыть российский офис NGINX, который, собственно и занимался разработкой опенсорс версии nginx. Команде предложили релокацию, кто-то согласился, но большая часть сотрудников решила остаться в России. Сегодня они - костяк команды Angie, но весной 2022 года они все одномоментно оказались безработными. Встал вопрос - что дальше. Ну и так вышло, что этим «дальше» оказалась разработка Angie.
Сперва мы хотели, конечно, продолжить разрабатывать nginx, но название с 2019 года принадлежит компании F5, как и полный контроль над репозиторием проекта, поэтому пришлось придумывать новое, созвучное название.
К осени 2022 года, когда Angie уже зарегистрировали под продающим названием ООО «Веб-Сервер» (оцените же оригинальность!), было ощущение, что все получится. Команда в NGINX была и правда блестящая, умелая и сработанная. Но что именно надо сделать, чтобы «все получилось», было совсем не очевидно. Идея «делаем опенсорс + продаем техподдержку», которую взяли на старте за гипотезу, откровенно не собиралась взлетать. На нас посматривали с плохо скрываемым скепсисом - «ну они же сейчас развалятся, на что они рассчитывают».
Разваливаться мы не собирались и активно искали, где бы заработать.
Друзья, тут мы прервемся на секунду и отдадим должное очень важным ребятам. В 2023 году нашим первым коммерческим клиентом стал ФГБУ «Федеральный центр охраны здоровья животных» - кратко ФГБУ «ВНИИЗЖ». Парни, если вы это читаете, знайте, мы вам очень признательны. Вы стали первым лучиком надежды - радости команды не было пределов - нас, наконец, кто то покупает! Всего год спустя у нас уже десятки крутейших клиентов, но ребята из ВНИИЗЖ занимают в этом списке почетное первое место. Спасибо вам!
Спасли компанию заказчики из Китая, которые пришли к нам с просьбой помочь им доработать функционал nginx. Мы договорились, что все, что мы разработаем для них, сможем выложить в опенсорс версию Angie. Так наша компания получила первый стабильный ручеек денег. Но с самого начала сотрудничества с Китаем было понятно, что такое необычное сожительство не продлится вечно, а денег, которые мы зарабатывали в России, все еще не хватало.
В этот момент нам сильно помогли советом коллеги из Postgres Professional - одной из самых успешных компаний-вендоров на российском рынке. Они буквально указали нам путь, который позволил заработать первые деньги уже в России. В итоге нам пришлось быстро переобуваться, разрабатывать дополнительные функции в рамках Angie PRO и продавать его за денежку, а потом и вовсе бежать в сторону создания балансировщика и все новых партнерств. Собственно, уже тогда стало очевидно, позволить себе в России амбицию развивать свой опенсорс - внимание! - не просто присоединение к мировой ветке, а развитие собственного проекта, как, к примеру, тот же nginx или ClickHouse - могут только те, у кого есть уже какой-то заработок.
Опенсорс похож на очень долгий добровольный контракт с неограниченным кругом лиц. Вы должны всем, вам - никто. Да, это правда особе чувство, когда твой продукт приносит пользу людям по всему миру, да и вообще полезно, когда с вашим творением знакомятся через опенсорс версию, вы получаете обратную связь и т.п. Но денег от этого на короткой дистанции получить невозможно. Сам по себе даже опенсорс nginx, который 4 октября 2024 года отпраздновал свое 20-летие, вплоть до продажи в F5 в 2019 году денег своим создателям не приносил. Компания зарабатывала на чем угодно, кроме опенсорса.
Вывод: заработать на развитие опенсорс проекта можно только если ты вкалываешь за 2-их. За себя и того парня.
Часть 2. Импортозаместительная.
Как еще можно заработать на опенсорсе? В теории, можно было бы получить грант от государства. Оно же, по идее, должно быть заинтересовано в развитии реального рынка вендоров, а создавать опенсорс проект другие и не способны. Не так ли?
В 2022 году государство в Росиии поддержало разработчиков налоговыми льготами (за что ему спасибо!), а вот с задачей прямого финансирования справилось куда хуже. Большая часть разработчиков денег никаких не увидела, что, впрочем, может и хорошо. Иначе был большой риск того, что их получил бы кто угодно, кроме тех, кто может быть по-настоящему полезен индустрии. Дело в том, что импортозамещение, благодаря которому мы вообще то смогли собрать компанию, породило целый набор проблем, с которыми ранее ни рынок, ни чиновники не сталкивались.
После 2022 года все бросились форкать все подряд - иногда просто переклеивая шильдик и впаривая потребителям всякую дичь под видом оригинального продукта. Проблема таких поделок общеизвестна и тем из вас, кому охота посмотреть на крайние формы этой истории, советуем заглянуть в Реестр российского ПО в раздел баз данных. Там на пальцах одной руки можно посчитать тех, кто действительно создает ценность для рынка, остальные просто на этом рынке паразитируют. Аналогичная история в России сложилась с операционными системами и прочим софтом. С тем, что у нас ни рынок, ни регуляторы не научились отделять одно от другого, можно нас только поздравить.
Еще одной проблемой здесь стали компании, которые исторически выступали на рынке как заказчики, но тоже зачем то вдруг ставшие играть в вендоров. Тащат они к себе в норку опенсорс, обносят его забором и сертификатами, меняют 2 строчки, и либо пытаются продавать эту поделку внутри, либо идут с ней на рынок. Такие стратегии приводят к тому, что все - от специализированных вендоров и до больших экосистем - тратят кучу ресурсов. Нормальные вендоры недополучают денег, а рынок и внутренняя инфраструктура больших игроков наполняются решениями уровня «тяп-ляп». Ну а сбоку на этом празднике тщеславия и жадности сидишь ты, делаешь этот самый свой опенсорс, тратишь на него деньги и силы, а потом смотришь вот на такие вот упражнения в ИТ недрах наших толстосумов. Нет-нет, да и пробежит в голове мысль - что ты добровольно подрабатываешь бесплатным донором мозга для таких вот ребят.
Есть, конечно, гипотеза, что конкуренция весь мусор из Реестра вычистит, ну а пока, когда вам будут рассказывать о нехватке айтишников в стране, вспомните про 80 разработчиков баз данных в реестре ПО. Интересно, куда все эти айтишники делись? Возможно они за приличную зарплату пилят очередной плохонький клон все того же PostgreSQL или nginx? Сомнительно, но ОКЭЙ.
Вывод. Если бы государство начало раздавать деньги на развитие «опенсорс-проектов» - раздали бы не тем. И не на то. Или не раздали. Кстати, так и вышло!
Часть 3. Наивно-гипотетическая.
Есть ли другие способы создать в России продукты с открытым кодом? Вероятно, да. Жизнеспособны ли они - вопрос.
К примеру, в 2022 году в Angie царила довольно таки наивная гипотеза, что три-четыре российских крупных компании, которые сейчас увлеченно тратят кучу денег на свои форки nginx и прочее свое, могли бы за половину\треть своих бюджетов на эти форки поддержать нас, создать общий фонд, а мы бы с радостью перевели всю разработку веб-сервера полностью в некоммерческую плоскость и работали бы для всех. И это было бы круто и для российского, и для мирового рынка. Чет подобное мы видели, к примеру, в Китае. Но у нас ни рынок, ни государство такие вещи решить не смогли. В итоге мы по прежнему делаем свой продукт сами, продаем его, уже сделали пару-тройку новых продуктов, нашли крутых партнеров, а ребятки в стеклянных башнях по-прежнему пилят свои форки. Кривые руки и некомпетентность коллег, впрочем, нам скорее в руку.
Вывод: мечтать не вредно)
Часть 4. Конкурентноспособная.
Сегодня, в 2024 году, отвечая на вопрос - а вы все еще про опенсорс - мы все так же говорим - да.
Мы понимаем, что основной доход нам будут приносить система балансировки ADC и другие продукты. Но еще тут спортивный интерес - шанс догнать и обогнать самих себя. Ведь с 2022 года nginx для нас не только часть собственной истории, но и конкурент.
В мире около 100 веб-серверов. Сегодня nginx на первом месте, мы - подбираемся к 25-му. За последние полгода, с момента, как мы начали замерять себя, Angie подрос в мировом рейтинге веб-серверов на 15 позиций. Задача - добраться в следующем году как можно ближе к первой десятке, где живут веб-сервера с долей мирового рынка от 0,1%. Там то и начнется настоящая конкуренция.
Цель амбициозная, но мы искренне считаем, что Angie может дать фору не только другим форкам, но и самому nginx. В год мы выпускаем больше 50 новых функций, тогда как nginx - 10, а наш бэклог забит на год вперед. И вообще, попомните наше слово, этим парнем мы еще все будем гордиться.
Часть 5. Политическая.
Могли бы мы работать по принципу "коммитим в основную ветку, а зарабатываем на доработанных\сертифицированных версиях и техподдержке"? Да, но такой путь нам отрезала политика.
С 2019 года nginx, перейдя под крыло F5, начал тормозить в развитии. Отчасти это связано с тем, что компанию покинули практически все основные разработчики опенсорс версии веб-сервера. В 2022 году из проекта ушел Игорь Сысоев, в том же году больше половины разработчиков перешла в Angie, а еще год спустя от поддержки опенсорс версии отказался из-за конфликта с F5 еще и один из самых опытных разработчиков - Максим Дунин (и сделал еще один форк - freenginx).
Российскую часть истории nginx и eго российских разработчиков стали потихонечку вымарывать из истории продукта. В итоге в постах в блоге на 20-летие nginx (отпраздновали 4 октября 2024 года, кстати) вы не найдете упоминания того, что с 2011 года одним из основным разработчиком сперва nginx, а потом NGINX Unit, был соучредитель Angie Валентин Бартенев. Не найдете и упоминания других наших коллег, трудившихся в российском офисе. До кучи F5 запретила своим сотрудникам общаться с нами, наши коммиты в основную ветку проигнорировали, а сама компания начала рассказывать в своем официальном блоге, как, к примеру, она с воодушевлением помогает своим сотрудникам в их стремлении повоевать с русскими на Украине. F5, конечно, стыдливо потерла эту ссылку с сайта. Но Интеренет все помнит.
Все это, кстати, не мешает нашим американским друзьям из F5 отгружать в Россию свои продукты по параллельном импорту. Если я этого не вижу, то ниче ж страшного, да?
К слову, тем из вас, кто использует nginx и продукты F5 в критической инфраструктуре (а вас пока еще очень много), стоит обратить внимание на вот этого симпатичного дедулю из ЦРУ. В блоге F5 он, еще вчера вербовавший уборщиков для сбора корпоративных секретиков в интересах разведки США, с энтузиазмом рассказывает, как интересно ему анализировать ту информацию, которую вы гоняете через продукты F5. Новый уровень искренности. И это, коллеги, учите английский и читайте что ли про те продукты, которые вы покупаете. Иногда и среди официоза можно найти много интересного.
Выводы: стратегия «make nginx great again» оказалась не лишена смысла.
Часть 6. Оптимистическая.
С момента релиза Angie прошло 2 года - полет кажется, наконец-то нормальный.
Сегодня с нами работают ребята из NGINX, Get Taxi, Сбера, Касперского, Рамблера, Моего Офиса, Ламоды, Ernst&Young и других крутых компаний. И даже преподаватель МФТИ! Всем нам комфортно под одной крышей. Вместе мы постоянно растем, беремся за самые сложные проекты и не боимся облажаться. Кажется, что команда Angie состоялась. И разделяет единственную ценность, которая важна, чтобы делать хорошее дело вместе - интерес к тому, чем мы заняты.
А дальше? А дальше — все будет хорошо)
В 2025 году мы выпустим на рынок несколько крутых продуктов, переедем в офис получше, откроем набор на первую программу оплачиваемых стажировок для талантливых ребят со всей России, запустим свои образовательные курсы, и, если хватит сил, то проведем первую конференцию для клиентов и разработчиков. И вообще будем чаще общаться со своими пользователями и клиентами. И будем, как и последние 2 года, дальше пилить опенсорс.
Спасибо, что вы с нами :)
(c) Антон Ключкин, соучредитель
Комментарии (26)
mclander
28.10.2024 10:02F5 - это крутейший фотоаппарат от Никона, лучший в истории. Плёночный
// Игра в ассоциации
domix32
28.10.2024 10:02А вы все ещё придерживаетесь принципа zero bug tolerance?
VBart
28.10.2024 10:02Придерживаемся.
Ошибки - это всегда неприятно и требуют исправления. К сожалению, не все ошибки в nginx можно легко исправить, некоторые из них имеют архитектурную природу. Но благо, как правило, такого рода ошибки не являются критичными.
RS6
28.10.2024 10:02Круто! А можете рассказать, как вы находите клиентов? Или как они вас находят? Я так понимаю, это основная проблема, с технической стороны для вас всё знакомо и понятно.
zaurio Автор
28.10.2024 10:02Если совсем коротко – то благодаря вам. Тем, кто про нас узнает, рассказывает коллегам.
После этого к нам приходят познакомиться, попробовать на пилотных проектах, и уже далее масштабируемся. Сарафанное радио.
Клиенты в поисках продуктов, которые решают задачи в инфраструктуре.
Есть еще целый пласт задач балансировки, который закрывался западными вендорами (так называемые системы балансировки, ADC). Прямой замены нет, но есть возможность уже сегодня решать часть задач. Соответсвенно приходят, спрашивают. Мы что-то кладем в дорожную карту, оно появляется оперативно – народ это ценит и мы переходим к коммерческой части.
Совсем копьё – это замещение Nginx Plus. Даже смешно.
Холодными продажами не занимаемся.
Клиенты уровня big tech компаний – сами себе инженеры. Свои свечные заводики (ну ок).
Выступаем на конференциях. В этом году два доклада на HighLoad:
Запуск приложений из Angie https://highload.ru/moscow/2024/abstracts/13181
Поддержка WASM https://highload.ru/moscow/2024/abstracts/13031
В общем по старинке – если инженеру заходит – тогда есть интерес.
GEMOzloBIN
28.10.2024 10:02Запуск приложений из Angie https://highload.ru/moscow/2024/abstracts/13181
Будет аналог Nginx.unit?
VBart
28.10.2024 10:02С точки зрения возможностей запуска процессов приложений - да. Производительность предполагается даже выше чем Unit отдельно и заметно выше, чем связка nginx+unit или любая другая комбинация с ним.
Newkid
28.10.2024 10:02Не совсем понимаю вашу релизную политику, у nginx нечетные релизы 1.хх это разработка, четные 1.хх это стабильные, а у вас как?
VBart
28.10.2024 10:02У нас SemVer по сути, т.е. 1.X.Y, где X обозначает основные обратно совместимые релизы новой функциональности, а Y - багфиксы. Стабильной и актуальной является единственная самая последняя версия на момент времени (на момент написания этого комментария - это 1.7.0).
Не стоит обманываться названием "стабильной" ветки nginx. Это просто неудачное название для legacy-ветки, из-за которого в своем блоге компания постоянно пыталась объяснять что "We generally recommend using the mainline branch". Стабильность стабильной ветки заключалась лишь в том, что это была замороженная на год произвольная версия, что давало время сторонним разработчикам адаптировать свой код, а тем, кто вынужден эти модули использовать - получать портированные из основной ветки исправления критических ошибок (где эти исправления появлялись одновременно или даже раньше).
Какой-то особой стабильности с точки зрения пользователя - там не было и не могло быть, поскольку она рождалась в результате ежегодного ритуала, когда просто текущий "mainline" релиз становился "stable", но в нем точно также содержались, как довольно старые фичи, добавленные год назад, так и самые свежие, добавленные только в последних версиях. В действительности, нечетные релизы зачастую были более стабильны просто за счет того, что там было больше актуальных исправлений и появлялись они раньше.
Поэтому всем рекомендовалось использовать именно нечетную ветку, если только у вас нет зависимости от какого-то стороннего модуля, который может сломаться. Более того, коммерческая версия NGINX Plus выпускалась на базе именно mainline ветки.
В сухом остатке - все релизы nginx - это стабильные релизы. А четные - это просто замороженные версии с возрастом от 0 до года.
У нас такой нужды в legacy-ветке нет, т.к. большинство популярных сторонних модулей мы собираем сами в своем репозитории под практически все мало-мальски популярные дистрибутивы и, при необходимости, сами их патчим.
dmitrykabanov
28.10.2024 10:02С Днем! Душевный пост. Про дедулю — даже не удивился бы, если все правда так
eigrad
28.10.2024 10:02Сделайте service mesh простой и понятный и отвязанный от кубера, пока на envoy таких нет.
achekalin
28.10.2024 10:02Вот одна штука бы очень была в тему: чтобы впш сервер искал конфиги как в /etc/angie, так и в /etc/nginx
Потому что у вас хоть и drop-in замена, а вот сотни и твсячи скриптов, уже работавших с nginx, переделывать как-то кисло. Да, можно сделать симлинк, но лучше иметь два поддерживаемых каталога.
Wernisag
28.10.2024 10:02Это разве нельзя решить директивой?
include /etc/angie/http.d/*.conf;
include /etc/nginx/conf.d/*.conf;
VBart
28.10.2024 10:02При запуске всегда можно передать опцию
-c
и изменить путь к конфигурационному файлу.achekalin
28.10.2024 10:02Да там и симлинка хватит, с одного на другой, я же про то, что для идеального drop-in было бы хорошо прозрачно поддерживать оба каталога. Тогда снес nginx, накатил ваш сервер - а все по прежнему работает!
VBart
28.10.2024 10:02Или не работает, если есть какие-то конфликты или загружаются какие-то модули (модули от nginx не могут быть загружены в Angie, а пути к ним указываются в конфигах).
Как раз идея была в том, что не нужно сносить и останавливать nginx, а переход осуществляется плавно, предварительно протестировав и убедившись, что всё работает - уже далее переключать обработку запросов с nginx на Angie, сохраняя возможность в любой момент откатить обратно, если что-то пойдет не так.
Текущий подход позволяет мигрировать сохраняя конфигурацию nginx в первозданном виде и не удаляя его модулей из системы.
alextradex
28.10.2024 10:02а в функционале имеется (или планируется) ли что-то типа cloudflare - защита от ботов, парсеров? мне кажется популярность взлетела бы до небес в масс-сегменте, особенно, если политический джинн заблокирует себе cloudflare
zaurio Автор
28.10.2024 10:02Компания Cloudflare предоставляет пользователям сервис, на базе ряда ПО. То есть у них есть физическая инфраструктура, которая обрабатывает пользовательские запросы, в некоторых сценариях, пропуская запросы через свои системы балансировки.
У нас веб-сервер, это ПО, которое может быть использовано в таких сервисах как Cloudflare, Yandex Cloud, RU-Center hosting, и тд
Мы, как компания, пока планируем остаться вендором ПО, заниматься только разработкой приложений в области сетевого стека. Собственно благодаря встроенным инструментам, или сторонним модулям (тот же mod security), часть запрашиваемых задач уже можно решать
Поддержка же инфраструктуры, SAAS сервисов, пока не в планах. Хотя мы не скрываем, что думаем про это.
Пока кажется, что бизнес план не сойдется, если делать сервис.
Мотивация очень простая: платежеспособные клиенты предпочитают приватные облака, развернутые на своих площадках таким сервисам.
Zeroxzed
28.10.2024 10:02У вас очень хороший продукт. Уже сейчас заметно, что по возможностям open source версия опережает оригинальный Nginx. Интересно будет посмотреть на обучение, которое планируете запустить.
zaurio Автор
28.10.2024 10:02Курс на Otus уже запущен https://otus.ru/lessons/angie/
Zeroxzed
28.10.2024 10:02Я думал, вы имели ввиду свои курсы как вендора с сертификацией после обучения. А это просто одна из многочисленных онлайн школ. Такой курс кто угодно может записать и продавать.
zaurio Автор
28.10.2024 10:02Этот курс создавался с нашим участием. Задача была – сделать именно обучающий материал. Там он собран в том числе после консультаций с нашими инженерами.
Обучающий курс по системе балансировке (Angie ADC), будет уже и с обучением, и с сертификатом, и, надеюсь, с лабораторными стендами для потрогать руками.
Делать "сертификат от вендора" для Angie PRO – пока не востребовано. Для ADC – другое дело
pocoZ
Всех благ!