Что такое свободное по почему оно распространяется по лицензии
Перейти к содержимому

Что такое свободное по почему оно распространяется по лицензии

  • автор:

Лицензии свободного ПО: какие они бывают и как выбрать подходящую для вашего продукта

Лицензии свободного ПО: какие они бывают и как выбрать подходящую для вашего . главное изображение

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

Материал подготовил Гавриил Максютенко, активный участник сообщества GNOME. Любит изучать непопулярные языки программирования – Nim, Vala, Clojure, F#, Pharo (Smalltalk), Gleam, начал писать свой язык, похожий на Smalltalk. Опыт работы с АСУТП, веб- и десктоп-приложениями, ERP. Также благодарим за участие в проверке статьи Андрея Ситника, ведущего фронтенд-разработчика в Evil Martians.

Каким был бы мир без свободного ПО

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

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

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

Как зародилось свободное ПО

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

Корпорации, разумеется, были против. Один из наиболее известных случаев — открытое письмо Билла Гейтса, в котором он обвиняет пользователей BASIC в воровстве, утверждая, что большинство из них не покупали BASIC, а просто копировали его друг у друга.

Однако многие программисты считали, что у пользователей ПО должны быть все права на его изучение и изменение. По аналогии с покупкой автомобиля: купив машину, вы можете посмотреть как устроен двигатель, починить или изменить его, дать покататься друзьям. Одним из лидеров движения за свободное программное обеспечение был Ричард Столлман: он решил создать собственную лицензию, которая будет обладать полной юридической силой, но в то же время гарантировать возможность оставлять софт открытым. Так Столлман создал первую свободную лицензию GNU GPL — General Public Licence. В 1989 году он выпускает первую программу под этой лицензией — редактор кода GNU Emacs, который популярен до сих пор. Про незаурядную личность Ричарда Столлмана в блоге Хекслета есть отдельная статья.

Так зародилось движение за свободное ПО и свободные лицензии. По сути оно стало борьбой против авторского права, которое не дает права владения продуктом, несмотря на то, что пользователь за него заплатил. Сегодня и корпорации оценили пользу свободного ПО: почти каждая большая компания имеет свой открытый репозиторий. Именно благодаря этому у нас есть такие библиотеки, как React (Facebook/Meta) или Protobuf (Google).

Список репозиториев с открытым ПО «большой пятерки»:

Что такое свободное ПО

Свободное ПО — это софт с открытой лицензией. Есть разные виды лицензий, но все они гарантируют следующие свободы:

  1. Свобода использования в любых целях, включая коммерческие. Вы не можете сказать, что ваша лицензия работает только в определенной стране или для определенной группы населения.
  2. Свобода распространения. Любой человек может распространять и даже продавать продукт со свободной лицензией.
  3. Свобода изменения. Вы можете изменять код продукта, например, исправить в нем баг или добавить нужную вам функцию. Также эта свобода подразумевает агрегацию. Можно собрать коллекцию свободного программного обеспечения, использовать ее в собственном приложении (например, пакеты React и Material UI), а затем продавать его.
  4. Свобода распространения измененной версии. Это сумма пунктов 2 и 3, которая подразумевает, что вы можете форкнуть (скопировать) проект, если автор не согласен принять ваше изменение.

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

Свободные лицензии делятся на обычные (разрешительные) и вирусные — обоим типам применимы все четыре свободы.

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

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

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

Ниже разберем примеры вирусных и невирусных лицензий.

GNU General Public License

Первая лицензия GNU General Public License до сих пор остается одной из самых популярных.

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

Именно это и делает GNU GPL. Лицензия является вирусной, то есть при добавлении кода под GNU GPL в проект, ваш код «заражается» и обязан быть выпущен под GNU GPL или другой совместимой лицензией (да, некоторые лицензии совместимы между собой, то есть код с разными лицензиями может быть объединен в одном проекте, но об этом поговорим чуть позже).

В лицензии GNU GPL есть два основных пункта:

  1. Исходный код должен либо распространятся с бинарными файлами программы, либо должно быть письмо с пояснением, как их запросить.
  2. Если код под GPL попадает в проект, то весь проект также автоматически станет GPL. Полная версия лицензии на английском

Существуют вторая и третья версии GNU GPL, про них мы тоже поговорим.

GNU General Public License v2

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

Также v2 уточняет: если вы решили распространять программу с инструкцией о запросе исходников, то все, кто получил программу от вас и распространяют ее дальше, обязаны также прикладывать эту инструкцию. В такой инструкции будет указан ваш email-адрес, на который можно отправить запрос, а вы в ответ пришлете исходные коды.

GNU Lesser General Public License (LGPL)

Эта лицензия менее «свободна» и в основном используется для программных библиотек. LGPL не гарантирует конечному пользователю полную свободу использования программного обеспечения. Только свободу модификации для компонентов, лицензированных по LGPL, но не для каких-либо проприетарных компонентов.

Коммерческое ПО может линковаться с библиотекой, выпущенной под LGPL, и при этом оно не будет «заражено» GPL и может оставаться закрытым.

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

MIT (X11 License)

Эту лицензию разработали в Массачусетском технологическом институте специально для системы X11 Windows System, которая повсеместно используется в Linux-десктопах уже 37 лет. Поэтому ее также называют X11 License.

Чтобы продукт распространялся под лицензией MIT, достаточно приложить текст этой лицензии и распространять продукт вместе с ним.

Полный текст MIT. Для сравнения: текст третьей версии GNU GPL состоит из 2567 слов.

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

Под лицензией MIT выпущено множество известных продуктов: PuTTY, Mono, Ruby on Rails, JQuery, Wayland и, конечно же, X Window System.

У университета Беркли тоже есть своя лицензия — Berkeley Software Distribution License. Текст лицензии является общественным достоянием, это позволяет любому модифицировать его, создавая свою лицензию на основе BSD. Такие лицензии называют «лицензии типа BSD».

