Виды лицензий Open Source

Виды лицензий Open Source

04.02.2022

В настоящее время все более популярным становится так называемое свободное программное обеспечение, распространяемое по свободной лицензии (Free Software License), а также программное обеспечение с открытым исходным кодом. Под программным обеспечением с открытым исходным кодом понимается компьютерная программа, исходный код которой является общедоступным для использования, модификации и последующего распространения на основании лицензионного соглашения, содержащего минимальное количество ограничений. В российском законодательстве в ст. 1286.1 ГК РФ такие лицензии определены как открытые лицензии, под ними понимается заключаемый в упрощенном порядке лицензионный договор, который относится к конструкции договора присоединения. Появление данной нормы в ГК РФ свидетельствует о том, что open source лицензии не противоречат российскому праву. В этой статье мы разберем некоторые распространенные open source лицензии, существующие в мире.

Лицензия BSD

BSD license, Berkeley Software Distribution license – Программная лицензия университета Беркли, лицензионное соглашение, впервые применённое для распространения UNIX-подобных операционных систем BSD.

Лицензия BSD допускает проприетарное коммерческое использование ПО. Для ПО, выпущенного под этой лицензией, допускается встраивание в проприетарные коммерческие продукты. Работы, основанные на таком ПО, даже могут распространяться под проприетарными лицензиями (но всё же обязаны соответствовать требованиям лицензии). Наиболее заметные примеры таких программ – использование сетевого кода BSD в продуктах корпорации Microsoft, использование многих компонентов FreeBSD в операционной системе Mac OS X, а также использование ядра FreeBSD для создания PlayStation 4. Можно применять к распространяемому продукту одновременно лицензию BSD и какую-то другую. Например, так было с самыми ранними версиями самой BSD, которая включала проприетарные материалы из AT&T. Данная лицензия допускает использование лицензируемого кода в качестве составной части классических коммерческих программ, обуславливая такое использование сравнительно простыми и понятными условиями. В этой связи она является неплохим вариантом для тех авторов, которые заинтересованы в том, чтобы как можно большее количество лиц использовало программу, и не придают при этом особого значения характеру такого использования.

Лицензия MIT (Expat license)

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

Лицензия является GPL-совместимой, то есть разрешает программистам комбинировать и распространять GPL-продукты с программным обеспечением под лицензией MIT.

Лицензия MIT более всего соответствует трёхпунктной Лицензии BSD, отличаясь лишь пунктом, запрещающим использование доброго имени держателя авторских прав в рекламе. Четырёхпунктная лицензия BSD также включает подобный пункт, обязывающий все рекламные материалы отображать эту лицензию, в отличие от лицензии MIT. Последняя также более явно говорит о правах конечного пользователя, включая права использования, копирования, изменения, включения в другой исходный код, публикации, распространения, сублицензировании и/или продажи лицензированного программного обеспечения. Двухпунктная, сходная с BSD, лицензия вроде лицензии на Apple Computer WebCore (хотя большая часть WebCore распространяется по лицензии LGPL) также считается практически идентичной лицензии MIT, не включающей «рекламного» пункта.

Лицензия Mozilla (Mozilla Public License, MPL)

Одна из лицензий на свободное программное обеспечение. Версия 1.0 была разработана Митчел Бэйкер (англ.) во время её работы адвокатом в Netscape Communications Corporation. лицензия MPL обеспечивает слабый копилефт. Исходный код, скопированный или изменённый под лицензией MPL, должен быть лицензирован по правилам MPL. В отличие от более строгих свободных лицензий, код под лицензией MPL может быть объединен в одной программе с проприетарными файлами. Например, Netscape 6 и 7 представляли собой проприетарные версии Mozilla Suite, а начиная с версии 8 – Mozilla Firefox. Таким образом, после приобретения Netscape AOL Time Warner последняя обладает эксклюзивными правами на эти проприетарные версии. Фонд свободного программного обеспечения признает MPL 1.1 свободной лицензией, не гарантирующей, однако, строгого копилефта. MPL имеет «некоторые сложные ограничения», которые делают её несовместимой с GNU GPL. Из-за этой несовместимости Фонд не рекомендует использовать MPL в чистом виде, то есть, без использования множественного лицензирования совместно с GPL или совместимой с ней лицензией. Множественное лицензирование возможно благодаря разделу 13 MPL.

MPL-лицензиаты должны распространять далее полученный по MPL оригинальный код или производный от него код по той же лицензии MPL. Если в состав программы MPL разработчиком включаются программы для ЭВМ по другой лицензии, то далее такое составное ПО может распространяться на условиях любой лицензии, используемой при создании данного объекта. Допускается множественное лицензирование: один и тот же программный продукт одновременно может лицензироваться по нескольким лицензиям – по лицензии MPL и любым иным лицензиям.

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

Лицензия SPL – Sun Public License

Лицензия на программное обеспечение, которая применяется к некоторым программам с открытым исходным кодом, выпущенным Sun Microsystems. Возможно взимание платы с пользователей за: гарантию, сервис, возмещение ущерба, ответственность по обязательствам. Она является производной от Mozilla Public License. Ссылка на лицензию – opensource.org/licenses/sunpublic.php.

