Александр Васильев: Чтобы противостоять федералам, мы должны сотрудничать

03.12.2021 03:49

Продолжаем делиться темами и докладами, вдохновившими нас на многие мысли и выводы на форуме Multiservice. Сегодняшнее интервью получилось после одного из самых ярких по форме и неординарных по сути около-технических докладов – из краткого рассказа Александра Васильева из Тамбовской "Ланты" о разработке комплексного решения для "умной" домофонии, которым компания решила поделиться с коллегами по цеху и всем миром через OpenSource. Мы решили, что 20 минут доклада – это слишком мало для полноценного раскрытия темы и предложили Александру расширить, углубить и добавить душевной отсебятины о продукте и таком неординарном (по крайней мере, для кабельного рынка), решении раздать все задаром.

Яна Бельская:  Итак, доклад был посвящен проекту Lanta под лицензией Open Source. Собственно, два вопроса: чем суть проекта и почему это круто?

Александр Васильев:  Если посмотреть на операторский рынок, есть операторы, у которых вообще нет своих разработчиков. Как правило, это маленькие операторы, и они пытаются все свои решения где-то заказывать, а чаще – покупать. Покупать в виде облачного решения, либо каким-то коробочным продуктом. И уже на их базе пытаются предоставлять свою услугу. Когда у таких операторов появляется много разных сервисов, у них появляется несколько разнородных продуктов. Для пользователя зачастую это разные приложения от разных разработчиков, а для оператора – это необходимость эти продукты связать между собой. Но так как у него нет своих разработчиков, он обычно не может их связать программно. В итоге это приводит к избыточному ручному труду, когда сотрудникам нужно работать в разных системах: абоненту нужно в этой системе одну услугу прописать, в другой системе – сделать что-то иное, а в третьей – вот это не забыть.

Есть иной путь, по которому обычно шли мы сами: оператор, у которого есть разработчики, и они какие-то продукты покупают, а какие-то делают сами. Мы берем продукт с программным интерфейсом, чтобы можно было его интегрировать в свои системы, чтобы выполнять поменьше этой двойной-тройной работы, и стараемся все собрать для клиента в одном операторском приложении. Например, личный кабинет абонента и просмотр камер видеонаблюдения можно собрать в одно приложение, а не в два разных.

Есть ещё более затратный путь – это то, что сейчас делают "Интерсвязь", "Уфанет" – совсем крупные операторы, которые говорят: "Мы всё равно для себя делаем эти сервисы, так давайте ещё сделаем так, чтобы эти же сервисы работали и у других операторов, а мы будем им продавать их.

Есть еще независимые компании на этом рынке, например, "Спутник", или "Росдомофон" – они вообще не операторы. Они, не имея собственной клиентской базы, просто взяли и создали облачный продукт только для других операторов. Они зарабатывают на его поддержке и развитии. При этом у них есть еще собственные "железки", помимо программного продукта. У "Спутника" уже целая линейка панелей, у "Росдомофона" свои коробочки.

Еще одна важная деталь. Я смотрю на рынок, на котором сейчас дефицит IT-кадров, приведший к росту зарплат. И у нас, и у наших коллег-операторов Сбер, Яндекс, mail.ru и т.п. переманивают разработчиков, платя им зарплаты в 2-3 раза больше, чем они получали у нас.

И что получается?

Вот на фоне всей этой ситуации мы катаемся по операторам, и к нам приезжают много операторов, мы обмениваемся информацией. И они говорят: "Мы вот это сделали, и вот это!" Я им говорю: "И мы тоже". – "Как так?" И выясняется, что мы в своих городах, областях все делаем одно и то же. Домофоны делаем, интегрируем системы быстрых платежей, разрабатываем личные кабинеты, преодолеваем какие-то препоны от государства, которые у нас возникают – то реестры запрещенных сайтов, то какие-то выгрузки. И мы все идем по одной дорожке – мы изобретаем велосипед…

  