Например, общественная лицензия Microsoft добавляет запрет на изменение лицензии в случае, если код распространяется в виде исходников. Есть также NetBSD, FreeBSD, OpenBSD, DragonFly BSD, но самой используемой считается «модифицированная версия BSD», также известная как «BSD с тремя пунктами». Дело в том, что изначальная версия из четырех пунктов (англ. «four-clause BSD») содержала неудачный пункт о необходимости подстановки копирайта университета Беркли.

Каждый, кто пользовался BSD, заменял Беркли на свой вариант организации или собственное имя. Известен случай, когда из-за этого пункта приходилось упоминать 75 других организаций. Также этот пункт делал BSD несовместимой с GPL, так как GPL запрещает добавлять новые ограничения, помимо перечисленных в ней самой. После двухлетней дискуссии было принято решение об удалении пункта о рекламе. Теперь в лицензии только три пункта:

Трехпунктовая BSD довольно похожа на MIT, но в MIT явно указаны разрешения на сублицензирование, слияние, публикацию и продажу. Тем не менее эти свободы подразумеваются и в BSD, их можно отнести к «использованию» или «распространению». Можно сказать, что выбор между MIT и BSD — исключительно дело вкуса.

GNU General Public License v3

GPL третьей версии создавалась дольше предыдущих версий, а во время ее утверждения шли бурные споры. Подробно об изменениях GPL v3 можно узнать из официальной статьи GNU.

Вот три главных нововведения:

Борьба с тивоизацией

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

Одна из целей GPLv3 — закрыть подобную лазейку, то есть пресечь тивоизацию. Если компания использовала свободное ПО под GNU GPL v3 в своем устройстве, лицензия позволяет владельцу устройства запросить исходные коды.

«Тивоизация — опасная попытка урезать свободу пользователей: право изменять свои программы станет бессмысленным, если ни один из ваших компьютеров не даст вам это делать. GPL v3 останавливает тивоизацию, требуя, чтобы распространитель предоставлял вам любые сведения и данные, необходимые для установки измененных программ на устройство»

Запрет на дискриминационные патентные соглашения

Со временем Microsoft и другие корпорации нашли способ ограничивать свободу пользователей: они открывают исходный код, но для работы с ним необходимо купить патент. GNU GPL v3 запрещает такую практику.

Обход цифровой защиты

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

GNU Affero General Public License

Эта лицензия была разработана Фондом свободного программного обеспечения на основе GNU General Public License и Affero GPL, чтобы решить проблему облачных сервисов. Она обязывает сервер, на котором исполняется модифицированная программа, предоставлять доступ к исходному коду.

Совместимость лицензий

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

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

К неограничительным относятся MIT и BSD — этот класс лицензий дает возможность вносить изменения, закрывать код и в целом почти не накладывает ограничений. Этим пользуются, например, Apple и Sony, их продукты работают на модифицированных версиях системы BSD.

К промежуточным относится LGPL. Такие лицензии разрешают использование в закрытом коде, но обязывают публиковать любые вносимые изменения.

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

Правила совместимости этих лицензий:

  • Все неограничительные лицензии совместимы между собой, так как они не накладывают никаких ограничений на способ распространения, ничто не мешает распространять их под несколькими лицензиями такого же типа.
  • Лицензии с авторским левом несовместимы между собой, так как их сутью является гарантия, что любые модификации будут распространяться на тех же условиях. Исключением является GPL v3, которая совместима с v2. Но это односторонняя совместимость, то есть проект на GPL v2 нельзя смешивать с v3, но проект на v3 можно смешать с v2.
  • Код под неограничительной лицензией, смешанный с кодом под авторским левом, лицензируется под авторским левом.

Общая картина такая:

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

Примеры: Android, где используется ядро Linux (GPL v2), или драйвера Nvidia на Linux, которые могут поставляться бинарным блобом (англ. Binary Large Object — двоичный большой объект). Это возможно благодаря кольцам ядра Linux, отделяющим пространство пользователя от пространства, в котором выполняется код ядра.

Последним вариантом соблюдения совместимости является перелицензирование. Это сложный процесс, который требует согласия 95% участников. В этом случае ПО перевыпускается под новой, более подходящей лицензией, а старые версии остаются при этом неизменны.

Заключение

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

Если вы рассматриваете «возможность запрещать» как одну из свобод и хотите дать пользователям возможность применять ваш продукт в коммерческих целях, вам подойдет одна из разрешительных лицензий (MIT, BSD).

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

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

Дополнительные материалы

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

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

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

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

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

Немного истории

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

Большинство пользователей тогда делали это в строго академических или исследовательских условиях. Вычислительные ресурсы, как правило, были разделены, и изменение программного обеспечения для создания более эффективных рабочих процессов или более надежных решений было широко распространенной практикой. Например, проект Genie UC Berkeley разработал операционную систему Berkeley Timesharing System, взломав исходный код компьютера лаборатории SDS 930.

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

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

Движение свободного программного обеспечения было детищем Ричарда Столлмана. Столлман начал изучать информатику в начале 1970-х годов, до появления закрытых лицензий на программное обеспечение. В начале 1980-х годов он работал научным сотрудником Лаборатории искусственного интеллекта Массачусетского технологического института. Будучи членом академического сообщества хакеров более десяти лет, он не мог не возмутиться из-за распространения закрытого программного обеспечения. Столлман стал рассматривать его как нарушение прав пользователей на инновации и совершенствование существующего программного обеспечения.

В 1983 году Столлман запустил проект GNU – попытку создать полноценную операционную систему, которая предоставила бы своим пользователям свободу просматривать, изменять и делиться исходным кодом. Столлман сформулировал мотивацию проекта в GNU Manifesto. В нем он заявляет о своей убежденности в том, что закрытое лицензирование блокирует разработку программ, пресекает инновации и наносит ущерб развитию технологий.

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

