Свободное ПО

Свободное программное обеспечение: преимущества и недостатки

Статья обобщает информацию о преимуществах свободного программного обеспечения. При этом каждая положительная сторона снабжается контраргументами, позволяя составить объективное мнение об этом феномене в области программной инженерии. Свободное программное обеспечение: преимущества и недостатки
Иван Артамоновhttps://artamonoviv.ru/images/icon/logo.png
Внимание! Эта статья была опубликована в 2012 году в журнале "Известия ИГЭА". Использование материалов из нее разрешено только при правильной библиографической ссылке (для докладов, курсовых работы, рефератов, дипломных и пр. научных работ) или url-ссылки (для сайтов). Библиографическое описание дано в конце статьи.
Ахтунг! В этой статье зашкаливает уровень научности языка! Готовьтесь в тяжелому чтению со ссылками на литературу. Зато на статью можно официально ссылаться.
PDF-версия статьи: скачать
Статья обобщает информацию о преимуществах свободного программного обеспечения. При этом каждая положительная сторона снабжается контраргументами, позволяя составить объективное мнение об этом феномене в области программной инженерии.

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

Данное популярное понятие в ИТ-индустрии в силу неточного понимания слова «свобода» не является четко определенным. Изначально термин возник в англоязычной среде, где слово «free» (от англ. «свобода») означает также «бесплатный».

При этом основатель движения «свободного ПО», Ричард Столлман, осознавал противоречивость терминологии и специально акцентировал внимание [1] на трактовке слова «свобода», обращая внимание на этическую и культурную окраску этого слова [2], возведя «свободное» ПО в разряд философской идеологии независимости пользователя программы от ее разработчика. По его мнению, ПО является свободным, если оно позволяет обеспечивать четыре степени свободы:

  • Выполнение программы;
  • Изучение и модификации программы (доступ к исходным кодам);
  • Распространение программы;
  • Распространение собственных модифицированных версий.

В отличие от проприетарного ПО свободное ПО имеет ряд потенциальных преимуществ ([3], [4], [5],[6] ,[7] ,[8] ,[9] ,[10] ,[11]):

  1. Бесплатное распространение. Это означает, что оно свободно скачивается из сети интернет, и не требуется оплачивать каждую копию или каждое обновление.
  2. Высокое качество. СПО обладает высоким качеством выполнения за счет коллективной работы множества разработчиков, каждый из которых вносит определенный вклад в развитие стабильности и функциональности продукта, что позволяет использовать улучшенную функциональность продукта даже быстрее, чем проприетарного.
  3. Высокая безопасность и надежность. За счет независимого доступа к исходному коду множества пользователей и использования специальных средств отслеживания ошибок любые проблемные участки кода достаточно быстро находятся и исправляются.
  4. Хорошие возможности настройки. Доступ к исходному коду позволяет СПО быть хорошо «кастомизируемой» продукцией – конкретный потребитель можно модифицировать его под свои определенные нужды. По этой же причине интерфейс СПО хорошо переводится на различные национальные языки.
  5. Надежный контроль над поведением ПО. Открытые исходные коды позволяют потребителям тщательно исследовать используемый продукт с различных точек зрения, что значительно повышает контролируемость и безопасность программы, а также позволяет обеспечить ее соответствие внутренним регламентам компании.
  6. Независимость от конкретного поставщика. Так как исходный код находится в открытом доступе, большинство лицензий позволяют вести его разработки даже после того, как прежние разработчики прекратили поддержку проекта. При этом коммерческие организации при наличии заказчиков могут предоставлять поддержку на платной основе.
  7. Развитие конкурентного рынка услуг по сопровождению. Поскольку исходный код программ всеобще доступен, это позволяет любой организации выступать с инициативой поддержки пользователей такого продукта, хотя, конечно, потребитель может осуществлять поддержку самостоятельно.
  8. Хорошие возможности совместной разработки. СПО поощряет развитие совместной разработки через обмен идеями, когда каждый пользователь ПО может пользоваться этими идеями или их распространять, что в свою очередь поддерживает процесс развития инноваций в этой сфере.
  9. Высокая степень интероперабельности и масштабируемости. Многие продукты СПО основаны на открытых стандартах, что снижает затраты на их интеграцию. А широкие возможности к настройкам балансировки нагрузки и кластеризации в таких продуктах, как базы данных или сервера электронной почты позволяют учитывать рост компании или ее консолидацию с партнерами.
  10. Нет лицензионных ограничений. Лицензии СПО накладывают меньше ограничений на пользователей и позволяют упростить лицензионный менеджмент на предприятиях.
  11. Независимость от «моды». СПО позволяет быть «свободным» от трендов развития, диктуемых поставщиками проприетарного ПО, снизив, таким образом, неоправданные затраты. Например, нет необходимости переходить на другие версии продукта, если они требуют дорогостоящего обновления аппаратного обеспечения.