Лицензия Guile

Состоит из GNU GPL с добавлением особого пункта, дающего неограниченное право компоновки с несвободными программами. Как следствие, она не является строгим "авторским левом", но совместима с GNU GPL.

Лицензия GPL (General Public License)

Лицензия на свободное программное обеспечение, созданная в рамках проекта GNU в 1988 г., по которой автор передаёт программное обеспечение в общественную собственность. GPL предоставляет получателям компьютерных программ следующие права, или «свободы»:

-свободу запуска программы, с любой целью;    

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

-свободу распространения копий;    

-свободу улучшения программы, и выпуска улучшений в публичный доступ (предварительным условием для этого является доступ к исходному коду).  

GPL v1

Лицензии-прототипы содержали части, подобные частям GPL, но были специфичными для каждой программы. Целью Ричарда Столлмана являлось создание единой лицензии, которая могла бы использоваться для любого проекта, делая таким образом возможным совместное использование кода различными программами. Такой лицензией и стала первая версия GNU GPL, выпущенная в январе 1989 года.

GPL v2

В 1990 году стало очевидным, что требуется менее ограничивающая лицензия, которая могла бы использоваться для некоторых библиотек ПО; когда версия 2 GPL была выпущена в июне 1991 года, вместе с ней была введена в обращение GNU Library General Public License (GNU LGPL, LGPL), также получившая номер 2, для обозначения того, что эти две лицензии являются взаимодополняющими. Номера версий разошлись в 1999 году, когда была выпущена LGPL версии 2.1, которая была переименована в Lesser General Public License для уточнения её местоположения в философии GNU.

GPL v3

В 2005 году Эбен Моглен и Ричард Столлман написали черновик третьей версии GPL. В разгоревшейся затем 7 апреля 2005 года в Филадельфии дискуссии Столлман сделал несколько заявлений, касающихся патентов на ПО и DRM. Компании, распространяющие GPLv3-ПО, не могут предъявлять к пользователям GPLv3-продуктов судебные претензии касательно обхода распространяемыми версиями продуктов ТСЗАП и нарушения ими же патентов распространителей. Также запрещена тивоизация. 19 ноября 2007 года была выпущена GNU Affero General Public License v3 — GPLv3 с изменениями на основе Affero General Public License v1, выпущенной в 2002 году Affero Inc. на основе GNU GPLv2. Данная лицензия добавляет возможность получения исходного кода пользователям программы, взаимодействующим с ней только через сеть.

Использование копилефта накладывает определённые ограничения на объединение работ под GPL и другими свободными (в первую очередь, копилефтными) лицензиями в производных работах. GPLv2 несовместима с лицензиями Mozilla Public License (MPL), Common Development and Distribution License (CDDL), Apache Software License и некоторыми другими. GPLv3 была сделана совместимой с лицензией Apache, однако с MPL и её производными она несовместима. Работы под MPL часто одновременно лицензируются и под GPL, и под LGPL (например, код Mozilla Firefox), что частично решает проблему. Известным примером несовместимости GPL с другой лицензией является невозможность включения файловой системы ZFS, выпущенной Sun Microsystems под CDDL, в ядро Linux, выпущенное под GPLv2. Любая несвободная лицензия несовместима с GPL.

Лицензия LGPL

Лицензия свободного программного обеспечения за авторством Free Software Foundation (FSF). Лицензия позволяет разработчикам и предприятиям использовать и внедрять программное обеспечение, лицензированное на условиях LGPL в их собственном (даже проприетарном) программном обеспечении, при этом отсутствует обязательное требование предоставления исходного кода собственных компонентов под копилефт лицензией. Необходимым условием лицензии является только возможность модифицировать программное обеспечение, лицензируемое под LGPL, конечными пользователями, предоставляя им для этого исходный код. В проприетарном программном обеспечении код под лицензией LGPL обычно используется в форме разделяемой библиотеки, так что существует четкое разделение между проприетарными компонентами и LGPL-компонентами. LGPL в основном используется библиотеками программного обеспечения, впрочем, она также используется некоторыми автономными приложениями.

Главное отличие GPL от LGPL в том, что последняя позволяет лицензируемой под ней работе линковаться (в случае библиотеки, «использоваться») с не-(L)GPL программным обеспечением, вне зависимости от того, свободное это программное обеспечение или проприетарное. Не-(L)GPL программное обеспечение затем может распространяться под любыми условиями, если не является производной работой вышеупомянутого ПО. Если это не так, программное обеспечение должно позволять «модификацию конечным пользователем для целей использования данного программного обеспечения, а также обратную разработку для отладки внесенных изменений.» Впрочем, лицензия устанавливает это юридическое требование вне зависимости от того, является ли программное обеспечение под лицензией LGPL производной работой или нет. Автономный исполнимый модуль, динамически линкующийся с библиотекой путём .so, .dll или схожим способом, является приемлемым и не является производной работой, это определено в LGPL. Он характеризуется определением «работы, которая использует библиотеку».

Лицензия CPL (Common Public License)

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