В 1985 году Столлман учредил Free Software Foundation (FSF), некоммерческую организацию, занимающуюся продвижением концепции бесплатного программного обеспечения для широкой общественности. Позже Столлман разработает GNU General Public License, лицензию на программное обеспечение, которая обеспечивает конечным пользователям права свободно запускать, просматривать и совместно использовать исходный код.

Согласно FSF, чтобы ПО могло считаться по-настоящему «свободным», его лицензия должна гарантировать своим пользователям четыре основные свободы:

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

Любое программное обеспечение, которое не соответствует этим критериям, FSF рассматривает как «несвободное».

Развитие открытого ПО

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

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

Собор и базар

В 1997 году Эрик С. Рэймонд, на тот момент сторонник и разработчик свободного программного обеспечения, написал широко цитируемое эссе «Собор и базар» (The Cathedral and the Bazaar), в котором сравниваются две разные модели разработки, используемые в различных проектах свободного программного обеспечения. Соборной называется модель, в которой исходный код открывается с выходом нового релиза программы, а во время работы на кодом доступ к нему имеет только ограниченная группа разработчиков (примером такой модели является разработка GNU Emacs). Базарной называется модель, в которой код разрабатывается на виду у сообщества через Интернет (как, например, было в случае ядра Linux).

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

Отчасти в ответ на идеи «Собора и базара» в начале 1998 года Netscape выпустила исходный код своего веб-браузера Communicator в качестве свободного программного обеспечения (исходный код Communicator позже станет основой Mozilla FireFox 1.0).

Вдохновившись коммерческим потенциалом, который видела Netscape в этом релизе кода, группа энтузиастов свободного программного обеспечения (включая Рэймонда, Линуса Торвальдса, Филиппа Циммермана) стала стремиться к ребрендингу Движения свободного программного обеспечения и смещению его внимания с этических и философских мотивов. Группа выбрала название «open source» («открытое ПО» или «ПО с открытым исходным кодом») для свободно распространяемого программного обеспечения в надежде на то, что она лучше отразится на стоимости совместной модели развития.

Вскоре после этого Рэймонд и Брюс Перенс основали Open Source Initiative (OSI), чтобы поощрить использование нового термина и распространение принципов открытого ПО. Организация OSI также разработала Open Source Definition – список из десяти принципов, которым должна соответствовать лицензия на программное обеспечение, чтобы оно могло считаться открытым:

  1. Свободное распространение: лицензия не должна налагать ограничений на продажу и распространение ПО.
  2. Доступный исходный код: даже если ПО не поставляется с исходным кодом, этот код должен быть легко доступным. Это должен быть редактируемый человеком исходный код, а не его промежуточные формы.
  3. Возможность модификации: простая возможность читать исходный код не позволяет экспериментировать с ним и выпускать модификации. Лицензия, претендующая на звание «открытой», должна поддерживать не только чтение, но и изменение кода, использование частей этого кода в других проектах и распространение полученных программ на условиях той же лицензии.
  4. Целостность авторского исходного кода: лицензия может налагать ограничения на распространение модифицированного исходного кода, только если она разрешает распространять патчи для модификации программы при сборке.
  5. Отсутствие дискриминации против людей и групп людей: лицензия не должна дискриминировать людей и группы людей.
  6. Отсутствие дискриминации по цели применения: лицензия не должна ограничивать использование программы в определенных областях деятельности.
  7. Распространение лицензии: права на открытую программу должны применяться ко всем пользователям, которым была перераспределена программа, без заключения дополнительных соглашений.
  8. Лицензия не должна быть привязана к конкретному продукту: права на программу не должны зависеть от того, является ли программа частью какого-то продукта.
  9. Лицензия не должна ограничивать другие программные продукты: лицензия не должна налагать ограничения на другие программы, которые распространяются вместе с лицензированным ПО (не считая банальной несовместимости).
  10. Лицензия должна быть технологически нейтральной: она не должна требовать что-либо от интерфейса или технологий, используемых в производной программе.

Разница между свободным и открытым программным обеспечением

Многие считают, что разница между «свободным» и «открытым» программным обеспечением незначительна и объясняется небольшой разницей в подходах или философии. Согласно Open Source Initiative, оба термина означают одно и то же, и их можно использовать взаимозаменяемо практически в любом контексте. Просто Open Source Initiative предпочитает термин «открытое ПО», потому что он дает более четкое описание программного обеспечения и представлений его создателей о том, как его использовать.

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

Является ли та или иная программа свободной или открытой зависит от лицензии, по которой она распространяется и от того, одобрена ли эта лицензия Open Source Initiative, Free Software Foundation (или обеими организациями). В этом организации часто совпадают, но есть несколько исключений. Например, лицензия NASA Open Source Agreement одобрена OSI, но FSF считает ее слишком ограничительной. Таким образом, FSF отговаривает других от использования программного обеспечения, распространяемого по этой лицензии.

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

Альтернативы

На протяжении многих лет предлагались и другие названия для такого программного обеспечения, чтобы положить конец этой дискуссии. Свободное программное обеспечение с открытым исходным кодом (часто сокращается как FOSS) является одной из наиболее широко используемых альтернатив и считается нейтральным вариантом. Термин «libre software» (libre – слово из романских языков, которое означает свободу) стал настолько популярным, что со временем появился акроним FLOSS (free/libre and open-source software).

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

Еще одна проблема общедоступного ПО связана с тем, что контент, не защищенный авторским правом, признают далеко не все страны. Ни FSF, ни OSI не рекомендуют разработчикам выпускать общедоступное программное обеспечение.

Заключение

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

Если вы хотите узнать больше, ознакомьтесь с этим списком лицензий Free Software Foundation , в котором содержится подробное описание свободных и несвободных лицензий. Кроме того, вас также может заинтересовать страница лицензий и стандартов Open Source Initiative.

Свободное ПО

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

Содержание

Свободные лицензии

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

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

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

Разработка ПО как научное исследование

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

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

