МАТЕМАТИЧЕСКОЕ МОДЕЛИРОВАНИЕ, СИСТЕМНЫЙ АНАЛИЗ
УДК 004.45 И.В. АРТАМОНОВ
ББК 32.973-018.2 старший преподаватель Байкальского государственного университета
экономики и права, г. Иркутск e-mail: dark@darkis.ru
СВОБОДНОЕ ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ: ПРЕИМУЩЕСТВА И НЕДОСТАТКИ*
Описаны особенности влияния свободного программного обеспечения в области программной инженерии. Рассматриваются преимущества и недостатки свободного программного обеспечения.
Ключевые слова: свободное программное обеспечение; проприетарное программное обеспечение; поставщик программного обеспечения.
I.V. ARTAMONOV
Senior Instructor, Baikal State University of Economics and Law, Irkutsk e-mail: dark@darkis.ru
FREE SOFTWARE: ADVANTAGES AND DISADVANTAGES
The article describes some features of free software's impact in the sphere of software engineering and studies the advantages and disadvantages of free software.
Keywords: free software; proprietary software; software vendor.
Зачастую стоимость программного обеспечения (ПО) для персонального компьютера превышает стоимость аппаратных комплектующих. При этом приобретаемая лицензия на ПО содержит различные ограничения, связанные со сферой и объемом использования, сроками работы, количеством пользователей или дальнейшим обновлением и развитием программы. Но ввиду того, что уровень компьютеризации и автоматизации общества постоянно повышается, отказаться от использования вычислительной техники и соответствующего ПО во многих сферах жизни уже невозможно. При этом ПО, права на которое принадлежат третьим лицам, обычно предоставляется в пользование не только возмездно, но и распространяется с
закрытыми исходными кодами, что не позволяет оценивать уровень его безопасности. Очевидным решением подобных проблем может стать свободное программное обеспечение (СПО), однако необходимо тщательно проанализировать как его преимущества, так и недостатки.
Данное понятие в ИТ-индустрии в силу неточного понимания слова «свобода» не является четко определенным. Изначально термин возник в англоязычной среде, где слово «free» (от англ. «свобода») означает также «бесплатный». При этом основатель движения СПО Р. Столлман осознавал противоречивость терминологии и специально акцентировал внимание [9] на трактовке слова «свобода», обращая внимание на этическую
* Работа выполнена при финансовой поддержке проекта ФБ-40 «Повышение эффективности информационно-телекоммуникационных систем на основе свободного программного обеспечения для бюджетных организаций».
© И.В. Артамонов, 2012
и культурную окраску этого слова [1], возведя СПО в разряд философской идеологии независимости пользователя программы от ее разработчика. По его мнению, ПО является свободным, если оно позволяет обеспечивать четыре степени свободы:
- выполнение программы;
- изучение и модификации программы (доступ к исходным кодам);
- распространение программы;
- распространение собственных модифицированных версий.
В отличие от проприетарного ПО СПО имеет ряд потенциальных преимуществ [2-8; 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. Свободное ПО и ПО с открытым кодом [Электронный ресурс]. URL: http://www.info-foss.ru/quickstart/ freesoft/free_opensource_soft.
2. Benefits of Using Open Source Software [Electronic resource]. URL: http://open-source.gbdirect.co.uk/ migration/benefit.html.
3. Benefits of open source code [Electronic resource]. URL: http://www.oss-watch.ac.uk/resources/ whoneedssource.xml.
4. Galoppini R. Open Source Business Models: What is an Open Source Business Model? [Electronic resource]. URL: http: / / robertogaloppini.net/2007/08/30/open-source-business-models-what-is-an-open-source-business-model/.
5. Murray C. 7 benefits of open source software for small business [Electronic resource]. URL: http://memeburn. com/2010/07/7-benefits-of-open-source-software-for-small-business/.
6. Noyes K. 10 Reasons Open Source Is Good for Business [Electronic resource]. URL: http://www.pcworld. com/businesscenter/article/209891/10_reasons_open_source_is_good_for_business.html.
7. Open Source software: benefits and drawbacks [Electronic resource]. URL: http://www.ncvo-vol.org.uk/ advice-support/ict/managing-ict/open-source-continued.
8. The Open Source Definition [Electronic resource]. URL: http://opensource.org/docs/osd.
9. What is free software? [Electronic resource]. URL: http://www.gnu.org/philosophy/free-sw.en.html.
10. Wilhelm E. Open Source Benefits for Developers [Electronic resource]. URL: http://scratchcomputing.com/ articles/open-source_benefits_developers.html.
11. Williams J., Clegg P., Dulaney E. The Advantages of Adopting Open Source Software [Electronic resource]. URL: http://www.informit.com/articles/article.aspx?p=376255.
References
1. Svobodnoe PO i PO s otkrytym kodom [Elektronnyi resurs]. URL: http://www.info-foss.ru/quickstart/ freesoft/free_opensource_soft.
2. Benefits of using open source software [Electronic resource]. URL: http://open-source.gbdirect.co.uk/
migration/benefit.html.
3. Benefits of open source code [Electronic resource]. URL: http://www.oss-watch.ac.uk/resources/ whoneedssource.xml.
4. Galoppini R. Open source business models: what is an open source business model? [Electronic resource]. URL: http: / / robertogaloppini.net/2007/08/30/open-source-business-models-what-is-an-open-source-business-model/.
5. Murray C. 7 benefits of open source software for small business [Electronic resource]. URL: http://memeburn. com/2010/07/7-benefits-of-open-source-software-for-small-business/.
6. Noyes K. 10 reasons open source is good for business [Electronic resource]. URL: http://www.pcworld. com/businesscenter/article/209891/10_reasons_open_source_is_good_for_business.html.
7. Open source software: benefits and drawbacks [Electronic resource]. URL: http://www.ncvo-vol.org.uk/ advice-support/ict/managing-ict/open-source-continued.
8. The open source definition [Electronic resource]. URL: http://opensource.org/docs/osd.
9. What is free software? [Electronic resource]. URL: http://www.gnu.org/philosophy/free-sw.en.html.
10. Wilhelm E. Open source benefits for developers [Electronic resource]. URL: http://scratchcomputing.com/ articles/open-source_benefits_developers.html.
11. Williams J., Clegg P., Dulaney E. The advantages of adopting open source software [Electronic resource]. URL: http://www.informit.com/articles/article.aspx?p=376255.