Включите исполнение JavaScript в браузере, чтобы запустить приложение.

Плюсы и минусы использования open source

27 авг 2024
Рассматриваем достоинства и недостатки использования open source для бизнеса, пользователей, разработчиков. Какой вариант подойдет больше в качестве основного ПО для компании?

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

Введение: что такое open source

Open source software — ПО с открытым исходным кодом, который находится в свободном доступе. Пользователи могут не только просматривать его, но и копировать, использовать для разработки своих проектов или модифицировать части кода. 

Степень свободы действий зависит от типа лицензии, на основании которой разработчик работает с софтом. Лицензирование отличается от авторского права: чаще всего создатель открытого кода не требует платить за продукт. Однако ряд ограничений все же есть. Они зависят от того, какой тип лицензии выберет пользователь. 

В open source есть две группы лицензионных соглашений — public domain и copyleft. Первая дает больше возможностей: можно распространять проекты на основе авторского кода, делиться ими. Часто в договоре указывают, что разработчик вправе продавать получившийся у него продукт. Copyleft требует от лицензиата применения такой же лицензии к собственному проекту на основе открытого кода. Он не может сделать его закрытым или установить дополнительные ограничения. Крупные компании уже давно выпускают OSS (open source software), например, Linux Foundation, MySQL, Apache. Среди стартапов, ориентированных на отрасль ИТ, также есть те, кто создает решения с открытым исходным кодом. Например, Snyk предлагает анализ композиции открытого ПО (SCA), а Sanity делает опенсорс-CMS.

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

Плюсы использования open source

Open source software имеет свои преимущества по сравнению с проприетарным программным обеспечением. Оно может помочь бизнесу сэкономить средства, а частным разработчикам — обучаться и взаимодействовать с сообществом. У этой технологии есть и другие плюсы.

Стоимость и экономия

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

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

Для пользователей экономия — тоже плюс. При использовании софта open source можно не платить за обновления: изначально большинство проектов распространяется бесплатно. 

Гибкость и адаптивность

Закрытое программное обеспечение часто сложно изменить или дополнить. Найти к нему подход иногда не могут ни разработчики, ни представители бизнеса. При возникновении проблем остается звонить или писать в службу поддержки поставщиков. Код опенсорс-ПО полностью открыт. Это позволяет разработчикам самостоятельно решать проблемы, улучшать программы и делать их еще более полезными для бизнеса. OSS предоставляет разработчикам гибкость в сочетании с широкими возможностями для настройки. Доступ к исходному коду позволяет программистам адаптировать программное обеспечение под потребности компании. Учитываются также технические требования, цели, юридические аспекты. Разработчики не просто исправляют ошибки: они оптимизируют производительность, добавляют новые функции. Это помогает продлить жизнеспособность продукта, сделать его устойчивее к хакерским атакам и вирусам.

Общество и поддержка

Опенсорс-сообщество — экосистема из разработчиков и экспертов, сотрудничающих над различными проектами. Результат их коллективных усилий — постепенное развитие и улучшение OSS. Разработчики используют знания и опыт сообщества, опираясь на оценки экспертов. Так гораздо быстрее получается исправлять ошибки, выпускать обновления. Участие в OS-проектах помогает приобрести ценные профессиональные связи и опыт. 

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

Сообщества open source распространены по всему миру. Мировые комьюнити тоже могут помочь создателям открытого ПО. Это может быть адаптация (перевод) приложения или документации на их родной язык. Такая практика полезна для расширения использования софта в разных языковых регионах.

Минусы использования open source

Рассмотрим основные недостатки технологии open source, которые могут сказаться на эффективности продукта, прибыли фирмы, ее развитии.

Проблемы безопасности

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

В девятом издании отчета «Анализ безопасности и рисков открытого исходного кода» (OSSRA) за 2024 год содержится углубленный анализ текущего состояния рисков безопасности, соответствия требованиям лицензирования и качества кода в коммерческом программном обеспечении с открытым исходным кодом. Уязвимости и проблемы с соблюдением лицензий, обнаруженные в базах кода, были почти такими же распространенными, как и сам открытый исходный код. Более половины (53%) содержали конфликты лицензий. 84% всех кодовых баз, включающих оценку риска, имели как минимум одну известную уязвимость с открытым исходным кодом. 74% кодовых баз с оценкой риска содержали уязвимости высокого риска, что значительно больше, чем в прошлогоднем отчете OSSRA, когда было обнаружено, что только 48% кодовых баз содержат уязвимости высокого риска.

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

Один из вариантов решения проблемы угрозы безопасности — выполнение автоматизированного регулярного сканирования уязвимостей на всех этапах разработки. 

Сложности с поддержкой и обновлениями

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

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

Ограниченная функциональность

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

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

Для повышения функциональности OS-разработчикам стоит обращать внимание на отзывы, собирать обратную связь. Они также могут устанавливать партнерские отношения с другими организациями, чтобы использовать дополнительные ресурсы. Важно уделять внимание потребностям пользователей и взаимодействовать с сообществом. Так опенсорс-разработчики могут бороться с проблемой ограниченной функциональности. 

Выводы

У open source software и ПО с закрытым кодом есть свои преимущества и недостатки. Представителям бизнеса и IT-специалистам важно изучить оба варианта, прежде чем принимать решение об использовании. Open source software обеспечивает большую гибкость, помогает экономить финансы. Закрытое ПО безопаснее. Однако выбор варианта будет зависеть от потребностей и целей компании.