Однако технология производства компьютеров развивалась не менее активно, чем программное обеспечение для них. В 1970-е годы существовало огромное разнообразие различных архитектур вычислительных машин, различавшихся также производительностью и ценой. Естественно, для каждой архитектуры приходилось разрабатывать отдельный набор программного обеспечения. С середины 1970-х в большинстве американских университетов для академических разработок использовались компьютеры архитектуры PDP-10, что позволяло сотрудникам разных университетов использовать разработки друг друга на своих машинах. Сотрудники лаборатории искусственного интеллекта Массачусетсского технологического института (MIT) в конце 1970-х разработали для PDP-10 собственную операционную систему ITS (Incompatible Timesharing System — несовместимая система с разделением времени) и очень большой набор программ для неё. Исходные тексты написанных в MIT программ были общедоступны, сотрудники других университетов пользовались их исходными текстами и присылали им исправления, всё программное обеспечение в этих лабораториях было полностью академическим.

Введение ограничений для ПО

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

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

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

Однако компьютеры развивались очень быстро, и бывшие вполне современными в 1970-е PDP-10 к началу 1980-х уже устарели, и значительно отставали по производительности от более современных машин. Однако ни для одной из новых архитектур уже не было операционной системы и прочего программного обеспечения, разработанного исключительно в академической среде и по её правилам. Теперь университеты должны были покупать новые компьютеры с новым программным обеспечением и выполнять условия лицензии, ограничивающей их права на разработку и распространение ПО — иначе говоря, ограничивающей возможность научной модели разработки и распространения программного обеспечения.

В это время в лаборатории искусственного интеллекта MIT разрабатывались так называемые LISP-машины, умевшие на аппаратном уровне интерпретировать язык программирования, похожий на LISP — развитый и перспективный язык программирования. На LISP же была написана операционная система для таких машин и всё программное обеспечение для них. В начале 1980-х некоторые сотрудники лаборатории искусственного интеллекта выкупили у MIT права на LISP-машины и математическую систему

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

Тогда в поисках единомышленников Ричард Столлман создаёт некоммерческую организацию «Фонд свободного программного обеспечения». Своей основной целью Фонд ставит сохранение программного обеспечения, процесс разработки которого всегда будет гарантированно открытым, а исходные тексты всегда доступны. Более масштабная цель Фонда — разработка операционной системы, целиком состоящей из открыто разрабатываемого программного обеспечения. Декларируя такую цель, Столлман, фактически, хотел вернуть представлявшееся ему идеальным состояние, когда в MIT работали в собственной операционной системе для PDP-10.

Операционная система, разрабатываемая в рамках Фонда, должна была стать совместимой с операционной системой GNU.

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

В отличие от собственнического, полусвободное ПО упоминается редко. Иногда к несвободному ПО относят и всё «коммерческое ПО», считая свободное ПО видом бесплатного, однако это неверно: получать выгоду от программы можно не только продажей несвободных лицензий.

Определение свободного ПО

Для того, чтобы сохранить модель научного сотрудничества между разработчиками, необходимо было обеспечить, чтобы исходные тексты программ, написанных разработчиками, оставались доступными для чтения и критики всему научному сообществу с сохранением авторства произведений. Для этого Ричард Столлман сформулировал понятие свободное программное обеспечение, в котором отразились принципы открытой разработки программ в научном сообществе, сложившемся в американских университетах в 1970-е годы. Столлман явно сформулировал эти принципы, они же — критерии свободного программного обеспечения. Эти критерии оговаривают те права, которые авторы свободных программ передаёт любому пользователю:

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

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

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

Открытый доступ к исходным текстам программ является ключевым признаком свободного ПО, поэтому предложенный несколько позднее Эриком Реймондом термин «open source software» (ПО с открытым исходным текстом) некоторым представляется даже более удачным для обозначения данного феномена, чем изначально предложенный Столлманом «free software». Столлман настаивает на различии этих двух понятий, так как слова «open source» указывают лишь на наличие одного, не самого важного (хотя и необходимого для реализации двух из четырёх свобод), по его мнению, из свойств, присущих Свободному ПО — возможности увидеть исходный код. [2]

Общественная лицензия GNU

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

Ричард Столлман занимался разработкой текстового редактора Джеймса Гослинга. Тогда Гослинг свободно раздавал свои исходные тексты всем заинтересованным. Однако в какой-то момент Гослинг продал права на распространение Emacs компании UniPress, и компания попросила Столлмана прекратить распространение его версии Emacs, так как права принадлежат им. Этот инцидент заставил Столлмана переписать заново те части исходного текста Emacs, которые теперь принадлежали UniPress, после чего он разработал собственную лицензию на свое программное обеспечение.

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

В этой генеральной лицензии оговаривается также принципиальное для Столлмана защитное условие распространения свободного ПО: ни один пользователь, сделавший модифицированную версию свободной программы, не имеет права распространять её, не соблюдая всех принципов свободного ПО, то есть делать модификацию свободной программы несвободной. Чтобы подчеркнуть отличие такой лицензии, которая использует ЗоАП для побуждения к сохранению свободы, от типовых собственнических лицензий, которые используют ЗоАП («copyright») для ограничения свободы, был придуман термин «copyleft» (копилефт) — игра слов, построенная на значениях английских слов right и left. [3] Действие копилефта основано на том, что производные работы в большинстве случаев наследуют лицензии своих составляющих; если в программе используется небольшая часть стороннего кода под GPL, то вся программа и её производные должны распространяться под GPL, пока они являются производными этого кода. При этом в GPL есть раздел, позволяющий требовать сохранения в коде имён авторов, запрещать использование этих имён в рекламе, предупреждать о зарегистрированных товарных знаках и т. п., что позволяет комбинировать работы под GPL с работами под многими свободными некопилефтными лицензиями (например, некоторыми из лицензий BSD), не создавая значительных ограничений, и не нарушая лицензии — но производные от результата, являясь производными от работы под GPL, уже не могут (без отдельного разрешения правообладателей) распространяться на условиях данной некопилефт‐лицензии без соблюдения условий GPL — в том числе, и как неотъемлемая часть несвободного ПО. По этой причине сторонники несвободного ПО и другие противники копилефта лицензии, подобные GNU GPL, называют также «вирусными лицензиями»: они как бы «заражают» программу, становясь её неотъемлемой частью.