Данные преимущества не должны рассматриваться как обязательные – для каждого конкретного случая выбора ПО для решения проблем организации или на определенном этапа внедрения СПО они могут существенно отличаться или отсутствовать вовсе.

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

  1. СПО может обходиться достаточно дорого, особенно на предприятии. Получить продукт можно совершенно бесплатно, однако его эксплуатация может повлечь большой объем непредвиденных расходов. Установка и настройка, обучение пользователей, сопровождение и администрирование, поддержка развития могут увеличить показатели совокупной стоимости владения, и в некоторых случаях они могут превысить стоимость владения проприетарного средства, разработчик или поставщик которого возьмет на себя решение части проблем.
  2. Доступ к исходному коду множества разработчиков влечет за собой ряд проблем. Во-первых, может происходить введение в СПО неоправданной, ненужной или неправильно работающей функциональности. Во-вторых, СПО находится в процессе постоянной разработки и улучшения, а добавление определенных функций может откладываться на неопределенные сроки, что заставляет потребителей постоянно следить за новыми версиями продукта, обновлять его и возвращаться к «предыдущим» версиям в случае, если текущая работает нестабильно.
  3. Высокие темпы разработки и независимость разработчиков негативно сказываются на стабильности и безопасности продукции. Проблемы, которые могут возникнуть в связи с появлением новых функций или внесением изменений в старые, могут оставаться необнаруженными и нерешенными длительное время.
  4. Самостоятельная доработка продуктов СПО связана с определенными рисками. Во-первых, ввиду открытости исходного кода способов такой доработки может быть много, но потребитель не всегда сможет качественно выбрать наиболее перспективный. Во-вторых, появление новых версий продукта от официального сообщества разработчиков нивелирует все усилия потребителя по доработке продукта – все изменения придется вносить заново и не всегда их можно напрямую скопировать со старой версии.
  5. Контроль над выпуском продукции также усложняется высокими темпами ее разработки. С одной стороны, потребитель может сертифицировать и удостоверить на соответствие внутренним регламентам определенную версию продукта, но, с другой стороны, в обновленных версиях продуктов разработчик может исправить значительные и серьезные ошибки, которые не были замечена в процессе внутреннего аудита, или добавить функциональность, жизненно необходимую пользователям. Поэтому отказаться от обновления продукции достаточно сложно, но процесс контроля и аудита может существенно усложнить процедуры этого обновления. Особенно это касается таких технически-сложных продуктов, как операционные системы или базы данных.
  6. Независимость от конкретного поставщика предполагает, что всю ответственность за эксплуатацию СПО несет потребитель и в случае технических или организационных проблем решать их придется самостоятельно, без привлечения квалифицированной помощи. Кроме того, подавляющее большинство продуктов СПО после потери интереса со стороны разработчиков более не поддерживаются мировым сообществом и не развиваются, и все риски эксплуатации таких устаревших продуктов ложатся исключительно на плечи потребителя.
  7. Рынок сопровождения СПО хорошо развит только для популярных, «мейнстрим» продуктов, таких как операционные системы и инфраструктурные утилиты к ним, базы данных, средства поддержки программирования или веб-ориентированные программы. Для остальной, подавляющей части СПО поддержка заключается в тематических англоязычных форумах, средствах отслеживания ошибок и в ряде других, узкоспециализированных служб. Поэтому о какой-либо специализированной поддержке речь идти не может.
  8. Процесс развития инноваций в СПО-среде действительно важен, и многие хорошие идеи были заимствованы из свободных продуктов, однако поток инноваций со стороны крупных корпораций - разработчиков ПО все же больше. Такие компании могут позволить содержать в штате целые научно-исследовательские лаборатории, инновационные центры и технопарки, курировать институтскую и университетскую науку. Все это спонсируется за счет конечных потребителей их продукции, но совсем не обязательно, чтобы продукт был платным или с закрытым исходным кодом. Многие популярные разработки, курируемые ИТ-гигантами (Google, IBM, Oracle и пр.), используют модели косвенной монетизации.
  9. СПО не всегда полноценно поддерживает стандарты и регламенты. По различным причинам разработчики могут исключать часть заложенной в них функциональности или реализовывать ее с ошибками, что неизменно влечет серьезные проблемы в случае интеграции ПО со сторонними разработками, так как количество возможных комбинаций разного ПО практически неограниченно. Проприетарные продукты от одного разработчика совместить значительно легче – они предназначены для такой интеграции и все возможные ошибки заранее исследованы и вероятность их минимизирована.

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

