СПО сегодня развивается очень широким фронтом

Как избежать ошибок при портировании проприетарного ПО на Linuх?
СПО сегодня развивается очень широким фронтом

Один из ярко выраженных трендов на ИТ-рынке – миграция на свободное программное обеспечение (СПО) и перенос отечественными вендорами программных приложений на платформу Linux. Первые проекты показали, что без трудностей не обойтись. О том, как избежать основных ошибок при портировании проприетарного ПО на платформу Linux, корреспонденту MSKIT рассказал Алексей Смирнов, генеральный директор компании «Базальт СПО» (компания-разработчик семейства операционных систем АЛЬТ). 

Алексей Владимирович, миграция на СПО – это общемировая тенденция? С чем она связана? 

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

Развитие свободного ПО – это действительно общемировая и очень динамичная тенденция. Показательно, что ведущие мировые фирмы – такие как Google, Facebook, Яндекс, Microsoft, IBM – широко используют решения на базе свободных лицензий. Microsoft, например, является одним из крупных контрибьюторов ядра Linux: у фирмы есть специальное подразделение в Редмонде, которое занимается свободными программами. На базе свободного софта работает Интернет – весь стек TCP/IP, веб-сервер Apach, большинство веб-браузеров. 

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

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

СПО хорошо вписывается в программу обеспечения технологической независимости. Отечественный софт действительно выгодно и целесообразно создавать на базе свободных проектов. Но взять свободный проект и слегка «перекрасить» его, внеся некоторые доработки – не значит создать собственный программный продукт на базе свободных компонентов. Важно, чтобы у разработчика были реальные компетенции, технологии и инфраструктура разработки. Эти условия очень хорошо описаны в ГОСТ Р 54593-2011 «Информационные технологии. Свободное программное обеспечение». 

В России, наверное, как обычно, свое отношение к СПО? Или причины миграции такие же, как во всем мире? 

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

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

Каковы основные заблуждения разработчиков, начинающих проекты портирования своих приложений на платформу Linux? 

Здесь мы от вопроса развития СПО переходим к вопросу миграции на отечественные программные продукты, в том числе на свободный софт. Возьмем для примера системное программное обеспечение – операционную систему, СУБД, другие системообразующие компоненты. Практически все они созданы на основе свободного софта: большинство отечественных ОС относятся к семейству Linux, отечественная СУБД PostgresPro разработана в рамках проекта свободной СУБД PostgreSQL, и т.п. 

Поскольку организации начинают активно использовать это системное ПО, возникает вопрос совместимости с ним различных прикладных систем. Например, портированием на отечественную операционную систему сейчас активно занимаются компании, которые держат основную долю российского рынка СЭД: ЭОС – Электронные офисные системы, Интертраст, DocsVision, ИВК (система «Бюрократ» с повышенным уровнем защиты данных). Аналогичную работу уже проделали 1С, «Корпорация Парус», «Корпорация Галактика» и другие фирмы, чьи бренды хорошо известны российским пользователям. 

Портирование – сам по себе достаточно сложный процесс, и дополнительные трудности привносит отсутствие у разработчиков нужных компетенций. Большинство российского прикладного ПО создавалось для работы на платформе Windows+Intel, поэтому у программистов нередко не хватает знаний и опыта работы с другими платформами. Например, мне встречались люди, которые уверены: если они обеспечат совместимость своего программного продукта с ОС, умеющей работать на неинтеловских архитектурах (например, на «Эльбрусе»), то и их приложение тоже автоматически начнет работать на компьютерах этих архитектур. Удивительно, как профессионалы не понимают, что такой механический перенос невозможен: после компиляции при создании бинарного кода система команд процессора используется разная. 

Можно долго перечислять подобные ошибки, но надо ли? На мой взгляд, важнее ответить на вопрос: «Что делать»? Ничего ужасного в сложившейся ситуации нет, все разрешимо.  

Мы в «Базальт СПО» сформировали и реализуем комплексную программу технологической поддержки разработчиков, в рамках которой проводим тестирование прикладных систем на совместимость с ОС АЛЬТ, консультируем разработчиков, обучаем и снабжаем необходимыми материалами. В этой программе также участвует наш стратегический партнер, компания ALP Group, которая помогает разработчикам организовать качественную техническую поддержку по схеме «одного окна» их программного продукта, портированного в Linux, а также ОС АЛЬТ, СУБД PostgresPro и ряда других видов инфраструктурного СПО, провести сайзинг оборудования для этого программного продукта, выявлять и ликвидировать причины снижения производительности. Уже есть первый опыт помощи в портировании: при содействии ALP Group создана специализированная версия для платформы «Эльбрус» одного из популярных российских приложений для совместной работы. 

И все же – несколько советов: каких главных ошибок можно избежать? И как это сделать? 

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

