Критерии свободного программного обеспечения

Критерии свободного программного обеспечения

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

История

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

В 1969 году правительство США объявило, что включение свободных программ в комплект аппаратных средств нарушает принципы конкуренции. Поэтому в 1970 и начале 1980-х годов в индустрии программного обеспечения начали использовать технические меры, чтобы предотвратить изучение и модифицирование ПО, а в 1980 году был принят закон об авторском праве для компьютерных программ.

В 1983 году Ричард Столлман, член хакерского сообщества MIT Лаборатории искусственного интеллекта, объявил начало проекта GNU, разочаровавшись в последствиях изменения культуры компьютерной индустрии. В январе 1984 года началась разработка программного обеспечения для операционной системы GNU и был создан Фонд свободных программ. Ричард Столлман разработал свободное программное обеспечение и понятие free software (свободное программное обеспечение) для того, чтобы обеспечить свободу копирования ПО для всех.

Термин open source (открытый код) был создан гораздо позднее, в 1998 году Эриком Реймондом и Брюсом Перенсом, которые считали, что термин free software в английском языке неоднозначен, т.к. может означать и «свободный», и «бесплатный», а потому смущает многих коммерческих предпринимателей.

Определение свободного программного обеспечения

“Свободное программное обеспечение” означает свободу, а не цену. Чтобы понять эту концепцию, следует представлять себе “свободу слова”, а не что-то бесплатное.

Существуют четыре разновидности свободы пользователей программы:

  • Программу можно свободно использовать с любой целью («нулевая свобода»).
  • Можно изучать, как программа работает, и адаптировать её для своих целей («первая свобода»). Условием этого является доступность исходного текста программы.
  • Можно свободно распространять копии программы — в помощь товарищу («вторая свобода»).
  • Программу можно свободно улучшать и публиковать свою улучшенную версию — с тем, чтобы принести пользу всему сообществу («третья свобода»). Условием этой третьей свободы является доступность исходного текста программы и возможность внесения в него модификаций и исправлений.

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

Описание

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

Программное обеспечение с открытым кодом имеет ряд преимуществ перед проприетарным ПО.

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

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

В-третьих, СПО легко адаптируется: большое количество доступных свободных приложений позволяет приспосабливать их под конкретные нужды пользователей и создавать на их основе новые необходимые программы.

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

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

Читайте также:  Newtonsoft json c deserialize

Задачи

Использование СПО позволяет решать следующие задачи:

  • обеспечение импортозамещения проприетарных компонентов информационных систем, снижение зависимости от монополистов;
  • стимулирование развития отечественной отрасли разработки программ для ЭВМ;
  • расширение возможности участия отечественных разработчиков в выполнении работ и оказании услуг для государственных и муниципальных нужд, обеспечивая дополнительные инвестиции в развитие отечественного производителя;
  • обеспечение высокого уровня технологической независимости;
  • уменьшение числа нарушений, связанных с правовой защитой программ для ЭВМ.

Текущий статус

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

В третьем квартале 2015 года планируется подготовка проекта распоряжения Правительства Российской Федерации об утверждении плана поэтапного внедрения СПО на следующий плановый период.

В среде программистов есть люди, которые готовы безвозмездно предоставлять результаты своей работы вместе с возможностью их изменять и улучшать. Речь идет о производителях так называемого открытого программного обеспечения, которое вот уже много лет является предметом споров в мировом ИТ-сообществе. Одни говорят, что за открытым ПО будущее, другие — наоборот, считают его опасным и ненужным. Но кто же в итоге прав? Вряд ли есть окончательный ответ на это вопрос.

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

В чем же прелесть открытого программного обеспечения? По мнению представителей этого течения, ПО с открытым кодом позволяет:
а) подстраивать программный продукт под требования конкретного пользователя или группы пользователей;
б) устранять ошибки предыдущих разработчиков;
в) дорабатывать и совершенствовать программный продукт.

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

Стоит отметить, что в глобальном представлении открытое ПО включает в себя непосредственно open source software, а также другие разновидности программных продуктов, которые могут распространяться безвозмездно и предоставлять исходный код для внесения изменений. К такому ПО относятся бесплатные (freeware) и свободные (free software) программы.

Итак, термин open source (открытое программное обеспечение) был впервые применен в 1998 году программистами Эриком Реймондом (Eric Steven Raymond) и Брюсом Перенсом (Bruce Perens). Они были уверены в том, что термин free software (свободное программное обеспечение) в английском языке является неоднозначным и в каком-то смысле может даже отпугивать предпринимателей, являющихся потенциальными пользователями такого софта. В настоящее время open source является торговой маркой организации Open Source Initiative, которая занимается распространением ПО с открытым кодом. Кроме того, существует также и специальный комитет, который решает, может ли лицензия той или иной программы носить имя open source.

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

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

Читайте также:  Ваш браузер устарел что делать

Основателем концепции free software является американский программист Ричард Столлмэн (Richard Matthew Stallman). Именно он впервые сформулировал понятие свободного программного обеспечения, в котором отразились принципы открытой разработки программ в научном сообществе, сложившемся в университетах США в 1970-е годы. Столлмэн сформулировал четкие критерии свободного ПО. Эти критерии оговаривают те права, которые автор свободной программы передает любому пользователю. Таким образом, используя свободное программное обеспечение, пользователь получает "четыре свободы": запускать, изучать, распространять и улучшать программу.