Список использованной литературы

1. What is free software? [электронный ресурс] – Режим доступа: http://www.gnu.org/philosophy/free-sw.en.html (дата обращения: 10.09.2012).
2. «Свободное ПО» и «ПО с открытым кодом» [электронный ресурс] – Режим доступа: http://www.info-foss.ru/quickstart/freesoft/free_opensource_soft (дата обращения: 10.09.2012).
3. The Open Source Definition [электронный ресурс] – Режим доступа: http://opensource.org/docs/osd (дата обращения: 10.09.2012).
4. Open Source Business Models: What is an Open Source Business Model? [электронный ресурс] / Roberto Galoppini – Режим доступа: http://robertogaloppini.net/2007/08/30/open-source-business-models-what-is-an-open-source-business-model/ (дата обращения: 10.09.2012).
5. 10 Reasons Open Source Is Good for Business [электронный ресурс] / Katherine Noyes – Режим доступа: http://www.pcworld.com/businesscenter/article/209891/10_reasons_open_source_is_good_for_business.html (дата обращения: 10.09.2012).
6. Benefits of Using Open Source Software [электронный ресурс] – Режим доступа: http://open-source.gbdirect.co.uk/migration/benefit.html (дата обращения: 10.09.2012).
7. Benefits of open source code [электронный ресурс] – Режим доступа: http://www.oss-watch.ac.uk/resources/whoneedssource.xml (дата обращения: 10.09.2012).
8. The Advantages of Adopting Open Source Software [электронный ресурс] / Jason Williams, Peter Clegg, Emmett Dulaney – Режим доступа: http://www.informit.com/articles/article.aspx?p=376255 (дата обращения: 10.09.2012).
9. Open Source software: benefits and drawbacks [электронный ресурс] – Режим доступа: http://www.ncvo-vol.org.uk/advice-support/ict/managing-ict/open-source-continued (дата обращения: 10.09.2012).
10. 7 benefits of open source software for small business [электронный ресурс] / Catherine Murray – Режим доступа: http://memeburn.com/2010/07/7-benefits-of-open-source-software-for-small-business/ (дата обращения: 10.09.2012).
11. Open Source Benefits for Developers [электронный ресурс] / Eric Wilhelm – Режим доступа: http://scratchcomputing.com/articles/open-source_benefits_developers.html (дата обращения: 10.09.2012).


Библиографическое описание

Артамонов, И. В. Свободное программное обеспечение: преимущества и недостатки / И. В. Артамонов // Известия ИГЭА. – 2012. – № 5. – С. 122–125.

URL-ссылка

https://artamonoviv.ru/articles/free_software_pro_contra/

Ссылка на описание в РИНЦ