Сообщество разработчиков и пользователей

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

Взаимопомощь

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

Пользователь свободно распространяемой программы не получает вместе с ней никаких гарантий: автор сделал её исходный текст открытым для общества, но при этом не взял на себя обязательств объяснять всем, как работает программа. [4] Хотя справедливости ради стоит заметить, что любая несвободная программа в 99 % случаях тоже поставляется «как есть» и без гарантий. Поскольку сообщество пользователей большинства программ распределено по всему миру, для организации взаимодействия в нём наиболее активные пользователи (а зачастую и сами авторы) организуют (реже — используют существующие) списки рассылки, форумы и другие средства общения в Интернете. Для накопления и рубрикации информации по программе (в частности, списков часто задаваемых вопросов (ЧаВо; англ. FAQ — frequently asked questions), а также организации более сложных форм взаимодействия (совместной разработки, баг-трекинга) создаются веб-сайты, посвящённые программе.

Исправление ошибок

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

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

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

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

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

У типичной свободной программы (то есть, некоммерческой и/или разрабатываемой небольшой компанией или частным лицом) обычно нет оплачиваемого отдела контроля качества. Значит, пользователь может столкнуться с ещё большим количеством ошибок, чем в типичной коммерческой проприетарной программе. Тем актуальнее для него возможность сообщить об ошибке разработчикам программы. Раньше в сопровождающей программу документации было принято указывать электронный адрес, по которому разработчики принимали сообщения об ошибках (bug report). Некоторые вводили стереотипную форму для таких сообщений, чтобы облегчить и автоматизировать их обработку. Уже это требует существенно более высокой связности сообщества во всём мире, существенно большей, чем достаточно для закрытой разработки.

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

Простому и упорядоченному приёму и перенаправлению сообщений об ошибках служат системы отслеживания ошибок (Bug Tracking System), самые известные из которых разработаны участниками больших проектов для себя, а благодаря свободным лицензиям используются повсеместно. Таковы GNUTS (разработанная в GNU), Mozilla Foundation), JitterBug (проект

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

Чтобы облегчить и автоматизировать процесс внесения исправлений, Ларри Уолл в 1984 году разработал утилиту patch («заплатка»), которая в формализованном (но хорошо понятном человеку) виде описывает операции редактирования, которые нужно произвести, чтобы получить новую версию текста. С появлением этой утилиты пользователь, обнаруживший и исправивший ошибку в программе, мог прислать автору небольшую заплатку, по которой автор мог понять, какие изменения предлагаются, и автоматически «приложить» их к своему исходному тексту. С появлением patch гораздо больше пользователей стало включаться в разработку программ с доступным исходным текстом, немалую роль и здесь сыграла сеть статью об этом Тима О’Рейли). Файлы-заплатки с исправлениями — обязательный атрибут сегодняшней разработки свободных программ.

Если пользователю программы не хватает в ней какой-то функции, то при должной квалификации он вполне может запрограммировать её сам и включить в исходный текст программы, либо заплатить за это кому‐то ещё. Естественно, ему выгодно, чтобы его дополнение попало в «главный», авторский вариант программы (его называют «upstream») и появлялось во всех последующих версиях: можно точно так же оформить его в виде patch и выслать автору. Этой возможности лишён пользователь несвободной программы, даже если он достаточно квалифицирован. Единственный способ включить в программу нужную ему функцию — обратиться к производителю (если программа проприетарная) с соответствующей просьбой, и надеяться, что производитель сочтёт предложенную функцию действительно необходимой.

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

Написать большую программу в одиночку довольно сложно и даже не всегда возможно, особенно если автор занимается этим в свободное от работы время. Большинство современных свободных программ пишется группой разработчиков. Даже если начинал писать программу один человек, и она оказалась интересной, к разработке могут присоединиться активные пользователи. Чтобы они могли не только вносить отдельные исправления, но и вообще всю разработку вести совместно, нужны специальные инструменты. Помимо patch, для организации совместной разработки ПО применяются системы контроля версий. Функции системы контроля версий состоят в том, чтобы организовать доступ к исходным текстам программы для нескольких разработчиков и хранить историю всех изменений в исходных текстах, позволяя объединять и отменять изменения и пр. Самая ранняя свободная система контроля версий, RCS использовалась ещё на заре свободного ПО абонентами сети Usenet, затем на смену ей пришла более развитая Subversion, Arch и другими.

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

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

Место свободных программ на сегодняшнем рынке ПО очень значительно, и многие коммерческие и государственные предприятия используют свободное ПО прямо или опосредованно. Собственно, опосредованно все пользователи Internet задействуют, например, свободную программу DNS. Многие организации, особенно предоставляющие услуги через Internet, используют свободный web-сервер Linux. Выгода использования свободного ПО очевидна: за него не приходится платить, а если приходится — оно стоит гораздо дешевле коммерческих собственнических аналогов. Главный недостаток с точки зрения коммерческого пользователя: разработчики свободных программ не несут никаких обязательств по качеству программы, кроме моральных. Поэтому сегодня большие корпорации, например, IBM, находят необходимым поддерживать проекты по разработке свободного ПО, оплачивая сотрудников, которые работают в рамках этих проектов.

Философия

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

Из-за указанного различия для ПО не действует принцип «пользоваться вещью одновременно может только один человек» (и использование её кем-то другим автоматически наносит первому ущерб из-за неполучения блага от неё), по причине которого и существует понятие «хозяин». Поэтому попытка и тут действовать по этому принципу — закреплять право использования программы за одним каким-то человеком — интуитивно воспринимается [кто?] как противоречащая природе вещей. Неудивительно, что при таком искусственном, силовом насаждении возникает множество неурядиц, каждую из которых приходится решать искусственными, а зачастую и противоестественными методами.