То есть:
— "Нулевая свобода" — программу можно использовать с любой целью.
— "Первая свобода" — можно изучать, как программа работает, и адаптировать ее для своих целей. Условием этого является доступность исходного кода программы.
— "Вторая свобода" — можно распространять копии программы — в помощь разработчику.
— "Третья свобода" — программу можно улучшать и публиковать свою улучшенную версию с тем, чтобы принести пользу всему сообществу. Условием этого также является доступность исходного кода программы.

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

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

Что касается условия распространения и использования программ free software, то зачастую их копирование запрещено, а обратная разработка, изменение, повторное распространение оговариваются в лицензионном соглашении.

Тем не менее, существуют программы, попадающие, по мнению некоторых экспертов, под определение открытых, но не являющиеся свободными. К таким программам относится, к примеру, UnRAR, распаковщик RAR-архивов. Дело в том, что его исходный код находится в открытом доступе, но лицензия запрещает использовать его для создания RAR-совместимых архиваторов.

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

Открытый доступ к исходным кодам программ является также ключевым признаком свободного программного обеспечения, поэтому предложенный позднее Эриком Реймондом термин "Open Source Software" (ПО с открытым исходным текстом) некоторым представляется даже более удачным для обозначения феномена свободного ПО, чем предложенный в свое время Столлмэном "free software".

Заметим, что преимущества свободной разработки для пользователя не следует преувеличивать. Далеко не все свободные программы в равной степени доступны для внесения изменений пользователем, что, с другой стороны, совершенно не связано с лицензией на их распространение. Важную роль при этом играет объем программы: если в ней десятки тысяч строк (как, например, в OpenOffice.org — аналог Microsoft Office), то даже квалифицированному специалисту понадобится довольно много времени, чтобы найти и устранить ошибку. Рассчитывать на разработчиков, которые отреагируют на все замечания и предложения пользователя и немедленно исправят программу, тоже нельзя, так как они не несут перед пользователем никаких обязательств по качеству программы. В этой связи пользователь запатентованной программы может оказаться в лучшем положении.

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

Читайте также:  Как перевести деньги на другой телефон мтс

Место свободных программ на сегодняшнем рынке ПО очень значительно, и многие коммерческие и государственные предприятия используют free software прямо или косвенно. Например, все пользователи сети интернет, хоть и опосредовано, задействуют свободную программу Bind, предоставляющую службу DNS. Кроме того, многие организации (в частности предоставляющие услуги через всемирную паутину) используют свободный web-сервер Apache, от работы которого может зависеть непосредственно прибыль предприятия, не говоря уже о серверах на платформе Linux.

Выгода использования свободного и открытого ПО очевидна: за него, как правило, не приходится платить, а если приходится, то стоит оно гораздо дешевле патентованных аналогов. Главный недостаток, с точки зрения коммерческого пользователя, заключается в том, что разработчики свободных программ не несут никаких обязательств, кроме моральных. То есть за качество ПО, они, по сути, не отвечают.

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

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

Поэтому сегодня существует тенденция, когда большие ИТ-корпорации, такие как Intel, Oracle или IBM стараются оказывать поддержку проектам по разработке свободного ПО, оплачивая работу сотрудников этих проектов, чтобы степень ответственности разработчиков была на высоком уровне. Зачем они это делают, ведь открытое и свободное ПО является для них конкурентным? Ответ прост — они видят в этом выгоду, которую стараются не сделать упущенной, так как каждый день на базе ПО с открытым кодом появляется множество программ, некоторые из которых в последствии могут стать сильными коммерческими продуктами.

Существует несколько основных лицензий, которые используются для распространения свободного ПО в настоящее время: AROS Public License, Лицензия BSD, CDDL, Common Public License, GNU Free Documentation License, GNU General Public License, GNU Lesser General Public License, Лицензия MIT, Mozilla Public License, Open Directory License и др. Для всех свободных лицензий, так или иначе, характерно соответствие принципам копилефта (copyleft — это каламбур от слова копирайт). В противоположность традиционному подходу к авторскому праву, при котором ограничивается свобода копирования произведений, принцип копилефта использует законы об авторском праве для обеспечения невозможности ограничить любому человеку права использовать, изменять и распространять, как само произведение, так и произведения, базирующиеся на нем. Идея копилефта заключается в том, что каждый, кто распространяет программу, как с изменениями, так и без них, не вправе ограничивать свободу ее дальнейшего распространения, либо модификации. Копилефт гарантирует, что каждый пользователь свободен в своих действиях.

Количество лицензий, которые соответствуют Определению понятия open source (открытого ПО), на данный момент насчитывается более пятидесяти. Open Source является торговой маркой организации Open Source Initiative. Существует специальный комитет, решающий, может ли лицензия носить имя open source. Одним из самых больших в мире веб-сайтов для разработчиков открытого ПО является всем известный портал SourceForge.net. На этом сайте разработчики могут размещать и совместно разрабатывать свои программные проекты. В настоящее время на SourceForge.net размещено несколько сотен тысяч проектов, а количество зарегистрированных пользователей превышает один миллион.

Безусловно, открытое и свободное программное обеспечение все активнее захватывают аудиторию. Программы на основе открытого кода довольно успешно применяются как частными пользователями, так и коммерческими, государственными и общественными организациями. Софт на базе open source и free software уже используется в качестве предустановочного для некоторых моделей ноутбуков и нетбуков различных производителей. Кроме того, ПО с открытым кодом постепенно завоевывает рынок систем автоматизации для малых и средних предприятий.

Ссылка на основную публикацию
Adblock detector