Я. Бельская:  Разве не для диалога об этом была создана ассоциация "Ростелесеть"?

А. Васильев:  Да. И Ассоциация, на мой взгляд, это и есть сообщество, работающее по модели Open Source. На уровне идей и каких-то управленческих решений – то, что в головах у руководителей компаний, у менеджеров рождается – люди приходят сюда и бесплатно этим делятся.

Я. Бельская:  Но ведь вы выложили свой проект не только для членов ассоциации?

А. Васильев:  Это не столь принципиально на мой взгляд. Я думаю, что Ростелесеть это лишь удобная площадка для этого, но не единственная. Да и в приватном порядке, в рамках дружеских визитов операторы обычно охотно делятся своими наработками. Тот же Михаил Майоров [гендиректор интернет-кооператива ПЖ-19 из Таганрога], он не был членом Ассоциации, когда мы к нему приехали. Он все нам рассказал, и мы ему тоже все рассказали. И нам было неважно, член он ассоциации, или нет, – мы понимали, что он для нас коллега, единомышленник, и он нам не конкурент, и было не страшно ему рассказать все о своем бизнесе.

Я. Бельская:  Однако, выложив свое решение на открытую площадку, фактически Вы выложили его и для конкурентов. Вы же не можете решить, кто воспользуется, кто нет.

А. Васильев:  Да, это так, сейчас объясню, почему это не страшно. Когда читаешь книги о каких-нибудь пушкинских временах, смотришь спектакли – как у них классно: человек мог родиться при определенном наборе технологий, скажем, при свечах, и при нем же умереть, ничего не менялось, все ровненько. Никаких тебе переобучений не нужно, не нужно менять шаблоны, привычки.

Я. Бельская:  А сейчас прогресс шпарит и шпарит!

А. Васильев:  Да, у нас только одних технологий звукозаписи за мою жизнь сменилось – от грампластинки и бобин, кассет – что там еще было, я уж половину забыл. И с каждым шагом все дальше, все стремительней развивается. Люди не успевают научиться всем этим пользоваться, а оно уже устарело.

Я. Бельская:  И зачем эта гонка? Ну, это вопрос философский…

А. Васильев:  Никто ее специально не разгоняет – это конкуренция. Хочется быть лучше, повышать производительность труда.
Вот есть задача: чтобы росли доходы, надо повышать производительность труда. За счет этого ты внедряешь какие-то инновации. И с программными продуктами сейчас такая же ситуация вот в этой гонке, круговерти, что пока ты заканчиваешь дописывать свой продукт, он уже устарел, и, в принципе, уже можно создавать новый.

Я. Бельская:  А почему нельзя "допилить" старый?

А. Васильев:  Ну, "допиливать", скажем так, тебе его нужно непрерывно, постоянно. Нельзя закончить и сказать: "Все, я сделал, точку поставил, теперь буду только зарабатывать". Ничего подобного! Ты просто встаешь на путь постоянных улучшений, изменений. Ведь мир вокруг меняется, операционные системы меняются, выходят новые телефоны, новые гаджеты, новые технологии – то 3G, то 5G, то еще что-то. И постоянно нужно что-то делать, чтобы у тебя не ломалась совместимость твоего продукта с остальным миром технологий. А если этого не делать, то будет как с YouTubeкак на старых смарт-телевизорах, как только приложение снимают с поддержки, оно перестает работать из-за несовместимости с новыми версиями API.

То есть, нужно постоянно "допиливать". И поэтому не страшно всем этим поделиться – пусть заимствуют. Мне будет лестно, если наши конкуренты будут использовать наши наработки – это своего рода признание наших достижений. Наш софт – это лишь наш инструмент, каким мы формируем сервис для конечных клиентов. И я хочу, чтобы наш инструмент был самым лучшим.

