Программное обеспечение

Риски и преимущества использования свободного ПО


Что такое свободное ПО? Какими преимуществами оно обладает? Какие риски несет? Какое свободное ПО используется в типовых витринах данных?

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

Существуют два близких подхода к определению свободного ПО (СПО):

Первый определен Free Software Foundation и основан на определении свобод: [1] (он же применен в ГОСТ Р 54593-2011 Свободное программное обеспечение. Общие положения [2]),
Второй определен Open Source Initiative и основан на требованиях к лицензиям, на условиях которых распространяется СПО [3].

Эти требования следующие:

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

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

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

Существенными можно выделить следующие риски:

Прекращение доступа к основному репозиторию ПО. И хотя, например, Github заверяет, что будет делать всё для сохранения доступа всех пользователей [4], ничто не мешает самому владельцу репозитория закрыть к нему доступ либо перенести на другую площадку. Поэтому всегда в любой ситуации организация, использующая открытое ПО должна иметь локальные копии используемых репозиториев.
Внесение, в том числе умышленное, ошибок в ПО. Такие факты наблюдались и раньше, но в последнее время их число возросло. Вот, например, поддерживаемый энтузиастами перечень необычных изменений за последние недели: [5] . Поэтому крайне важно отключить любые автоматические обновления ПО и установку любых новых патчей проводить только при условии комплексного анализа и тестирования изменений. 
Слабость документации и отсутствие серьезных компетенций по настройке и использованию ПО. В этом случае рекомендуется либо развивать собственные компетенции, либо приобретать работы по настройке и поддержке такого ПО у отечественных компаний, такими компетенциями обладающих.
В любых случаях необходимо обеспечить регулярный мониторинг обнаружения уязвимостей в ПО [6], [7] и обновления ПО, для которого такие уязвимости подтверждены.
Отсутствие влияния на развитие ПО. В этом случае возможно использовать ПО, разработанное отечественными компаниями на основе свободного.

Типовое программное обеспечение витрин данных сейчас использует следующее стороннее СПО :

Airflow
Elasticsearch
Filebeat
Grafana
Graylog
Kafka
Redis
Portainer
PostgreSQL
Prometheus
Spark
Zookeeper

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

Подписаться

В нашем Telegram-канале доступны все последние статьи и их обсуждение

Подписаться
Избранное