Например, приходится симулировать «ущерб из-за неполучения блага», который «наносится» «хозяину» программы при её безущербном копировании или возврате денег при обнаружении ошибок и дефектов в программах. Обычно это — «упущенная выгода», то есть та прибыль, которую хозяин мог бы получить, но не получил из-за того, что продукт скопировали. Приходится изобретать хитроумную аппаратуру, мешающую копированию, или причиняющую при этом ущерб. Приходится вводить в законодательство особую категорию прав — условно назовём её «патент» [5] — ограничивающую злоупотребления — и свободу — всего человечества в пользу хозяина патента. Причём далеко не всегда хозяин патента и автор изобретения — один и тот же человек (в таких случаях противоестественность данных мер лишь усугубляется).

Несвободные программы называют «проприетарными» (от англ. proprietary ) или «собственническими». Иногда их неправильно называют просто «коммерческими», что неверно: получать выгоду от программы можно различными способами, и многие успешные свободные проекты это подтверждают.

Распространённость

СПО активно используется в Интернете. Например, самый распространённый веб-сервер MediaWiki, также являющимся свободным проектом.

СПО используется в Министерстве юстиции Бельгии, в котором уже половина компьютеров работает под управлением GNU/Linux, и полицией Франции, которая к 2014 году планирует полностью перейти на Ubuntu Linux. О переходе на программное обеспечение с открытым исходным кодом объявило также Патентное ведомство Нидерландов. Перевести все компьютеры этого учреждения на свободное ПО планируется до конца 2009 года. Администрация Амстердама также изучает возможность перевода своих 10 тысяч рабочих мест на открытое ПО. [6]

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

Решениями правительства и президента РФ Дмитрия Анатольевича Медведева, отечественное открытое программное обеспечение в 2008 году внедрено во всех школах Российской Федерации и будет установлено во всех государственных и бюджетных организациях для обеспечения национальной безопасности в сфере ИТ.

Свободное и открытое программное обеспечение может свободно устанавливаться и использоваться во всех школах, офисах, вузах и на всех личных компьютерах и во всех организациях и учреждениях России и в странах СНГ согласно Генеральной публичной лицензии (GPL).

Открытое программное обеспечения в школах

Решением правительства Российской Федерации в марте 2008 года, все средние школы России получили базовые пакеты лицензионного собственнического и открытого программного обеспечения для обучения компьютерной грамотности, основам информатики и новым информационным технологиям с операционными системами Windows и Linux.

В трёх регионах России в 2008 году развёрнуты эксперименты по внедрению и использованию в средних школах базовых пакетов программ для кабинетов информатики и вычислительной техники и начата подготовка учителей и преподавателей информатики технологии работы с открытым программным обеспечением в среде Windows и Linux.

Согласно Доктрине информационной безопасности РФ, обучение компьютерной грамотности и информатике должно сопровождаться правовым ликбезом в обучении защите информации в ЭВМ, защите от компьютерных вирусов, порно-сайтов и обеспечению информационной безопасности в локальных и глобальных сетях ЭВМ на базе лицензионного и свободного программного обеспечения. [уточнить]

В 2007 году выпущены первые учебники информатики для вузов и школ для обучения информатике в соответствии с государственными стандартами образования со свободным и проприетарным программным обеспечением в среде Windows и Linux.

Помехи