Этого можно достичь лишь объединив усилия, переиспользуя наработки друг друга. Вот сейчас мы сидим, каждый в своей комнате, и каждый программист сидит и пишет что-то. Пишет и не знает, что где-то, возможно за перегородкой в соседнем офисе, сидит ещё с десяток таких как он, занятых тем же самым.

Я. Бельская:  Изобретают велосипед.

А. Васильев:  Именно! Эту метафору можно везде применять. Это ужасно нерационально. Просто дорогущий ресурс тратится очень нерационально. При этом рядом, через дорогу, у большого федерального конкурента нет этих перегородок, и разработчиков может быть в три раза меньше, но за счет отсутствия этих перегородок они не изобретают тридцать велосипедов, они все вместе изобретают один. Просто один делает переднее колесо, другой заднее, третий руль и так далее. Так как они работу поделили, и у них эффективность гораздо выше.

И если мы хотим противостоять федералам в конкурентной борьбе, мы обречены сотрудничать. Это просто лежит на поверхности. Дальше – еще круче.

Должен сказать, Open Source в мире очень популярен. Тот же Илон Маск не пошел по патентному пути, он все патенты открыл: "Ребята, вот я запатентовал и открыл, пользуйтесь, развивайтесь". Это вообще другой уровень ценностей для человека, когда им руководит не его собственный эгоизм – мол, "хочу быть самым умным, самым хитрым, чтобы в конечном счёте изо всех денег вытянуть". А посыл – "я хочу двигать человечество вперед", "хочу делать революционные продукты и двигать мир в будущее".

Я. Бельская:  Но при этом, если я правильно понимаю, вы же получаете какую-то обратную связь от других разработчиков, которые берут ваш продукт и дорабатывают его. Вы узнаете, какие интересные фишки они сделали с вашим продуктом, чтобы реализовать это у себя?

А. Васильев:  Тут нужно подробнее рассказать, как работает Open Source. Есть известный человек Линус Торвальдс (Linus Torvalds), который придумал Linux, его многие знают как автора Linuxи основоположника концепции Open Source. Но не все знают, что он также придумал систему контроля версий GIT – это как раз о том, как все эти изменения, разные версии от совершенно разных людей, вносить в общий код, чтобы все это во первых работало, и при этом в этом всём можно было разобраться и не мешать друг другу.

Если ты хочешь внести изменение, ты копируешь текущее состояние проекта, который постоянно меняется, что-нибудь дописываешь. Потом отправляешь pull request – то есть, отправляешь заявку на включение твоих изменений в основной код. Заявку рассматривают maintainer (это люди, которые курируют проект), модераторы проекта. Они проверяют, не ломает ли твоя доработка продукт, что это действительно хорошая вещь и совпадает с их стратегией, философией развития продукта, и говорят: "Да, отлично, мы включаем это в основной код. И дальнейшие изменения будем делать с учетом этой настройки, чтобы она тоже не сломалась. Теперь она включена в этот продукт".

А если твою доработку maintainer-ы завернули и сказали "нам это не нужно" или "это неправильно", всегда есть выбор – отпочковаться, сказать: "О`кей, я делаю свой проект, тоже Open Source, чтобы не нарушать лицензию, но с включением этих изменений". Это называется fork – "вилка". По сути разделение происходит на две альтернативных ветки. И здесь уже конкуренция идей начинает работать. Так называемое комьюнити – сообщество, те люди, которые разрабатывают продукт, начинают разделяться: "Да, кажется, тот человек был прав, и зря его завернули" и продолжают развивать альтернативную ветку или же наоборот: "Нет. Это направление не верное" и остаются развивать старую версию. И тут уже только здоровая конкуренция, само общество-потребитель выбирает, какой продукт ему использовать. И если вдруг какое-то комньюнити иссякает, то продукт умирает, а разработчики переключаются на развитие более жизнеспособного варианта.

