Logo
Cover

Открытое ПО все активнее используется в крупных проектах не только за рубежом, но и в России. Почему за открытым ПО будущее IT-индустрии, как оно помогает найти отличную работу и с чего можно начать, чтобы присоединиться к сообществу мы поговорили с одним из ведущих архитекторов компании «Ростелеком Информационные Технологии» Анатолием Макаровым.

Анатолий начинал свой путь в банковском секторе. Участвовал в реализации технически сложных, высоконагруженных и распределенных систем для таких компаний, как «Банк Москвы» и «ВТБ». Прошел путь от разработки до управления командой. Дальнейшая карьера оказалась связана с крупными проектами федерального масштаба. Благодаря своему опыту и знаниям он был востребован уже как архитектор на проекте по трансформации и созданию обновленной государственной системы «Росреестр». На данный момент Анатолий занимает должность ведущего архитектора в компании «Ростелеком Информационные Технологии», где разрабатывают сразу несколько крупных и стратегически важных для компании проектов — платформу облачного видеонаблюдения, платформу «Умный Дом» и платформу «Ключ».

— Как ты оказался связан с программным обеспечением с открытым исходным кодом?

— Я всегда интересовался ПО с открытым кодом и во многих случаях принимаю решения использовать такие продукты в производственных системах. Так, например, в своих рабочих проектах я успешно применяю PostgreSQL, Cassandra, OpenShift, Docker, Kubernetes от компании Google, и являюсь экспертом по многим продуктам компании Red Hat и их открытым веткам — Ceph, Gluster, Ansible. Сейчас интерес и просто применение таких инструментов сменились полноценным участием в создании открытого кода и собственными разработками. Так, многие знают меня как создателя открытой платформы для массивной обработки потоковых данных, где мы решаем задачу по анализу большого объема географически разнесенных данных и максимальной утилизации имеющихся ресурсов.

— А как вообще совмещается open source разработка и традиционный подход в крупных компаниях?

— Сейчас все больше компаний начинают задумываться и по-другому смотреть в мир открытого сообщества и свободного ПО. В конечном итоге это становится выгодно всем. Большинство решений, которые я успешно реализовал — от систем банковского межфилиального обмена до создания высокопроизводительного кластера обработки потоковых данных — построены полностью на свободном ПО. И все только выигрывали от такого решения: бизнес — на стоимости владения конечным продуктом, а открытое сообщество получает новых участников и рост распространенности технологии. Зачастую приходиться решать очень инновационные и нетривиальные задачи, промышленных решений для которых пока не появилось, даже платных. Поэтому очень активно создаем свои, дорабатываем и переиспользуем открытый код, возвращая его обратно сообществу.

— Вся область open source оказывается под вопросом, когда речь заходит о безопасности. Не то чтобы все проприетарные продукты были безопаснее, но, когда это касается open source, безопасность становиться проблемой. Согласен?

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

Сегодня вы перестали следить за обновлениями open source продуктов, которые используете, — завтра вас взломали. И каждый раз это происходит только потому, что вы решили, что и так сойдет, и давно не обновлялись. Пока вы ленились, найденные новые уязвимости были использованы против вас. Ведь идеального кода не существует — нет его и ни у кого и из проприетарных проектов. Дыры находят везде. Если вы не применяете исправления безопасности, вы неизбежно становитесь мишенью.

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

— Стоит ли вообще заниматься опенсорсом?

— Если хочется быть первым, иметь технологическое преимущество и скорость, то однозначно стоит. В опенсорсе лидеры очень подкованы, у них всегда есть чему поучиться. Опенсорсные решения проверены большим количеством людей и проектов, где они применяются, и у них огромный образовательный потенциал.

— К каким проблемам надо быть готовым?

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

— Помогает ли опенсорс найти классную работу?

— Несомненно. Вы это можете проследить по моему опыту. Сейчас после нескольких лет коллаборации с open source, поступает много предложений о работе не только из России, но и стран Европы и США.

— Ты часто выступаешь на конференциях как докладчик. В чем польза этого?

— Ну, во-первых, мне нравится. Интересно общаться с людьми, делиться с ними своим опытом. В свое время я сам узнавал очень много нового именно благодаря открытости других разработчиков, их готовности делиться знаниями. Конференции являются одним из основных источников информации, особенно то, что происходит в кулуарах. Ну и заведенные там знакомства очень помогают в работе — например, когда нужно получить ответ на очень профильные вопросы. Еще профит в предложениях крутых проектов, в новых контрибуторах. Участие в таких мероприятиях способствует распространению опенсорса, многие люди начинают втягиваться в совместную работу, развивается индустрия в целом.

— Что ты думаешь о программных продуктах с открытым исходным кодов в целом?

— Я верю в open source. Я думаю, что open source — это лучшая модель разработки. Я думаю, что решения на базе открытого исходного кода могут сильно менять индустрию и технологии в целом. Я думаю, open source может быть очень значимым. Это доказал пример Linux. С другой стороны, у индустрии есть постоянный спрос на проприетарные решения, и они всегда будут существовать, особенно в некоторых нишевых областях.

— Тем не менее, доля open source на рынке очень мала. Что именно мешает росту технологий в этом секторе?

— Три сдерживающих фактора — технологический, юридический и психологический.

Во-первых, есть большой спектр ПО, где уровень свободного программного обеспечения не дотягивает до промышленного уровня.

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

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

— Что мешает развитию свободного ПО в России?

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

— Что посоветуешь тем, кто хочет попробовать свои силы в open source разработке?

— Самая распространенная ошибка — выложить какой-то полезный код, но никому об этом не сказать в надежде, что ваше решение само пробьет себе дорогу. Так не бывает. Чтобы ваша работа была проделана не зря, люди должны узнать о ней, что есть такое решение. Если хотя бы пару дней потратить на пиар, написать пост на Реддит, на Хабр, то люди придут и проект заживет своей жизнью. Если же ваша задача получить опыт, чему-то научиться, то лучшая школа — присоединиться к уже существующим проектам.