Главная
АИ #47 (126)
Статьи журнала АИ #47 (126)
Преимущества подхода Open Source к разработке программного обеспечения по сравне...

Преимущества подхода Open Source к разработке программного обеспечения по сравнению с закрытым кодом

Автор(-ы):

Хренов Владислав Владимирович

1 декабря 2022

Секция

Информационные технологии

Ключевые слова

подход Open Source
закрытый код
лицензия
программное обеспечение
пользователь

Аннотация статьи

В настоящем исследовании проведен анализ преимуществ подхода Open Source к разработке программного обеспечения по сравнению с закрытым кодом, выделены проблемы и пути их решения относительно использования подхода Open Source к разработке программного обеспечения. В работе предложена авторская Open Source ERP/CRM система Siberium, которая обладает рядом преимуществ: низкая стоимость владения; совместный контроль и управление рисками проекта; заданный результат в разумные сроки; оптимизация бизнес-процессов в проекте внедрения; высокая безопасность.

Текст статьи

Актуальность исследования

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

Цель исследования

Целью исследования является анализ и выявление преимуществ Open Source подхода к разработке программного обеспечения в сравнении с подходом, основанным на закрытом коде.

Материал и методы исследования

Изучением вопросов, посвященных исследованию подхода Open Source к разработке программного обеспечения по сравнению с закрытым кодом, занимались такие ученые как Б. Бейер, А.М. Корешков, Н. Мерфи, А.А. Федяев, А.А. Шинкарев и др.

Методами исследования являются: сравнительный анализ, анализ случаев использования, кейс-стади, теоретический анализ.

Результаты исследования

Open Source (открытый исходный код) подход к разработке программного обеспечения имеет ряд преимуществ по сравнению с закрытым кодом. Можно выделить следующие преимущества:

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

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

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

Независимость от одного поставщика. При использовании Open Source программного обеспечения, пользователи не зависят от одного поставщика или разработчика. Если один разработчик прекращает поддержку программы или ее разработку, сообщество может продолжить работу над проектом и обеспечивать поддержку в долгосрочной перспективе.

Более высокая безопасность. Благодаря прозрачности и проверяемости, Open Source программное обеспечение может обладать более высоким уровнем безопасности.

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

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

Переносимость и совместимость. Open Source программное обеспечение обычно разрабатывается с использованием открытых стандартов и протоколов, что обеспечивает лучшую переносимость и совместимость между различными платформами и операционными системами. Это позволяет пользователям выбирать и комбинировать различные компоненты программного обеспечения без привязки к конкретным вендорам или продуктам.

Обучение и общественный интерес. Open Source программное обеспечение позволяет разработчикам и пользователям учиться и развиваться вместе. Открытость кода позволяет изучать и понимать принципы работы программ, а также способствует обмену знаниями и опытом между членами сообщества. Это способствует развитию IT-индустрии и общественному интересу к технологиям [1, с. 66].