Вот примерно так вся эта штука работает. Причем тут очень интересный момент: в системе участвуют очень много энтузиастов. Вообще весь мир Open Source разработки, наверное, складывается из двух когорт, первая – это коммерческие компании, которые благодаря этому Open Source продукту строят свой бизнес (то есть, он для них является инструментом заработка). Ну, вот мы, например, на чем зарабатываем? На оказании услуг домофонии, а продукт – это наше облако. Мы заинтересованы в том, чтобы он был совершеннее, круче, тогда он будет более конкурентоспособен, и мы сможем лучше конкурировать с теми компаниями, кто работает на иных домофонных платформах.

А вторая когорта – это конечные пользователи. Вот сейчас, если тебе нужно что-то "допилить" в закрытый продукт, – какой у тебя путь? Ты пишешь письмо: "сделай мне вот тут кнопку, хочу нажимать и получить вот такой эффект", или "вот тут у тебя ошибка – исправь". Или еще хлеще: "Я придумал классную фишку, она добавит новые возможности в твой продукт". И владельцы продукта уже решают, например – "да, хорошо, мы поставим в очередь в разработку". И потом сделают это руками своих разработчиков. В мире OpenSourceкроме этого пути есть и другой, когда если ты считаешь, что это прямо очень необходимо, и ты подкованный энтузиаст, то ты берёшь и делаешь это сам!

Я. Бельская:  Инициатива наказуема.

А. Васильев:  Ну это же классно! Во всех IT-компаниях – в хороших, правильных компаниях – на собеседовании у разработчика обычно спрашивают: "У тебя есть опыт контрибьюции в OpenSourceпроектах?" И если он есть, это прямо жирнющий плюс для любого разработчика. Это говорит о его уровне подготовки, и о том, что он не просто что-то там "кодит", а делает серьезные вещи, его принимает комьюнити, он умеет культурно писать код, читаемый код, который понятен другим разработчикам во всём мире.

Для продвижения своего продукта Lanta сняла вот такой коротенький рекламный ролик.

 

Я. Бельская:  Если вернуться к продукту – расскажите непосредственно о том, что вы предложили комьюнити.

А. Васильев:  Чтобы было понятно: просто продвинуть домофоный продукт, не было моей целью. Я в целом выступал за идею популяризации модели OpenSource. Мы хотели своим примером показать всем, что так можно и нужно делать, с надеждой, что нашему примеру последуют другие операторы.

Я. Бельская:  Сдвинуть ментальность?

А. Васильев:  Да, ведь все привыкли к принципу "это мое, я потратил столько денег, а у меня конкуренты возьмут и украдут". Я им своим личным примером показал – не бойтесь, давайте сотрудничать, давайте взаимодействовать. Смотрите, вот пример: мы выложили, и ничего страшного не случилось. Мы по прежнему работаем, хотя вон оно свободно лежит. Хотите – берите. Мы выложили туда мобильные приложения, выложили документацию и API, по какому нужно со стороны систем оператора с ними общаться, чтобы все работало. А еще мы выложили достаточно автономный модуль, который реализует распознавание лиц.

Я. Бельская:  Там нет базы данных с персональными данными?

А. Васильев:  Нет ничего такого. Это же нейронная сеть, предварительно обученная на миллионах лиц (в интернете сейчас много таких наборов доступно под свободной лицензией). Когда нейронную сеть обучают, ей показывают фото и объясняют, какие фото принадлежат одному человеку, а какие – разным. После обучения нейронная сеть будет на фото одного и того же человека выдавать какое-то числовое представление (на самом деле вектор). Причём для разных людей оно будет отличаться сильно, а для одного и того же – мало. А потом происходит "магия": показывают нейронной сети фото людей, которые она никогда не видела, и она продолжает также определять, какие из них принадлежат одному человеку, а какие разным.

