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

 

В 1983 году сотрудник Массачусетского технологического института Ричард Столлмэн опубликовал объявление о начале разработки системы GNU. Название GNU – это рекурсивный акроним от английского «GNU’s Not UNIX», то есть «GNU – не Unix!». Система GNU – это свободная UNIX-подобная операционная система.

 

В среде разработчиков программного обеспечения вообще любят рекурсивные аббревиатуры. Например, WINE – набор библиотек для Linux, обеспечивающих прямую совместимость с Linux программ, разработанных для работы в среде Windows NT/2000/XP/Vista. Название точно таким же образом раскрывается в фразу «WINE is not emulator!».

 

В 1984 году Столлмэн уволился из МИТ с целью посвятить свое время написанию свободной операционной системы GNU и сопутствующего программного обеспечения, а также для того, чтобы институт не мог претендовать на какие-либо права на исходный код системы.

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

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

Тем не менее, в октябре 1985 года для поддержки движения свободного программного обеспечения, и, в особенности, проекта GNU, Столлмэн основал FSF (Free Software Foundation, Фонд свободного программного обеспечения). Со момента основания и до середины 1990-х средства Фонда использовались в первую очередь для найма разработчиков в целях написания свободных программ. Начиная с середины 90-х годов идея создания свободного программного обеспечения получила широкую поддержку, свободное ПО стали создавать многие компаниями и частные лицами. Сотрудники же ФСПО с тех пор в основном работают над юридическими и организационными вопросами в области свободного ПО.

Проекты GNU и FSF оказали очень большое влияние на развитие информационной индустрии. Так, в рамках их деятельности была выработана лицензия на использование программного обеспечения, получившая название GNU GPL.

GNU General Public License, или Универсальная общедоступная лицензия GNU была создана в 1988 г. Возможно, это наиболее популярная лицензия на свободное программное обеспечение. Ее сокращенно называют GNU GPL или еще чаще просто GPL. Целью лицензии является предоставление пользователю юридического права копировать, модифицировать и распространять (в том числе на коммерческой основе) программы, а также гарантировать, что и пользователи всех производных программ получат эти же права. Такой принцип «наследования» прав был придуман Столлмэном и называется копилефт(copyleft). Традиционный подход к авторскому праву, копирайт, предусматривает ограничение свободы копирования произведений. Копилефт, наоборот, использует законы об авторском праве для обеспечения невозможности ограничения такого права. Идея состоит в том, что каждый, кто распространяет программу, как с изменениями, так и без них, не имеет права ограничивать свободу ее дальнейшего распространения либо модификации.

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

Вторая версия GPL была выпущена в 1991 году, а третья – в 2007. Новые версии лицензии учитывают рекомендации и совокупный опыт всех заинтересованных сторон, но с сохранением приверженности принципам свободного ПО.

Кроме GPL, в рамках проекта GNU были разработаны еще несколько лицензий, такие как GNU LGPL – версия GPL с заниженными требованиями, или GNU AGPL(Affero General Public License) – усиленная версия GPL для программ, предназначенных для доступа к ним через сеть.

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

 

Хорошей иллюстрацией отрицательных последствий полного сокрытия кода может послужить частичное открытие компанией Microsoft исходного кода операционной системы Windows NT, которое было сделано во исполнение решения антимонопольного суда США. Спустя некоторое время появилось несколько типов новейших вирусов, эффективно эксплуатировавших недоработки в системе безопасности, которые стали известными именно благодаря этому открытию. Если же код системы был изначально открытым, то коллективным подходом такие недостатки удалось бы оперативно выявить и устранить еще на самом раннем этапе.

 

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

Интересно, что бесплатность ПО есть право пользователя, но не обязанность производителя – «открытая» лицензия не требует, чтобы ПО всегда предоставлялось бесплатно. Тем не менее, большинство успешных проектов «открытого» ПО бесплатно.

Термин «Открытое программное обеспечение» (open software) был предложен в 1998 году на том основании, что термин «Свободное программное обеспечение» (free software) неоднозначен и отпугивает коммерческих пользователей.

Подавляющее большинство открытых программ является одновременно «свободным» и наоборот, поскольку определения открытого и свободного ПО близки, а большинство лицензий соответствуют обоим.

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

 


<== предыдущая лекция | следующая лекция ==>
Объектно-ориентированное программирование | Элементы защиты информации




Дата добавления: 2019-10-16; просмотров: 114; ЗАКАЗАТЬ НАПИСАНИЕ РАБОТЫ


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию, введите в поисковое поле ключевые слова и изучайте нужную вам информацию.

Поделитесь с друзьями:

Если вам понравился данный ресурс вы можете рассказать о нем друзьям. Сделать это можно через соц. кнопки выше.
helpiks.org - Хелпикс.Орг - 2014-2020 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.006 сек.