Open Source подход к разработке программного обеспечения имеет множество преимуществ, таких как прозрачность, совместная работа, гибкость и низкая стоимость. Однако он также может столкнуться с определенными проблемами, которые могут затруднить его использование. Можно выделить следующие проблемы и пути их решения:

  1. Недостаток финансирования. Отсутствие прямого финансирования может быть серьезной проблемой для Open Source проектов. Это может привести к ограниченным ресурсам, недостатку оплачиваемых разработчиков и ограниченным возможностям поддержки. Решение этой проблемы может состоять в создании моделей финансирования, таких как пожертвования, спонсорство или бизнес-модели на основе подписки или консультационных услуг.
  2. Низкая пользовательская поддержка. Пользователям может быть сложно получить поддержку для Open Source программного обеспечения, особенно если нет организации или коммерческого предприятия, отвечающего за поддержку. Это может быть вызвано отсутствием документации, недостаточным сообществом поддержки или ограниченными ресурсами для отклика на запросы. Чтобы решить эту проблему, можно создать хорошо организованный веб-сайт, форумы поддержки, документацию и активное сообщество, готовое помочь пользователям.
  3. Отсутствие единого управления. В Open Source проектах может отсутствовать единое управление или руководящий орган, что может привести к фрагментации, отсутствию координации и несовместимости между различными версиями и форками проекта. Для решения этой проблемы можно создать ясную структуру управления проектом, назначить ответственных лиц и использовать системы управления версиями, чтобы облегчить координацию и поддерживать совместимость.
  4. Безопасность и ответственность. Поскольку любой может внести изменения в Open Source проекты, это может повлечь за собой проблемы безопасности, такие как наличие вредоносного кода или уязвимостей. Кроме того, в случае возникновения проблем в Open Source проектах может быть сложно определить ответственность за ошибки или неправильное использование программного обеспечения. Для решения этих проблем можно применять следующие подходы:
  • Активное сообщество. Создание активного и отзывчивого сообщества разработчиков и пользователей поможет выявлять и исправлять проблемы безопасности и ошибки в программном обеспечении. Это также способствует обмену знаниями, лучшим практикам и содействию внесению изменений и улучшений в проект [2, с. 20].
  • Код-ревью и тестирование. Применение процесса код-ревью и тестирования помогает обнаруживать и исправлять проблемы безопасности и ошибки до выпуска новых версий программного обеспечения. Разработчики могут взаимодействовать, рецензировать код друг друга, предлагать улучшения и проверять функциональность и безопасность программы.
  • Управление уязвимостями. Следует иметь процедуры управления уязвимостями, чтобы обнаруживать, отслеживать и исправлять уязвимости в программном обеспечении. Это может включать регулярное обновление программы, внедрение патчей безопасности и уведомление об уязвимостях пользователям и сообществу.

Кроме положительных аспектов подхода Open Source можно выделить и недостатки в таблице.

Таблица

Недостатки подхода Open Source

№ п/п

Недостаток

Описание

1.

Отсутствие единой системы технической поддержки.

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

2.

Множество разных версий.

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

3.

Плохая совместимость.

Пользователи Open Source продуктов могут столкнуться с отсутствием драйверов для аппаратного обеспечения.

4.

Недостаточное качество документационного обеспечения.

Зачастую у ПО с открытом исходным кодом отсутствует какое-либо документационное обеспечение, что затрудняет работу с продуктом.

5.

Сложности в установке.

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

Существует несколько основных механизмов использования Open Source при разработке программного обеспечения. Вот некоторые из них:

  1. Использование готовых компонентов. Один из наиболее распространенных способов использования Open Source – это интеграция уже существующих готовых компонентов и библиотек в свое программное обеспечение. Это позволяет сэкономить время и ресурсы, а также воспользоваться проверенными и стабильными решениями, разработанными сообществом.
  2. Переработка и модификация. Open Source позволяет вносить изменения в исходный код программного обеспечения и адаптировать его под свои потребности. Разработчики могут модифицировать существующие проекты, добавлять новые функции, исправлять ошибки или оптимизировать производительность [3, с. 58].
  3. Создание форков. Создание форка проекта означает создание отдельной ветки или копии проекта с целью продолжения его развития независимо от оригинала. Это позволяет разработчикам вносить собственные изменения и улучшения в проект, основываясь на существующей базе кода.
  4. Вклад в сообщество. Open Source разработка также предлагает возможность активного участия в сообществе разработчиков. Разработчики могут делиться своими идеями, предлагать улучшения, исправлять ошибки и вносить свой вклад в проекты, работая вместе с другими участниками.
  5. Создание собственных проектов. Разработчики также могут создавать свои собственные Open Source проекты, делиться своим кодом и приглашать других разработчиков для сотрудничества. Это способствует распространению знаний, совместной работе и развитию сообщества [4, с. 18].

Можно выделить следующие примеры использования Open Source в разработке программного обеспечения:

  • Linux. Одним из самых известных проектов Open Source является операционная система Linux. Она используется в различных областях, от серверов и смартфонов до встроенных систем. Linux разработан коллективом разработчиков, работающих в сообществе, и предоставляет открытый доступ к своему исходному коду;
  • Apache. Apache является одним из наиболее популярных веб-серверов в мире. Проект Apache разрабатывается сообществом и предоставляет открытый исходный код, который позволяет разработчикам настраивать и расширять функциональность веб-сервера в соответствии со своими потребностями;
  • MySQL. MySQL является одной из самых популярных систем управления базами данных. Она предоставляет широкие возможности для хранения и обработки данных. MySQL доступен в качестве Open Source, что позволяет разработчикам изменять и распространять его в соответствии с лицензией;
  • WordPress. WordPress – это платформа для создания и управления веб-сайтами и блогами. Это один из самых популярных инструментов для создания веб-сайтов и используется миллионами людей по всему миру. WordPress основан на Open Source и предоставляет возможность модифицировать и расширять его функциональность с помощью плагинов и тем;
  • TensorFlow. TensorFlow – это библиотека машинного обучения, разработанная компанией Google. Она позволяет разработчикам создавать и обучать модели искусственного интеллекта. TensorFlow доступен в качестве Open Source, что позволяет исследователям и разработчикам сотрудничать и делиться своими идеями и разработками.