И внутри всего этого тоже лежит Open Source движок Tensor Flow от компании Google. Они придумали классный движок, который реализует нейронные сети, другие ребята выложили набор обучающих данных, так что вы даже можете в принципе не заниматься обучением, а взять уже обученную нейронную сеть. А мы лишь упаковали эти нейронные сети в программный модуль, который детектирует контур лица, маску на лице, что актуально сейчас в пандемию, чтобы не разрешать пользователям добавлять лица, на которых есть маски. Мы сделали так, чтобы нельзя было добавлять лица с очками.

Я. Бельская:  Когда вы загрузили исходники в открытый доступ?

А. Васильев:  Когда я придумал эту идею, я с ней не спешил. Делился с коллегами, получал обратную связь, взвешивал все "за" и "против". И когда окончательно "созрел", сказал Олегу Грищенко [президенту ассоциации "Ростелесеть" и организатору форума Multiservice]: "Будет форум – может давай я про это расскажу". Он сказал: "Обалдеть, это революционно, давай!" и выделил лучшее время для выступления и максимальную поддержку, чтобы был полный зал. Сказал, "давай, это реально освежит всю конференцию – я даже хочу этим выступлением открыть конференцию, чтобы люди как можно дольше это обсуждали". За что я очень ему благодарен.

Я. Бельская:  Есть ли компании, которые уже воспользовались возможностью и взяли ваши разработки?

А. Васильев:  О, это очень комичная история. Когда мы начали, на меня вышли ребята, до этого вообще мне незнакомые, к моему стыду, хотя они тоже из ассоциации "Ростелесеть" – "Русская компания" из Тюмени. Я был сильно удивлен – для меня Тюмень казалась очень далекой. Теперь я понял, что Тюмень это очень крутой город, и я обязательно хочу туда поехать в ближайшее время.

Они вышли с предложением: "Александр, мы хотели делать все то же самое, уже были готовы заказывать приложение. Зачем нам и вам покупать одно и то же? Давайте мы поможем вам разделить расходы на эту разработку. На каких условиях вы готовы поделиться исходниками?" На тот момент я еще мыслил по-старому: "Я заплатил два с половиной миллиона, давайте я вам тысяч за столько-то продам, чуть-чуть отобью себе расходы". Я же понимаю, что пополам будет не честно, а всю кастомизацию дозакажете у ребят, которые нам разрабатывали, и получится дешевле. Они сказали "мы согласны" – и они купили.

И для Тюмени, хоть мы и не обязаны были это делать по договору, я продолжал делиться нашими доработками: "Раз вы у нас купили, вот свежие изменения".

А теперь получилось так, что мы выложили бесплатно, всё то, что они у нас год назад купили. Но, разумеется, они были первыми с кем я согласовал этот поступок, т.к. я понимал, что это теперь и их интересы также затрагивает. К моему счастью, они нормально отнеслись к этой идее и одобрили этот шаг.

      
Еще одна симпатичная реклама приложения Lanta
 
 

Я. Бельская:  После выступления на "Мультисервисе" были еще заявки, желающие подходили?

А. Васильев:  Да! Интерес есть, уже сейчас у нас в чате в telegram около 40 разработчиков из разных компаний, кто заинтересован в совместных разработках.

И вот, что нас еще сильно вдохновило на это – к нам приезжают гости, смотрят нашу домофонию, говорят: "Надо же! Мы перепробовали все, но это лучшее!" И нас заваливали комплиментами: "У вас классный продукт, мы тоже такое хотим". Почти сразу после Тюмени к нам приехал Powernetиз Волжского. Мы с ними дружим, и часто ездим друг к другу в гости…

Я. Бельская:  У меня вы даже как-то ассоциируетесь друг с другом.

А. Васильев:  А мы похожи, по выручке, по размеру городов, по штату…

Я. Бельская:  Нет – по внутреннему энтузиазму руководителей и отношению к своей компании.

А. Васильев:  Ну, да, мы яркие, энергичные, активные, неуставшие, согласен.

И вот приезжают они к нам, смотрят домофонию, распознавание лиц: "Как классно!" У них уже есть свое мобильное приложение, и они хотели бы в свое интегрироваться. А оно архитектурно совсем другое. Они говорят: "Мы понимаем, как это сделать, и нам очень нравится, как у вас работает распознавание лиц. На каких условиях вы готовы поделиться?" Я им говорю: "Ребята, вот с вас у меня рука не поднимается не брать ни копейки. Берите просто и делайте!" – "Как это? " – "А вот так!" – "Ну, мы тебя чем-нибудь отблагодарим, в долгу не останемся". – "Ребята, я вообще верю в круговорот добра в мире, даже если вернется, может быть, вообще не от вас".

Я. Бельская:  "Заплати другому"

А. Васильев:  Да! В общем, они весьма быстро все сделали. Их мало, но ребята у них очень талантливые. Мы чат в телеграмме создали, дали им исходники и документацию, и буквально через два дня – "ребята, у нас все получилось! Я смотрю в камеру – у меня лицо распознается – спасибо, все работает, все понятно".

Этот опыт общения с Тюменью и Волжским меня и подтолкнул идеи выложить это в Open Source.

И вот такие кейсы с "Русской компанией" и PowerNet – это здорово. Причем, когда я соединил между собой разработчиков из разных компаний, получилось такое классное общение, они там на своем языке разговаривают, начинают учиться друг у друга, им интересно, им хочется друг перед другом похвалиться успехами, показать себя умным – "посмотри, я вот тут разобрался", а где-то поучиться, получить совет.

И я вижу, что это здорово помогает мне, улучшает качество моей работы, и моим ребятам этого очень не хватает. В особенности числе тем, кто уходит в другие компании, крупные. Ведь им же всем, кроме денег важно, чтобы ещё и проект был интересный, и команда достойная. Вон у Илона Маска ракеты на Марс запускают – это же интереснее делать, чем автоматизировать рутинные процессы или платежи в биллинг прикручивать.

И вот здесь, мне кажется, мы и можем, объединив наши группы разработчиков, создать для них какую-то среду, где они могут общаться и обмениваться наработками. Мы можем попытаться для них создать иллюзию – да, впрочем, не иллюзию, а вполне реальность причастности к работе в большой IT-компании, такой компании, какой даже крупный федерал позавидует.

  
 
 

Я. Бельская:  И последний вопрос: в чём вообще преимущество использования продуктов с открытым исходным кодом?

А. Васильев:  В использовании продуктов с открытым API или исходным кодом я для себя вижу большой плюс в том, что я защищаю свой бизнес от следующих рисков:

1) поставщик решения резко пересмотрит схему лицензирования, стоимость обновления или необходимых доработок так, что конечная стоимость использования решения для меня станет коммерчески невыгодной;

2) поставщик изменит продукт неприемлемым для меня образом, например добавит туда интеграцию с конкурирующими со мной сервисами или идеологически чуждыми ценностям моей компании;

3) поставщик решения допустит утечку данных моих клиентов третьим лицам;

4) поставщика решения купит мой конкурент, чем получит несомненное преимущество в конкурентной борьбе со мной.

А в случае с решениями от компаний-страртапов это неизбежный исход, иначе это будет означать провал стартапа для его инвесторов.

В случае же закрытых решений от компаний-операторов, это также вполне вероятный сценарий, оглядываясь на то, сколько крупных операторов уже купили.

5) Закрытие поставщика решения в связи с банкротством или переориентацией на другой вид деятельности.

С открытым исходным кодом, у меня во всех этих случаях остаётся возможность самостоятельно или с привлечением сторонних специалистов продолжать поддерживать используемое решение, вместо того чтобы полностью менять решение на другое.

Я.Бельская:  Спасибо за интервью!

 

P.S. Связаться с Александром Васильевым можно через телеграмм.