Ряд характерных ошибок связан с организацией разработки. Например, разработчик придерживается не стандартов, а фирменных спецификаций, и очень жестко привязывает программу к каким-то очень узким библиотекам и средствам разработки. Так, работа портала «Госзакупки» базируется на активном использовании технологии MicrosoftActiveX. Эта технология уже не поддерживается разработчиком, но заменить решение – очень хлопотно и затратно. В результате, пользователи портала не имеют возможности перейти на отечественные программные продукты. А причина, как я уже говорил, в том, что вместо стандартов используются фирменные спецификации. 

Другая категория ошибок произрастает из желания разработчиков создать себе «тепличные» условия: не использовать разделяемые системные библиотеки, а «принести их с собой». Это достигается разными способами – путем статической нединамической линковки, путем создания контейнера. Да, при этом программный продукт перестает зависеть от изменений системных библиотек в операционной системе. Но это иллюзорная стабильность. Дальше события развиваются, как правило, по следующему сценарию: в библиотеке обнаруживается уязвимость, библиотека обновляется на уровне ОС, но прикладная система использует не новую безопасную версию, а свой экземпляр с уязвимостью. В большинстве случаев прикладной разработчик не берет на себя труда поддерживать встроенные в свой продукт библиотеки в актуальном состоянии. Понятно, что использовать разделяемые библиотеки более хлопотно. Но в плане долгосрочной поддержки программного продукта, обеспечения его полного жизненного цикла – обладает массой преимуществ. 

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

Нам нужно повышать культуру программирования. С ее недостатком связана еще масса банальных вещей, даже не относящихся к портированию на Linux. Например, программа по ходу работы выдает сообщения. Если они вбиты в текст программы, то в случае ее локализации на другой язык, придется вносить изменения непосредственно в текст. А если понадобится выдавать сообщения на разных языках… Совсем сложно. Но между тем, есть стандартные библиотеки, которые берут организацию ввода-вывода сообщений на разных языках на себя и позволяют хранить отдельно текстовые данные, которые выводятся в виде сообщений. Заменять язык можно без пересборки программы, просто путем подготовки подстрочника. И еще масса такого рода нюансов. 

Совсем недавно компания «Базальт СПО» провела 15-ю конференцию разработчиков свободных программ. Чем (какими идеями/задачами) живет сейчас сообщество разработчиков СПО? 

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

Конференция – это своего рода «хаб», к которому «подключаются» люди из ключевых международных проектов СПО. Возникает взаимообмен знаниями, размышлениями, опытом, контактами, который продолжается и за пределами мероприятия. Это дает участникам разных проектов единое понимание по целому ряду вопросов, что особенно ценно, если их разработки должны согласованно работать в составе сложных систем. 

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

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

Какие еще интересные события и тенденции нас ожидают на рынке СПО? 

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

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


Свежие новости и статьи

22 марта 2024

Cloud.ru и IT-компания ALP ITSM заключили партнерское соглашение

6 ноября 2023

Импортозамещение и локализация ИТ-инфраструктуры. Что общего? И в чем отличия?

1 сентября 2023

Автоматизируй это! Четыре бизнес-процесса, где нельзя обойтись без Service Desk.

14 июля 2023

SLA – три «волшебные» буквы

5 июня 2023

Спасли IT-инфраструктуру клиента и уберегли компанию от убытков. Кейс ALP ITSM

17 марта 2023

Зачем бизнесу нужен аудит ИТ систем (ИТ аудит)?

Закрыть

Запрос КП

Оставьте ваши контакты — ФИО, телефон, e-mail. Наши сотрудники перезвонят в течение 1 часа по будням с 9:00 до 19:00.
Нажимая на кнопку «Получить КП», вы даете согласие на обработку персональных данных и соглашаетесь с политикой конфиденциальности.

Получить консультацию

Оставьте ваши контакты — ФИО, телефон, e-mail. Наши сотрудники перезвонят в течение 1 часа по будням с 9:00 до 19:00.
Нажимая на кнопку «Получить КП», вы даете согласие на обработку персональных данных и соглашаетесь с политикой конфиденциальности.

Обратный звонок

Оставьте ваши контакты — ФИО и телефон. Наши сотрудники перезвонят в течение 1 часа по будням с 9:00 до 19:00.
Нажимая на кнопку «Получить КП», вы даете согласие на обработку персональных данных и соглашаетесь с политикой конфиденциальности.

Ваша заявка успешно отправлена!

Наш менеджер перезвонит в ближайшее время.
Отвечаем за 1 час по будням с 9:00 до 19:00.
Заявки, отправленные в выходные, обрабатываем в первый рабочий день с 9:00 до 10:00.

А пока предлагаем —

Познакомиться с историей, компетенциями, ключевыми сотрудниками ALP ITSM
Почитать 120+ отзывов российских и между­народных клиентов