Пользователи, которые бы иначе предпочли свободное ПО несвободному, продолжают использовать собственническое по следующим причинам:

  • В странах, где неавторизованное распространение объектов авторского права является обычным делом, нет ни юридического, ни экономического стимула переходить на свободное ПО. К тому же, пользователи, привыкшие к проприетарному ПО, не хотят тратить время на изучение свободного аналога, если это не даёт им прямой выгоды в короткий срок.
  • В некоторых отраслях мало или вообще нет свободного ПО высокого качества. А именно:
    • Программное обеспечение, в котором доля программистской работы мала по сравнению с работой художника, редактора и т. д. Например: некоторые жанры игр (квест), электронные словари (за исключением наиболее распространённых языков).
    • Развивающиеся отрасли, для которых мало пригодных к использованию общепринятых алгоритмов — машинный перевод, распознавание речи с большим словарём и, в меньшей степени, синтез речи. Кроме того, требуется ручная обработка большого количества текстовых или аудиоданных.
    • Отрасли, связанные со сложной высокооплачиваемой работой (фотообработка, САПР) — так как создать программу, близкую по сложности и качеству к собственническим стандартам де‐факто очень трудно, то свободных аналогов меньше, чем в других отраслях, и пользователю не всегда удаётся найти подходящий для него. К тому же, Adobe Photoshop стоит в 2—3 раза меньше, чем цифровой зеркальный фотоаппарат с принадлежностями — объективами, штативом, фотовспышкой.
    • Отрасли, в которых существуют платные или собственнические стандарты де-факто — например, Pantone в допечатной подготовке.
    • Для аппаратного обеспечения в отраслях, где господствует лишь несколько производителей, в свободном доступе часто отсутствуют не только свободные драйверы, но и спецификации.
    • В некоторых отраслях наблюдается засилье просмотра графики под Windows у пользователя и так есть на выбор FastStone, Picasa, замыкания на поставщике).

    Примечания

    1. http://www.gnu.org/philosophy/free-sw.ru.html
    2. Richard Stallman.Why «Open Source» misses the point of Free Software (англ.) (1 марта 2009). Проверено 10 апреля 2009.
    3. Что такое copyleft?. Free Software Foundation (26 августа 2008). Проверено 15 ноября 2008.
    4. В общественной лицензии GNU есть даже стандартная формулировка, закрепляющая отсутствие гарантий: «Настоящая программа поставляется на условиях „как есть“. Если иное не указано в письменной форме, автор и/или иной правообладатель не принимает на себя никаких гарантийных обязательств, как явно выраженных, так и подразумеваемых, в отношении программы, в том числе подразумеваемую гарантию товарного состояния при продаже и пригодности для использования в конкретных целях, а также любые иные гарантии». (перевод Елены Тяпкиной).
    5. Условно — потому, что далеко не во всех странах разрешено выдавать патенты на программное обеспечение, однако везде отношения собственности на исходные тексты программ регулируются общими или специальными разделами законов об авторском праве.
    6. http://habrahabr.ru/blogs/open_source/41002/

    См. также

    • Что такое свободное программное обеспечение?»

    Ссылки

    Рик Адамс • Брайан Беклендорф • Кит Бостик • Джим Геттис • Джон Гиллмор • Мигель де Икаса • Линн и Уильям Джолиц • Алан Кокс • Роберт Лав • Расмус Лердорф • Лоуренс Лессиг • Маршалл Кирк Мак-Касик • Эбен Моглен • Эрик Оллман • Тим О’Рейлли • Джон Остераут • Кит Пакард • Брюс Перенс • Брайан Пол • Тэо де Раадт • Гвидо ван Россум • Эрик Реймонд • Ричард Столлман • Линус Торвальдс • Эндрю Триджелл • Ларри Уолл • Джордан Хаббард • Джон Холл • Марк Шаттлворт • Боб Шифлер

    «Свободное программное обеспечение»

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

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

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

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

    На самом деле, многие программы, которые встречаются в повседневной деятельности, являются свободным программным обеспечением. Например, два самых популярных интернет-браузера – Mozilla Firefox и Chromium (являющийся основой для Google Chrome) лицензируются на условиях свободных лицензий.

    Свободное программное обеспечение также часто используется как основа для «импортозамещения» программного обеспечения. Так, множество программ, включенных в Единый реестр российских программ для ЭВМ и баз данных, созданы с использованием свободного программного обеспечения. А, например, формат текстовых документов «Open Document», являющийся базовым форматом для свободного офисного пакета «Оpen Office», с некоторых пор применяется в качестве одного из основных форматов российскими государственными органами.

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

    Разбираемся в терминологии

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

    Термин «свободное программное обеспечение» («free software») был сформулирован в 1983 году Ричардом Столлманом – основателем Фонда свободного программного обеспечения (Free Software Foundation) и основным идеологом этого движения. Принятый им подход относит к «свободному» любое программное обеспечение, в отношении которого соблюдаются следующие принципы (так называемые «свободы»):

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

    Близкой к концепции «свободного программного обеспечения» является концепция «открытого программного обеспечения» («open-source software»), поддерживаемая фондом «Open Source Initiative». Указанная концепция также подразумевает раскрытие исходного кода программы и предоставление ее пользователям прав в соответствии с критериями, в значительной степени схожими с критериями свободного программного обеспечения. Есть и различия: так, реализация концепции свободного программного обеспечения как правило осуществляется с использованием механизма «копилефта» (о нем далее). Кроме того, концепция открытого программного обеспечения содержит более детальные ограничения возможной «дискриминации» пользователей программы, запрещая устанавливать ограничения в зависимости от гражданства пользователя, территории, на которой используется программное обеспечение, и иных подобных условий.

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

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

    Например, Фонд свободного программного обеспечения разрабатывает четыре основных вида лицензий:

    • GNU GPL – основная лицензия для программного обеспечения, распространяемого в виде экземпляров;
    • GNU LGPL – лицензия для компонентов программ (библиотек), которая содержит менее строгие правила для использования компонента в производных работах;
    • GNU AGPL – лицензия для серверных программ и компонентов, ключевое отличие которой заключается в том, что условие о копилефте действует даже при отсутствии распространения программы;
    • GNU FDL – лицензия для технической документации.

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

    • Mozilla Public License, лицензия одноименного фонда Mozilla Foundation, содержащая «слабый» копилефт, обязывающий лицензировать производное произведение на условиях данной лицензии, но при этом не применяемый при использовании объекта в составе комплексного произведения;
    • лицензия MIT или лицензия X11, разработанная Массачусетским технологическим институтом. Является одной из наиболее простых лицензий, содержащих всего два условия: условие об аттрибуции, то есть о том, что при любом использовании произведения необходимо сохранять сведения об авторском праве и об условиях лицензии, а также оговорку о том, что произведение предоставляется «как есть» и правообладатель не несет ответственности за какие-либо действия с ним;
    • Apache License, лицензия одноименного фонда Apache Software Foundation, особенностью которой является совместимость со множеством иных видов лицензий.

    Условия лицензии, разработанные одной компанией, впоследствии могут использоваться и другими компаниями для лицензирования собственного программного обеспечения. Например, популярная операционная система Android, разработанная компанией Google, лицензируется на условиях лицензии Apache.

    Отдельного упоминания заслуживает проект Creative Commons[1] – «конструктор» открытых лицензий, позволяющий правообладателю составить необходимую ему лицензию из набора типовых условий: наличие или отсутствие копилефта, наличие или отсутствие права использования в коммерческих целях, наличие или отсутствие права создавать производные работы etc.

    При этом многие лицензии, созданные в целях реализации концепции свободного программного обеспечения или открытого программного обеспечения, в итоге соответствуют как одному, так и другому подходу. Поэтому, несмотря на некоторые различия в идеологии каждого подхода, на практике для пользователя свободного / открытого программного обеспечения большее значение имеют условия конкретной лицензии, по которой такое программное обеспечение распространяется, а не соответствие лицензии тому или иному подходу. Как указывает Е. В. Войниканис, «понятия «программное обеспечение с открытым исходным кодом» и «свободное программное обеспечение», хотя и отражают различные идеологические позиции, с правовой и практической точки зрения не имеют сколько-нибудь значимых отличий»[2].

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

    «Открытая лицензия», в свою очередь, это механизм заключения лицензионного договора, появившийся в российском законодательстве в 2014 году (статья 1286.1 ГК РФ). Такая «открытая лицензия» должна предусматривать предоставление простой (неисключительной) лицензии, при этом, если в тексте лицензии не указано иное, договор признается безвозмездным, заключенным на весь срок действия исключительного права на программное обеспечение (применительно к программам для ЭВМ и базам данных) в отношении территории всего мира. Предметом лицензии является использование произведения в предусмотренных ею пределах, в том числе для создания нового результата интеллектуальной деятельности.

    «Открытая лицензия», предусмотренная статьей 1286.1 ГК РФ, является договором присоединения и ее условия должны быть изложены таким образом, чтобы пользователь (лицензиат) мог ознакомиться с текстом лицензии до того, как он начнет использовать программное обеспечение. При этом лицензиар вправе отказаться от открытой лицензии в одностороннем порядке в отношении конкретного лицензиата, в случае если лицензиат нарушил условия открытой лицензии, кроме того, прямо предусмотрена возможность лицензиара использовать весь спектр средств защиты исключительного права, в случае использования произведения с нарушением условий лицензии.

    Следует отметить, что лицензия, являющаяся «открытой» в контексте статьи 1286.1 ГК РФ, не обязательно будет соответствовать концепции свободного / открытого программного обеспечения, поскольку норма об открытых лицензиях не содержит никаких ограничений, свойственных указанным концепциям.

    Копилефт

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

    Термин «копилефт» («copyleft») также создан Фондом свободного программного обеспечения и является игрой слов, производной от термина «copyright», которым в законодательстве США и некоторых других стран обозначают исключительное право на произведение.

    Суть «копилефта» заключается в реализации следующих двух условий в лицензии:

    • лицензия позволяет использовать произведение для создания производных работ без согласия автора и правообладателя и без внесения платы;
    • лицензия требует, чтобы данное и предыдущее условие присутствовали в лицензии производной работы.

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

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

    Распространение свободного программного обеспечения за плату

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

    На самом деле, условия свободных лицензий, например, семейства GNU, созданных Фондом свободного программного обеспечения, не содержат ограничений на распространение копий программного обеспечения за плату. Наоборот, в описании к лицензии GNU GPL даже подчеркивается, что Фонд одобряет и поощряет такие действия [3] .

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

    Кроме того, условия свободной лицензии в любом случае не ограничивают правообладателя в возможности лицензировать свое программное обеспечение дополнительно на условиях какой-либо другой лицензии[4]. Многие разработчики свободных программ примерно таким образом и поступают — предоставляют другим возможность использовать свою программу бесплатно на условиях свободной лицензии, а если будущие пользователи не хотят, в свою очередь, быть связанными копилефтом, они могут приобрести у правообладателя коммерческую лицензию.

    Концепция свободного программного обеспечения и соответствующие ей лицензии также не ограничивают и не могут ограничивать в праве оказывать дополнительные платные услуги (например, обучения или технической поддержки), связанные со свободным программным обеспечением. За счет этого многие компании, распространяя свой основной продукт на условиях свободной лицензии, могут стать коммерчески успешными в результате продажи сопутствующих услуг. Так, например, компания Nginx Inc., основной продукт которой (одноименный веб-сервер) распространяется свободно и бесплатно на условиях лицензии BSD, была продана в 2019 году за 670 миллионов долларов. Основную прибыль компания зарабатывала за счет продажи дополнительного программного обеспечения, расширяющего функции веб-сервера, а также услуг по его установке, оптимизации и технической поддержки[5].

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

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

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

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

    Как следует из подпункта 9 пункта 2 статьи 1270 ГК РФ применительно к программам для ЭВМ модификацией (переработкой) признается любое изменение программы для ЭВМ, за исключением адаптации под конкретное оборудование.

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

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

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

    Сам Фонд свободного программного обеспечения предлагает разрешать этот вопрос, руководствуясь следующими критериями[6]:

    • если в результате компиляции нового программного обеспечения исходный код свободной программы объединяется с исходным кодом иных программ, то новый продукт следует признавать производным произведением и распространять на него условия свободной лицензии;
    • если же свободная программа взаимодействует с иными компонентами нового, единого продукта с помощью механизмов, предусмотренных в самой свободной программе (так называемые «внешние интерфейсы» или API) или с помощью механизмов операционной системы, в которой программы функционируют, то свободное программное обеспечение следует признавать достаточно независимым от иных программ и не распространять на новый единый продукт условия свободной лицензии в обязательном порядке;
    • в случаях, когда иные компоненты единого продукта «вызывают» отдельные функции свободной программы самостоятельно, следует оценить, насколько тесной является связь между свободной программой и иными компонентами. Если они достаточно связаны друг с другом, то новую программу также следует лицензировать как свободное программное обеспечение.

    Следует отметить, что, как указывает А. Ю. Чурилов, «не всякое, даже буквальное, копирование исходного кода программы, распространяемой на условиях свободной лицензии, и инкорпорирование его в новую программу представляет собой создание производного произведения. Нормами авторского права, в частности, не охраняются: идеи и элементы исходного кода программы, которые могут быть выражены лишь одним способом; элементы исходного кода, перешедшие в общественное достояние; элементы, подпадающие под действие доктрины Scene a faire, в соответствии с которой некоторые выражения идеи не могут быть охраноспособны как таковые, поскольку представляют собой набор стандартных элементов отдельного вида результатов интеллектуальной деятельности»[7].

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

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

    [2] Войниканис Е.А. Право интеллектуальной собственности в цифровую эпоху: парадигма баланса и гибкости. М.: Юриспруденция, 2013. 552 с.

    [7] Чурилов А.Ю. Правовое регулирование интеллектуальной собственности и новых технологий: вызовы XXI века: монография. М.: Юстицинформ, 2020. 224 с.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *