Учебно-методические материалы для студентов кафедры АСОИУ

Лекция 1. Что такое свободное ПО?

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

Категории ПО

Свободное ПО (Free software)

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

Проект GNU определяет четыре критерия, используя их для оценки степени свободы программного обеспечения:

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

Если программа свободна, то в перспективе она может быть включена в состав свободной операционной системы, такой как GNU, или GNU/Linux.

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

Free as in Freedom

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

Ричард Мэтью Столлмэн

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

ПО с открытыми исходными текстами (Open Source software)

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

ПО общественной собственности (Public domain software)

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

Иногда понятие «общественная собственность» используется в вольном толковании, вместо «свободный» либо «доступный даром». В то же время, «общественная собственность» — это правовой термин, который означает, строго говоря, «не являющийся объектом авторского права» (not copyrighted). Для точности мы рекомендуем использовать понятие «общественная собственность» исключительно в этом смысле и применять другие термины, чтобы выразить другие идеи.

ПО, подчиняющееся «авторскому леву» (Copylefted software)

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

Мы применяем «авторское лево» к большей части программ, написанных в рамках Проекта GNU, поскольку наша цель — дать каждому пользователю свободу, которую подразумевает понятие «свободное программное обеспечение». Доступно более подробное пояснение, как работает принцип «авторского лева» и почему мы используем его.

«Авторское лево» является общей концепцией, чтобы практически объявить программу объектом «авторского лева», требуется сопроводить ее конкретным набором условий распространения. Существует множество способов их сформулировать.

Свободное ПО, не подчиняющееся «авторскому леву» (Non-copylefted free software)

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

Если программа является свободной, но не подчиняется «авторскому леву», то некоторые копии либо модификации могут вообще потерять свободу. Компьютерные компании могут скомпилировать эту программу (как измененную, так и оригинал) и распространять исполнимые файлы как собственнический программный продукт.

ПО, подчиняющееся GPL (GPL-covered software)

GNU GPL (General Public License, Общественная Публичная Лицензия) предлагает один из конкретных наборов условий распространения программы, который подчиняет ее «авторскому леву». Проект GNU использует ее для большинства своих программ.

Система GNU (The GNU system)

Система GNU представляет собой завершенную свободную Unix-подобную операционную систему.

Unix-подобная операционная система включает в себя множество программ. Компоненты такой системы накапливаются нами с 1984 года, первый тестовый выпуск «полной системы GNU» состоялся в 1996 году.

Система GNU включает все программные средства GNU, а также и множество других пакетов, подходящих под определение свободного ПО, таких как X Window System и TeX, которые разработаны не в рамках проекта GNU.

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

Программы GNU (GNU programs)

Термин «программы GNU» совпадает с «Программным обеспечением GNU». Программа Foo является программой GNU, если она входит в программное обеспечение GNU.

Программное обеспечение GNU (GNU software)

Программное обеспечение GNU — такое, что выпускается под покровительством Проекта GNU. Большая его часть подчиняется «авторскому леву», но не все; тем не менее, каждая программа проекта GNU является свободной.

Если программа является частью программного обеспечения GNU, мы также говорим, что эта программа есть программа GNU.

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

Полусвободное ПО (Semi-free software)

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

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

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

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

Мы бы не хотели, чтобы произошло следующее:

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

Если существует задача, которая требует программы, то пока у нас не появится свободная программа, система GNU будет иметь прореху. Нам придется сказать желающим: «Мы не имеем программы, решающей такую-то задачу, в составе системы GNU, и поэтому мы надеемся. что вы ее напишете.» Если же мы сами воспользуемся полусвободным ПО, это может лишить нас (и тех, кто к нам прислушивается) стимула создать свободный заменитель. Вот почему мы так не поступаем.

Freeware

Термин «freeware» не имеет точного определения, но применяется широко к программным пакетам, которые позволено распространять, но не модифицировать (при этом исходные тексты недоступны). Такие пакеты не являются свободными, поэтому не стоит применять термин «freeware» для обозначения свободных программ.

Условно-бесплатное ПО (Shareware)

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

Условно-бесплатное ПО не является ни свободным, ни даже полусвободным. Тому есть две причины:

Собственническое ПО (Proprietary software)

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

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

Например, мы допускали установку Unix на наши компьютеры в 1980-е годы, поскольку мы использовали его для написания свободного заменителя Unix. Сегодня, поскольку доступны свободные операционные системы, такое оправдание более недействительно; мы удалили все копии несвободных ОС, и каждый новый компьютер, который у нас появляется, должен использовать полностью свободную операционную систему.

Мы не настаиваем, чтобы пользователи либо сторонние участники проекта GNU, обязательно придерживались этого правила. Мы придумали его для себя. Тем не менее, мы надеемся, что вы последуете за нами.

Коммерческое ПО (Commercial Software)

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

Например, GNU Ada всегда распространяется на условиях GNU GPL, и каждая копия свободна, но разработчики этой системы продают услуги сопровождения. Когда их торговые представители общаются с потенциальными покупателями, иногда последние говорят: «Мы бы чувствовали себя в большей безопасности с коммерческим компилятором». На это продавцы отвечают: «GNU Ada — коммерческий компилятор; так получилось, что он является в то же время свободной программой».

Для Проекта GNU акценты смещаются: более важно то, что GNU Ada является свободной программой, а то, что она коммерческая, не критично. В то же время, дополнительное развитие GNU Ada, причина которого кроется в коммерческом статусе проекта, определенно полезно.

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

Почему программы должны быть свободными?

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

Цифровые технологии предлагают большую гибкость, чем, например, книгопечатание.

Система авторского права, возникшая вместе с книгопечатанием, закрепляет за каждой программой «владельцев» — правообладателей, имеющих исключительные возможности по ее копированию и модификации

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

Гибкость распространения цифровой информации плохо согласуется с существующими системами авторского права, в основе которых – прибыль правообладателя

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

Методики Ассоциации Издателей Программ (Software Publishers Association, SPA) по защите авторских прав:

Аргументы собственников ПО:

CC-BY-CA Анатольев А.Г., 08.06.2022