Особенности свободного программного обеспечения
Понятие о программе и программном обеспечении. Характеристика философии "свободы". Обеспечение высокого качества и надежности компьютерных продуктов. Выгоды свободного программного обеспечения для государства и общества, разработчиков и пользователей.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | реферат |
Язык | русский |
Дата добавления | 20.05.2015 |
Размер файла | 24,4 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
План
Введение
1. Понятие о программе и программном обеспечении
2. Философия "свободы"
3. Высокое качество продуктов
4. Высокая надежность/стабильность
5. Безопасность
6. Локализация
7. Открытые стандарты
8. Выгоды свободного программного обеспечения для государства и общества в целом, выгоды для разработчиков и пользователей
Заключение
Список использованной литературы
Введение
Возможности современного ПК столь велики, что все большее число людей находят ему применение в своей работе, учебе, быту. Важнейшим качеством современного компьютера является его "дружественность" по отношению к пользователю. Общение человека с компьютером стало простым, наглядным, понятным. Компьютер сам подсказывает пользователю, что нужно делать в той или иной ситуации, помогает выходить из затруднительных положений. Это возможно благодаря программному обеспечению компьютера.
Программное обеспечение (ПО) - это совокупность машинных программ, соответствующей качественной документации, баз данных, а также технологических процедур по эксплуатации ПО.
Программное обеспечение является очень широким понятием, которое охватывает:
* системное программное обеспечение работоспособности компьютеров;
* прикладное программное обеспечение для решения задач любой предметной области в виде пакетов прикладных программ;
* инструментарий технологии программирования (программное обеспечение сферы производства программ).
В данной работе мы рассмотрим свободное программное обеспечение.
Цель работы - изучить свободное программное обеспечение.
1. Понятие о программе и программном обеспечении
Программа - один из компонентов программного обеспечения. В зависимости от контекста, рассматриваемый термин может относиться также и к исходным текстам программы. Компьютерные программы, как объект интеллектуальной собственности, относится к категории нематериальных активов.
Программа - это совокупность инструкций и алгоритмов, описывающих порядок определенных действий. Программа - представленная в объективной форме совокупность данных и команд, предназначенных для функционирования ЭВМ и других компьютерных устройств с целью получения определённого результата, включая подготовительные материалы, полученные в ходе разработки программы для ЭВМ, и порождаемые ею аудиовизуальные отображения.
Компьютерная программа - последовательность инструкций, предназначенная для исполнения электронным устройством (компьютером) и написанная на языке программирования. Большинство пользователей компьютеров используют программы, предназначенные для выполнения конкретных прикладных задач, таких как подготовка и оформление документов, математические вычисления, обработка изображений и т.п. Соответствующие программные средства называют прикладными программами.
2. Философия "свободы"
Чтобы понять философию свободы ПО, необходимо ознакомиться с деятельностью Фонда свободного программного обеспечения (англ. Free Software Foundation, сокращенно FSF) - некоммерческой организации, основанной в октябре 1985 г. Ричардом Столлманом для поддержки движения СПО.
По мнению сторонников FSF, любое ПО должно обладать четырьмя свободами:
1) программу можно использовать с любой целью ("нулевая свобода");
2) можно изучать, как программа работает, и адаптировать ее для своих целей ("первая свобода");
3) можно распространять копии программы ("вторая свобода");
4) программу можно улучшать и публиковать свою улучшенную версию ("третья свобода").
В результате СПО по сравнению с проприетарным софтом обладает такими достоинствами, как:
- высокое качество продуктов;
- высокая надежность/стабильность;
- безопасность;
- высокая скорость разработки;
- доступ к огромному пулу готовых программ;
- локализация;
- открытые стандарты;
- независимость от разработчиков...
3. Высокое качество продуктов
Утверждение о том, что продукты СПО обладают более высоким качеством, чем их проприетарные аналоги, является, пожалуй, самым спорным.
Действительно, а как оценить качество современных программных продуктов, отличающихся высокой сложностью? Попробуйте-ка провести экспертную оценку качества операционной системы Mandriva Linux и сопоставить полученные результаты с результатами такой же оценки Windows Vista. И хотя методики оценки качества программных продуктов существуют и определены в различных стандартах (прежде всего это международные стандарты ISO 9000-й серии), получить объективную оценку практически невозможно. И все же пара козырей у СПО есть: открытый исходный код и возможность выбрать в качестве основы для разработки уже готовый, зарекомендовавший себя продукт. Благодаря доступности исходного кода процесс отладки приложения и исправления ошибок может осуществляться не только силами разработчика, но и всеми пользователями. Ну а чем меньше ошибок, тем выше качество!
Кроме того, код программы становится более оптимальным (700 Мб инсталляционного диска могут содержать "голую" ОС Linux или Windows с немалым пакетом необходимых программ и утилит). А взяв в качестве основы для разработки качественный продукт, сложно получить на выходе что-то плохое. Вот и Mac OS X - операционная система компании Apple для компьютеров Macintosh базируется на FreeBSD - свободной UNIX-подобной операционной системе.
4. Высокая надежность/стабильность
Вопрос надежности является не менее спорным, чем вопрос качества, но зато более простым в определении объективной оценки. И всего-то нужно запастись парочкой-тройкой одинаковых компьютеров (а лучше серверов), установить на них испытуемые программные продукты, подключить к одному источнику питания, одновременно запустить и с печальным видом фиксировать все отклонения в работе.
Чтобы процесс шел веселее, можно как следует нагрузить машины, например, разместив на них сайт "одноклассники.ру" и открыв к нему доступ. К счастью, подобные исследования проводятся довольно часто по заказу различных IT-компаний, поэтому можно обойтись лишь анализом результатов. программный компьютерный обеспечение
Одно из таких исследований было проведено компанией Yankee Group. В ходе опроса "2008 Server OS Reliability Survey" (Обследование надежности серверных ОС-2008) была собрана информация о показателях надежности различных серверных систем. В результате опроса выяснилось, что в течение 2007 и 2008 гг. Linux-дистрибутивы от Red Hat и Novell увеличили свою надежность в среднем на 75%. Исследование показало, что время простоя Windows 2003, тем временем, увеличилось на 25% (до 9 часов на сервер в год). Время простоя стандартной коробочной версии Red Hat Enterprise Linux уменьшилось на 75% (с 7,1 до 1,75 часа).
5. Безопасность
Этот аргумент является, пожалуй, самым популярным у сторонников СПО. Впрочем, разработчики проприетарного софта тоже во все горло заявляют о высоком уровне безопасности своих продуктов. Так кому же доверить сохранность своей информации?
Интуиция подсказывает, что довериться надо тому, у кого более прозрачны механизмы защиты, то есть продуктам с открытыми исходными текстами и базирующимся на открытых стандартах.
Но ведь интуиция может и подвести, а жертвовать своей информацией не хочется. На помощь приходят многочисленные исследования, посвященные анализу уязвимости тех или иных систем, однако не всегда их можно назвать объективными. Дело в том, что на уровень безопасности влияет множество факторов, и, если не учесть хотя бы один из них, получить адекватные результаты не удастся.
Одно из исследований безопасности операционных систем семейства Windows и *nixподобных ОС было проведено Николасом Петрели (Nicholas Petreley) в 2004 г. В качестве критериев оценки были выбраны следующие:
- серьезность уязвимостей в системе безопасности;
- количество уязвимостей, серьезность которых определяется как "критическая". Результат: 38% критических уязвимостей Windows Server 2003 против 10% Red Hat Linux. Конечно, прошло уже 4 года, в течение которых появились новые операционные системы, обладающие более эффективной системой безопасности, но неизменным остался подход к решению задачи обеспечения безопасности в свободных продуктах (открытые стандарты, система разделения полномочий, безопасное администрирование из консоли, модульность системы) и проприетарных (закрытые стандарты, монолитность систем, как правило, графический интерфейс администрирования). Однако не время делать поспешные выводы и приступать к раздаче советов, пусть это будет делом сугубо каждого.
Высокая скорость разработки "Базарная" модель разработки ядра Linux, по сути, стала революционной, и в настоящее время большинство продуктов СПО разрабатываются именно по данной модели. Наиболее подробно эта модель описана в произведении Эрика Стивена Рэймонда (один из основателей организации Open Source Initiative - Инициатива открытых ресурсов) "Собор и базар". Суть "базарной" модели состоит в том, что благодаря открытости и беспрепятственному распространению разрабатываемой программы создается сообщество программистов, которое может стать огромной мощью, увеличив скорость разработки программы. При разработке закрытых продуктов такая мощь, как правило, недоступна или обходится очень дорого.
Однако тут есть один подводный камень - "закон Брукса", который гласит, что привнесение в проект новых сил на поздних стадиях разработки лишь отодвигает срок сдачи проекта ("Мифический человеко-месяц, или Как создаются программные системы", Фредерик Брукс, 1975 г.). Другими словами, увеличение сообщества программистов не всегда приводит к увеличению скорости разработки, а иногда может и погубить весь проект. Фредерик Брукс объяснял это тем, что большее количество людей сложнее организовывать, увеличивается время взаимодействия разработчиков между собой, что приводит к сокращению полезного времени на разработку. К тому же новых, только что привлеченных программистов необходимо обучить и ввести их в курс дела.
Проанализировав все "за" и "против" данной модели, можно прийти к следующему выводу: данная модель имеет существенные ограничения в применении, для некоторых проектов лучше использовать классическую модель разработки ПО, а значит, скорость разработки СПО не всегда выше скорости разработки проприетарного софта.
6. Локализация
На Земле насчитывается около 5-6 тысяч различных языков и диалектов. Интерфейс программы может отображаться только на одном... Какой выбрать?
Вполне естественно, что разработчик пишет графический интерфейс пользователя на том языке, которым владеет он сам. Помимо этого разработчик может включить поддержку тех языков, которые ему помогут распространить свой продукт в других странах и тем самым обеспечить достаточное количество пользователей. Но что делать, если разработчик не включил поддержку вашего родного языка, а вам очень хочется использовать его программу?
Ответ один: локализовать программу силами программистов и переводчиков своей страны. Вот тут и проявляется преимущество СПО: локализовать свободный продукт намного проще с технической и юридической точки зрения, чем локализовать проприетарный софт. Как следствие, СПО имеет более широкую географию, нежели закрытое ПО.
7. Открытые стандарты
Одной из особенностей СПО является то, что оно почти всегда использует открытые стандарты. Что это дает рядовому пользователю? Как правило, существует несколько программных продуктов, использующих какой-либо открытый стандарт. Это позволяет изменить набор программных продуктов без негативных последствий.
В качестве примера можно привести Rich Text Format (RTF, "формат обогащенного текста" - свободный межплатформенный формат хранения размеченных текстовых документов). Данный формат поддерживают практически все текстовые редакторы (Word, WordPad, AbiWord, Open-Office, TextEdit). В то же время корпорация Microsoft использует закрытые до недавнего времени форматы хранения данных для своего пакета офисных приложений (.doc, .xls, .ppt). Правильная работа с данными в этих форматах возможна только с использованием продуктов Microsoft. Таким образом, при переходе на другой набор программ встает проблема конвертации всей информации из одного формата в другой, а это не всегда представляется возможным.
Использование открытых стандартов позволяет избежать подобной проблемы.
8. Выгоды свободного программного обеспечения для государства и общества в целом, выгоды для разработчиков и пользователей
Государству широкое применение свободного ПО приносит широкий спектр экономических, политических и социальных выгод, к которым можно причислить:
Свободное ПО можно рассматривать как общественное благо, доступное и приносящее пользу всему обществу, а не только владельцу.
Свободное ПО может использоваться в образовании одновременно и как инструмент, и как учебное пособие, внутреннее устройство которого полностью открыто и доступно для изучения и экспериментов без каких-либо ограничений, связанных с коммерческой тайной или лицензионными соглашениями.
Участие отечественных специалистов в разработке и внедрении свободного ПО повышает их профессиональную квалификацию, а это, в итоге, увеличивает национальный кадровый потенциал.
Применение свободного ПО позволяет выполнять разработку и внедрение полностью силами отечественных компаний, что стимулирует производство и создает дополнительные рабочие места внутри страны. Снижение доли иностранных поставщиков увеличивает макроэкономическую эффективность государственных инвестиций за счет эффекта мультипликатора Кейнса.
Снижение доли используемого иностранного собственнического ПО снижает зависимость страны от зарубежных поставщиков и увеличивает сальдо внешнеторгового баланса.
Принципы свободного ПО способствуют свободной конкуренции разработчиков, поставщиков и консультантов по внедрению ПО, поскольку предполагают возможность участия нескольких независимых компаний в одном проекте разработки свободного ПО и даже допускают создание ответвления проекта, поддерживаемого другой командой разработчиков.
Возможность свободного легального использования и распространения свободного ПО создает условия для декриминализации использования ПО в государственных, некоммерческих, научных и образовательных организациях, а также в сфере домашнего применения, поскольку позволяет отказаться от применения "трофейного" ПО без дополнительных расходов на закупку лицензий.
Наконец, интересы национальной безопасности требуют скорейшего замещения закрытых разработок зарубежных компаний свободным программным обеспечением, проанализированным и доработанным отечественными специалистами.
Свободное программное обеспечение - преимущества для государства, бизнеса и общества.
Выгоды свободного ПО для разработчиков и пользователей
На первый взгляд, выгоды от свободного ПО получают только пользователи, которым предоставляется больший объем свобод и в большинстве случаев бесплатный программный продукт.
Однако существуют и другие выгоды, затрагивающие все стороны:
Поскольку основным способом заработка компаний, бизнес которых основан на свободное ПО, являются услуги поддержки и доработки, здесь клиенты обычно получают гораздо больший объем сервисов лучшего качества за ту же или меньшую плату, чем в мире собственнического ПО, в котором техническая поддержка относится к расходам на послепродажное обслуживание. Например, сеть официальных партнеров среды дистанционного обучения Moodle.
Используя свободное ПО, клиент свободен от конкретных разработчиков и поставщиков услуг. Если качество или цена перестают устраивать клиента, он может выбрать любого другого поставщика и передать заказ ему. Что невозможно в собственническом ПО.
Многие собственнические программные продукты через некоторое время превращаются в "брошенное программное обеспечение" ("Abandonware"), когда владелец имущественных прав утрачивает интерес к данному программному продукту. Юридически, такой продукт по-прежнему охраняется авторским правом и лицензионным соглашением, а фактически продукт не развивается, не поддерживается и легально приобрести его уже невозможно. Со свободным ПО такого произойти не может - даже если первоначальный автор продукта утратит к нему интерес, возможность использовать и развивать этот продукт силами других разработчиков сохраняется. Например, широко известный Интернет-браузер Mozilla Forefox развился из продукта Netscape Communicator 5, после того как в 1998 году компания Netscape Communications Corporation пришла к выводу, что проиграла компании Microsoft в "войне браузеров" и решила превратить свой продукт в проект Свободного ПО (http://mozillalinks. org/wp/2008/01/ten-years-of-mozilla/).
Качество открытого исходного кода Свободного ПО, как правило, выше, поскольку закрытый исходный код скрывает недостатки и ошибки разработчика от коллег и клиентов. При открытом коде выше доля ответственности разработчика, в том числе и его репутационная ответственность.
В развитии свободного ПО может участвовать любой из пользователей. Благодаря этому свободное ПО может лучше отражать предметную область и быть более удобным в применении. Следует отметить, что этот эффект в наибольшей степени сказывается в областях, охватывающих достаточно большое количество IT-специалистов, таких как разработка программного обеспечения, наука, образование, порталы государственных услуг населению.
Благодаря доступности исходных кодов и свободы их использования свободное ПО позволяет реализовать все преимущества повторного использования кода свободное ПО в гораздо меньшей степени нуждается в рекламе. Поэтому небольшие компании, разрабатывающие свободное ПО, имеют гораздо больше шансов на быстрое развитие. Так, например, произошло с компанией-разработчиком свободной системы управления контентом Alfresco (http://www.alfresco.com/).
Эффект от поддержки основанного на свободном ПО проекта IT-сообществом может оказаться настолько велик, что даже небольшой студенческий проект может превратиться в передовой программный продукт, наравне конкурирующим с лидерами IT-отрасли, и будет поддерживаться крупнейшими коммерческими и государственными организациями. Яркий пример, ядро операционной системы Linux.
Выгоды для государственных организаций и крупных компаний от участия в проектах разработки свободного ПО. Как было показано выше, одним из основных преимуществ и движущей силой проектов Свободного ПО является участие пользователей в процессе его разработки. Однако это преимущество так бы и осталось нереализованным, если бы не выгоды, получаемые пользователями и заказчиками разработки свободного ПО от участия в его развитии.
Если несколько различных организаций нуждаются в одинаковом программном продукте, часто гораздо эффективнее развивать один общий проект свободного ПО, чем несколько одинаковых проектов заказной разработки. Например, так возник и успешно развивается свободный веб-сервер Apache.
Заказная разработка, будучи лицензирована как свободное ПО, имеет шансы стать самостоятельно развивающимся проектом, благодаря чему первоначальный заказчик проекта может сэкономить на поддержке и развитии проекта и получить более качественный продукт.
Никто не обязывает пользователей делиться модификациями, сделанными для собственных нужд, в то же время пользователь не несет дополнительных затрат на такую форму сотрудничества.
В обмен же он получает наличие нужной ему функции в следующей версии сразу, без доработок, и возможность передать поддержку собственного кода и обеспечение его совместимости с будущими версиями продукта другим разработчикам.
Когда крупная организация или государственная структура решает использовать в своем бизнес-процессе программный продукт, им требуются некоторые гарантии того, что проект и дальше будет двигаться в удобном для них направлении, что в будущих версиях сохранятся и будут развиты все важные для организации функции и свойства программного продукта. Если в собственническом ПО такое возможно только для заказчиков, обеспечивающих значимую долю прибыли компании-разработчика, или в полностью заказных разработках, то в мире свободного ПО это обеспечивается гораздо проще и дешевле - участием представителей заинтересованной компании в проекте разработки свободного ПО.
Публикация под открытой лицензией проектов, разработанных на государственные средства, является социально справедливым действием, поскольку создает дополнительные общественные блага, которыми налогоплательщики могут воспользоваться.
Заключение
Очевидно, что СПО обладает своими плюсами и минусами. Ничто не идеально в этом мире и в мире программного обеспечения в частности, а значит, не существует единого конкретного решения всех проблем.
Поэтому выбирать свободное ПО или проприетарное - дело сугубо каждого. Критерий может быть только один: задача должна быть решена максимально эффективно. Однако СПО все больше и больше претендует на роль основного инструмента для решения задач, и это не может не радовать.
Доступ к огромному пулу готовых программ СПО распространяется под различными лицензиями. Самой известной является GNU (General Public License - Универсальная общедоступная лицензия). Одно из обязательных условий данной лицензии - доступность исходного кода программы. Также доступным должен стать исходный код программы, разработанной с использованием кода, распространяемого по лицензии GPL. Таким образом, формируются репозитории со свободными программами, находящиеся в открытом доступе. Следует отметить, что не все свободные лицензии требуют размещения в открытом доступе производных программных продуктов, однако репозитории каждый день пополняются новыми программами. И все это "богатство" доступно программистам для создания своих продуктов, а значит, не надо заново изобретать колесо, а можно взять готовый программный модуль. Как далеко шагнула бы вперед программная индустрия, если бы Microsoft открыла код своей "операционки"...
Независимость от разработчиков Жизненный цикл любого ПО включает в себя не только этапы разработки и использования ПО, но и этапы сопровождения и модернизации.
Очень часто на этапах сопровождения и модернизации вкладывается больше денежных средств, чем на этапе разработке. Таким образом, выбор организации, занимающейся сопровождением ПО, должен проводиться также с учетом экономической эффективности. В случае с проприетарным ПО все просто: исходный код закрыт, а значит, сопровождать его может только сам разработчик, который в данном случае будет монополистом с большим аппетитом. СПО позволяет выбрать для сопровождения программы не только разработчика, но и любую другую организацию, которой под силу разобраться в исходном коде. Появляется свободная конкуренция, которая приводит к снижению затрат.
Список использованной литературы
1. http://www.vestnik.vsu.ru
2. Information Security №1, февраль-март 2009.
3. Интернет, Википедия.
Размещено на Allbest.ru
Подобные документы
Несоответствие процессов разработки программного обеспечения международным стандартам. Фазы, развитие вычислительной инфраструктуры. История развития компьютерных систем. Этапы разработки программ и их тестирование. Ошибки в программном обеспечении.
реферат [176,2 K], добавлен 27.08.2009Методические аспекты перехода на СПО в условиях школьного образования. Аналоги Linux-программ при создании школьного комплекта свободного программного обеспечения. Методика использования альтернативной реализации Windows-интерфейса в системе Linux.
дипломная работа [2,3 M], добавлен 03.05.2012Схемы взаимодействия между заказчиком и разработчиком программного обеспечения. Качество программного обеспечения и определение основных критериев его оценка на современном этапе, особенности управления на стадиях жизненного цикла, анализ достаточности.
презентация [114,7 K], добавлен 14.08.2013Разработка и цели внедрения свободного программного обеспечения в образовательные учреждения. Основные понятия векторной графики на примере редактора Inkscape, интерфейс программы. Разработка серии практических заданий с использованием Inkscape.
курсовая работа [4,1 M], добавлен 15.01.2011Понятие программного обеспечения, вопросы его разработки и использования. Общая характеристика системного программного обеспечения и работа операционной системы. Специфика процесса управления разработкой программного обеспечения и его особенности.
курсовая работа [636,2 K], добавлен 23.08.2011Цели и задачи программной инженерии. Понятие программного обеспечения. Шесть принципов эффективного использования программного обеспечения. Виды программного обеспечения: общесистемное, сетевое и прикладное. Принципы построения программного обеспечения.
курсовая работа [30,4 K], добавлен 29.06.2010Надежность как характеристика качества программного обеспечения (ПО). Методика расчета характеристик надежности ПО (таких как, время наработки до отказа, коэффициент готовности, вероятность отказа), особенности прогнозирования их изменений во времени.
дипломная работа [1,2 M], добавлен 01.06.2010Факторы, сдерживающие развитие свободного программного обеспечения в России. Описание задачи по совершенствованию рабочих мест: выбор операционной системы и программного обеспечения. Результаты от совершенствования рабочих мест сотрудников ООО "Даргез".
курсовая работа [6,9 M], добавлен 06.06.2013Постановка проблемы надежности программного обеспечения и причины ее возникновения. Характеристики надежности аппаратуры. Компьютерная программа как объект исследования, ее надежность и правильность. Модель последовательности испытаний Бернулли.
реферат [24,8 K], добавлен 21.12.2010Оснащенность предприятия системным программным обеспечением, используемым для организации производственного процесса. Проектирование, внедрение и эксплуатация системного и прикладного программного обеспечения. Тестирование и отладка программного продукта.
отчет по практике [272,2 K], добавлен 29.12.2014