В области патентного права разрешается: создание, использование, продажа, выставление на продажу, импортирование. Разрешено предоставлять гарантии за отдельную плату.

Лицензия Apache

Лицензия на свободное программное обеспечение Apache Software Foundation. В январе 2004 года ASF утвердила Apache License 2.0. Данная лицензия работает, по существу, как MIT, BSD и Apache License 1.1, с некоторыми дополнительными преимуществами. Например, лицензирование производных работ в рамках других лицензий разрешается при соблюдении условий Apache License 2.0. Основные изменения: упрощение использования лицензии для не ASF-проектов, улучшение совместимости с GPL, возможность использовать ссылку на описание лицензии вместо того, чтобы описывать её в каждом файле. Подобно любой другой лицензии на свободное программное обеспечение, лицензия Apache даёт пользователю право использовать программное обеспечение для любых целей, свободно изменять и распространять изменённые копии, за исключением названия. Фонд Free Software Foundation объявил все версии лицензии Apache несовместимыми со второй версией GPL.

Наиболее полный перечень лицензий представлен на сайте OSI: opensource.org/licenses/alphabetical. Так или иначе ключевые признаки свободной лицензии содержатся в дефинициях, выработанных двумя основными организациями, которые координируют деятельность в сфере пропаганды и продвижения свободного ПО. К ним относится Фонд свободного программного обеспечения (Free Software Foundation), основанный в 1985 г. Ричардом Столлманом (далее – FSF) и Инициатива открытого исходного кода (Open Source Initiative), основанная в 1998 г. Эриком Реймондом и Брюсом Перенсом (далее – OSI). С точки зрения FSF свободным может считаться ПО (и соответственно лицензия, на условиях которой оно распространяется), при условии, что лицензия предоставляет 4 основных свободы:

1) свобода запуска программы для любых целей;

2) свобода изучения устройства программы и ее адаптации для собственных нужд;

3) свобода распространения копий программы;

4) свобода внесения улучшений в программу и их распространения на пользу сообщества.

С точки зрения OSI, свободная лицензия должна отвечать не четырем, а десяти условиям:

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

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

3) Производные произведения. Лицензионное соглашение должно предусматривать право лицензиата вносить изменения в программу и создавать производные программы, а также лицензировать модифицированную версию на условиях первоначальной лицензии. Здесь кроется основное отличие от GPL-подобных лицензий FSF: условие о лицензировании производной программы на условиях первоначальной лицензии носит диспозитивный характер и не является обязательным для квалификации лицензии в качестве свободной по стандартам OSI.

4) Чистота исходного кода. Лицензия может требовать, чтобы модифицированная программа распространялась под иным именем или номером версии, чем первоначальная. Указанное положение направлено на защиту репутации первоначального автора, поскольку их репутация может пострадать в случае внесения распространения низкокачественных изменений под их именем.

5) Отсутствие дискриминации по отношению к определенным лицам или группам лиц. Лицензия не может ограничивать право использования программного продукта только определенными категориями лиц, например, некоммерческими организациями или запрещать его использование коммерческими организациями.

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

7) Распространение лицензии. Права, предоставляемые лицензией, должны распространяться на всех лиц, которым программа была передана. При этом такие права должны предоставляться таким приобретателям без необходимости совершения с их стороны каких-либо дополнительных действий или подписания каких-либо дополнительных соглашений.

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

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

10) Лицензия должна быть технологически нейтральной. Ее предоставление не должно быть «привязано» к определенной технологии или интерфейсу. В частности, она не может существовать исключительно в форме click-wrap license, поскольку такая лицензия предполагает использование графического пользовательского интерфейса и будет несовместима с интерфейсом в виде командной строки

Принципиальных отличий между дефинициями свободных лицензий, предложенными двумя указанными организациями, нет. Основные отличия сводятся к тому, что, с одной стороны, дефиниция open source initiative является более развернутой за счет большей детализации включенных в нее признаков, а с другой – более гибкой за счет включения в понятие свободных тех лицензий, которые таковыми не считаются FSF. Последнее различие вызвано идеологическими разногласиями между FSF и OSI, которые вкратце можно свести к тому, что для FSF движение за свободное ПО представляют собой своего рода «крестовый поход» против производителей коммерческого ПО, в то время как для OSI свободные лицензии – это особая методология разработки ПО, которая может представлять интерес и для производителей коммерческого ПО. Как следствие, дефиниция OSI не предполагает безусловной обязанности лицензиата, реализующего право на модификацию первоначальной программы, распространять модифицированную версию на тех же самых условиях, что и первоначальная (т.н. «вирусные» условия). Такой лицензиат может выбрать иной вид свободной лицензии или даже распространять ее на условиях классической коммерческой лицензии.

Теория и практика постепенно соединяются. Судьбы проприетарного ПО, Open Source переплетаются, постепенно появляются новые нормы, регулирующие и свободное, и лицензированное, как частное, программное обеспечение. Но если proprietary software регулируется превентивно государством, то в регулирование free software вносят коррективы сообщество разработчиков, не отвлекающихся на юридические формальности.

Яндекс.Метрика