Открытость самого программного обеспечения позволяет наглядно видеть устройство и принципы работы программного обеспечения, а значит, способствует более глубокому пониманию и изучению, т. к. нет никаких препятствий заглянуть внутрь такого процесса как работа операционной системы. Лицензия GNU GPL способствует формированию ценностей и моральных аспектов, существующих в рамках информатики. Так же открытое программное обеспечение способствует снижению расходов на приобретение программных продуктов. Это наиболее важные преимущества открытого программного обеспечения, но далеко не все [5, с. 152].

С учетом существующих преимущества применения «открытого» программного обеспечения, автором была разработана Open Source ERP/CRM система Siberium. Структура данной системы представлена на рисунке.

Рис. Структура Siberium ERP/CRM

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

Реализация указанной системы на практике позволяет добиться ряда преимуществ. Прежде всего это:

  • низкая стоимость владения;
  • совместный контроль и управление рисками проекта – при внедрении применяется адаптированная для применяемых продуктов методология внедрения Oracle AIM for Business Flows;
  • заданный результат в разумные сроки;
  • оптимизация бизнес-процессов в проекте внедрения;
  • высокая безопасность.

Выводы

Open Source подход к разработке программного обеспечения обладает рядом преимуществ, таких как совместное сотрудничество, прозрачность, гибкость, безопасность, экономическая эффективность, быстрая эволюция, переносимость и общественный интерес. Эти факторы делают Open Source программное обеспечение популярным и широко используемым во многих областях. Open Source продукты заполнили большинство сфер деятельности как коммерческих, так и образовательных организаций. В качестве примера использования открытого ПО автором разработана система Open Source ERP/CRM система Siberium, позволяющая коммерческим и государственным организациям более эффективно осуществлять свою деятельность.

Список литературы

  1. Кириллов Н.И. Методы оценки результатов внедрения корпоративных информационных систем // Проблемы современной науки и образования. – 2016. – № 17 (59). – С. 65-67.
  2. Корешков А.М. К вопросу об использовании программных продуктов с открытым исходным кодом / А.М. Корешков, Г.В. Степанцов // Молодой ученый. – 2015. – № 17 (97). – С. 18-21.
  3. Федяев А.А., Федяева Е.М. К вопросу об открытом программном обеспечении. Математика, информатика, естествознание в экономике и в обществе / Труды международной научно-практической конференции. – Том 2. – М.: МФЮА, 2009. – C. 58-59.
  4. Шинкарев А.А. Роль программного обеспечения с открытым исходным кодом в современной разработке корпоративных информационных систем / А.А. Шинкарев // Вестник ЮУрГУ. Серия «Компьютерные технологии, управление, радиоэлектроника». – 2021. – Т. 21, № 2. – С. 16-22.
  5. Site Reliability Engineering. Надежность и безотказность как в Google / Б. Бейер, К. Джоунс, Д. Петофф, Н. Мерфи. – СПб.: Питер, 2019. – 592 с.

Поделиться

Хренов В. В. Преимущества подхода Open Source к разработке программного обеспечения по сравнению с закрытым кодом // Актуальные исследования. 2022. №47 (126). URL: https://apni.ru/article/6278-preimushchestva-podkhoda-open-source-k-razrab

Похожие статьи

Другие статьи из раздела «Информационные технологии»

Все статьи выпуска
Актуальные исследования

#27 (209)

Прием материалов

29 июня - 5 июля

осталось 5 дней

Размещение PDF-версии журнала

10 июля

Размещение электронной версии статьи

сразу после оплаты

Рассылка печатных экземпляров

22 июля