Как стать автором
Обновить

Мир лицензий: Часто задаваемые вопросы про лицензии GNU GPL

Время на прочтение5 мин
Количество просмотров17K
Автор оригинала: www.gnu.org
Недавно я написал статью под названием Мир лицензий: разбираемся с GNU GPL, в которой постарался осветить мир gpl-лицензий, историю и различия в версиях. Статья вызвала большой резонанс, возникло много вопросов, споров. Чтобы немного прояснить ситуацию с GPL, я решил перевести часть официального GPL FAQ. В нем затрагиваются многие вопросы и разъясняются некоторые позиции лицензии. Надеюсь, данный перевод несколько прояснит ситуацию с GPL.

В дальнейшем я продолжу цикл публикаций про лицензии описанием BSD, Apache, MIT и других свободных и не очень лицензий. Кроме того, постараюсь затронуть вопрос лицензий в нашей стране. А пока, предлагаю почитать данный перевод.

Почему GPL разрешает пользователям публиковать модифицированные ими версии?


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

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

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

Требует ли GPL, чтобы исходный код измененной версии был выложен для обозрения?


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

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

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

Если я знаю что, у кого-то есть копия GPL-программы, могу я потребовать передать ее мне?


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

Разрешает ли мне GPL продавать копии программ за деньги?


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

Позволяет ли мне GPL устанавливать цену на скачивание программы с моего сайта?


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

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


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

GPL — это лицензия свободного ПО и поэтому разрешает людям использовать и распространять ПО без обязанности платить кому-то за это.

Позволяет ли мне GPL распространять модифицированные или бета версии под NDA?


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

Что означает, когда говорят что две лицензии «совместимы»?


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

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

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

Что означает, когда говорят, что лицензия «совместима с GPL»?


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

Все версии GNU GPL разрешают делать такие комбинации в частном порядке; они так же разрешают распространение таких комбинаций под той же самой GNU GPL версией. Другая лицензия совместимая с GPL также разрешает это.

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

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


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

Может ли разработчик программы, выпустивший ее ранее под лицензией GPL, в дальнейшем ограничить ее использование?


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

Почему original BSD license несовместима с GPL?


Потому что она содержит особое требование, которого нет в GPL; а именно, требование касающиеся рекламирования программы. Секция 6 GPLv2 говорит:
«Вы не можете требовать от пользователя дополнительных условий нарушающих права данные в этом документе.»
GPLv3 говорит подобное в секции 10. Рекламная оговорка содержит такие ограничения, и поэтому несовместима с GPL.
Исправленная BSD-лицензия не содержит рекламной оговорки, что исправляет проблему.

Рассмотрим ситуацию: Х выпустил v1 продукта под GPL. Y распространил v2 с изменениями, основанными на v1. Х хочет переделать v2 в не-GPL-лицензию. Требуется ли Х-у согласие Y?


Да. От Y требовалось выпустить его версию под GNU GPL, как результат того, что она была основана на v1. Ничего не требует от Y соглашаться на то, чтобы выпустить его код под другой лицензией. Наоборот, Х должен получить разрешение Y перед выпуском кода под другой лицензией.

Могу я выпустить модифицированную версию GPL-программы в только бинарном виде?


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

Могу я выложить бинарники на моем сайте, а исходные коды на другом?


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

Могу ли я использовать GPL для ПО на устройствах, которые не станут работать, если потребители не заплатят за продление подписки?


Нет. В таком сценарии, требование платить ограничивает возможность пользователя запускать программу. Это дополнительное требование в дополнение к GPL, а лицензия запрещает такое.
Теги:
Хабы:
Всего голосов 53: ↑52 и ↓1+51
Комментарии49

Публикации

Истории

Ближайшие события

27 августа – 7 октября
Премия digital-кейсов «Проксима»
МоскваОнлайн
28 сентября – 5 октября
О! Хакатон
Онлайн
3 – 18 октября
Kokoc Hackathon 2024
Онлайн
10 – 11 октября
HR IT & Team Lead конференция «Битва за IT-таланты»
МоскваОнлайн
25 октября
Конференция по росту продуктов EGC’24
МоскваОнлайн
7 – 8 ноября
Конференция byteoilgas_conf 2024
МоскваОнлайн