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

Original author: www.gnu.org
  • Translation
Недавно я написал статью под названием Мир лицензий: разбираемся с 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, а лицензия запрещает такое.
AdBlock has stolen the banner, but banners are not teeth — they will be back

More
Ads

Comments 49

    –1
    Это все очень здорово, вот только читать это очень долго и не очень захватывающе :)

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

    Но в любом случае, спасибо за усилия!
      +1
      будет такая табличка
      где-то в конце цикла :)
      табличка будет основана на переводе подобной таблицы из wiki
        0
        Если речь про эту табличку, то можно сказать, что не такая уж она наглядная, какой могла бы быть :)

          0
          она самая, только я бы ее урезал и упростил
          а чего хотели бы вы?
            +1
            Свести все вообще к примитивному уровню вроде: «Позволяет коммерческое использование», «Разрешает изменения без их публикации» и т.д. и просто плюсики и минусики в колонках.
              0
              ок, учту
                +3
                Вот только не надо нам раздела «позволяет коммерческое использование». Практически все существующие лицензии это позволяют (исключая редкости типа лицензии MAME). Ибо куча народу прочитают это как «позволяет включать код в закрытые программы».

                В общем над составом столбцов надо думать. Практически важными являются два столбца «совместимость с GPLv2» и «совместимость с GPLv3» — но нужно ли делать матрицу совместимости для copyleft лицензий?
        +2
        Спасибо! Жду описание других лицензий.
          +2
          А какие лицензии законны в РФ?
            0
            любые лицензии законны в РФ, кроме тех их положений которые прямо противоречат закону.
              +2
              Можно даже немного уточнить: все, в части не противоречащей закону. В некоторых лицензиях есть положения, которые при определённых условиях могут вступать в коллизии с российским законодательством.
              +2
              Лицензия представляет из себя одну из форм публичного договора, следовательно должна подчиняться законам той местности, где её принимает пользователь. Язык лицензии не имеет значения, для её акцепта достаточно воли принимающей стороны. Таким образом, в России имеют законную силу все лицензии, не противоречащие действующему законодательству.
                0
                Где можно проверить эту информацию, в частности языка лицензии? В этом контексте «Лицензия представляет из себя одну из форм публичного договора» и «публичная оферта» имеют один и тот же смысл?
                0
                Фактически никакие — у нас запрещена неограниченая ПЕРЕДАЧА прав (можно тллько продавать), у нас действуют только догвоора и оферты имебщие официальный перевод на русский язык и т.п… Но путём хитрых изысков свободные лицензции всё же можно подвести под наше законодательство — получается, что автор не отдаёт своё творение всему миру, а как бы, передаёт его по цепочке.
                Кстати, в россии один и тот же продукт может существовать одновременно под несколькими (в т.ч. взаимно противоречивыми) лицензиями — можно выпускать один и тот же продукт и под BSD и под GPL одновременно.
                  +2
                  вот насчет перевода поясните откуда вы берете что действуют только договоры с официальными переводом? насколько я понимаю запрета на иноязычные договоры нет.
                    +3
                    Что значит «неограниченная передача прав» и какая конкретно норма её запрещает?

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

                    А вам не кажется, что в любой стране мира, а не только в России, разработчик может опубликовать код сначала под лицензией BSD, а затем под GPL?
                      0
                      да, английская оферта в россии действует.
                        0
                        На каком основании?
                          0
                          Если по-памяти, то на основании третьей части закона «о государственном языке»
                            0
                            Она действует на общих основаниях, установленых ГК РФ. Указанный вами закон в данном случае неприменим.
                              0
                              Нет, конкретно эта статья устанавливает, когда использование русского обязательно. И гражданских договоров там нет, т.е., они могут заключаться на любом языке. Вот это примерно имел в виду предыдущий оратор.
                                0
                                Говорю вам ещё раз: этот закон неприменим в данном случае. Не тяните за уши всё, что теоретически может быть хоть как-то релевантно.

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

                        А разве где-то такое невозможно? о_О
                      –6
                      Поздравляю. Очередной перевод очередного FAQ c GNU.org.
                      В следующий раз расскажите, пожалуйста, о физических свойствах воды.
                        0
                        сделайте что-то более полезное, подайте пример
                        а мы посмотрим какой вы умный, поучимся у вас
                          –3
                          Дружок, расскажи, пожалуйста, а какая логическая связь между «сделайте что-то более полезное» и обсуждением очередного, причем — поверхностного перевода FAQ?
                          0
                          К сожалению, народ вокруг по большей части почему-то ленится читать содержимое лицензий, тем более на английском; и как бы вообще не в курсе, что такое GPL и как с ней работать.

                          А вот учебников по физике — навалом.
                          +1
                          Спасибо за перевод. Есть вопрос:

                          В предыдущей статье цикла я не нашел MIT в списке совместимых, на gnu.org она вообще не упомянута в списках совместимости (только Expat и X11, а нужно — просто MIT).
                          Но по самому тексту она вроде как совместима (поскольку похожа на modified BSD), а также помечена как совместимая в википедии.

                          Есть продукт под GPL. Я хочу использовать в нем библиотеку под MIT. Могу ли я это сделать с прицелом на дальнейшее распространение продукта? Могу ли я распространять его вместе с этой библиотекой? Т.е. совместимы GPL с MIT или нет?

                            0
                            > Я хочу использовать в нем библиотеку под MIT.

                            Да, можно.

                            >Могу ли я это сделать с прицелом на дальнейшее распространение продукта?

                            Да, можете.

                            >Могу ли я распространять его вместе с этой библиотекой?

                            Да, можете.

                            > Т.е. совместимы GPL с MIT или нет?

                            В этом конкретном случае — да, совместимы.

                            ru.wikipedia.org/wiki/%D0%9B%D0%B8%D1%86%D0%B5%D0%BD%D0%B7%D0%B8%D1%8F_MIT
                              –1
                              Изучать начинать отсюда:

                              www.libertarium.ru/libertarium/18586/def_article_t?PRINT_VIEW=YES

                              А еще лучше осилить официальный FAQ с GBU.org вместо того чтобы читать очередной некомплектный перевод.
                                0
                                Спасибо!
                                Эту статью в вики я видел, но про GPL в ней ни слова, а по тексту лицензии определить совместимость мне пока слабО.

                                > В этом конкретном случае — да, совместимы.
                                А в каких случаях они не будут совместимы?

                                И надо ли в случае распространения продукта вместе с библиотеками под своими лицензиями как-то на этом отдельно заострять внимание, например в licenses.txt, что-то вроде EULA со списком лицензий?
                                  0
                                  >Эту статью в вики я видел, но про GPL в ней ни слова, а по тексту лицензии определить совместимость мне пока слабО.

                                  Вот потому и надо читать ОФИЦИАЛЬНУЮ информацию, где чОрным по белому написано, какие лицензии совместиы, а какие — нет.

                                  >А в каких случаях они не будут совместимы?

                                  google -> «четырехпунктная лицензия BSD несовместима с GPL» или «Original BSD license несовместима с GPL»

                                  >И надо ли в случае распространения продукта вместе с библиотеками под своими лицензиями как-то на этом отдельно заострять внимание, например в licenses.txt, что-то вроде EULA со списком лицензий?

                                  Скачайте исходники любой открытой программы и посмотрите.
                                    0
                                    > Вот потому и надо читать ОФИЦИАЛЬНУЮ информацию
                                    В том-то и дело, что на gnu.org приведены как совместимые с GPL варианты MIT: Expat и X11, а про собственно MIT упоминаний нет. И в официальном faq тоже. Есть в википедии и по приведенной вами ссылке — но это же неофициальные источники :)

                                    > четырехпунктная лицензия BSD
                                    Так речь же не о ней, BSD != MIT, я уж и решил, что вокруг MIT какие-то «подводные камни» есть…

                                    > Скачайте исходники любой открытой программы и посмотрите
                                    C этим уже разобрался, в официальном faq рекомендуется приложить к продукту список библиотек в свободной форме, с указанием лицензий.
                                0
                                MIT есть в статье, потому что MIT License, это и есть X11 license, которая совместима с GNU GPL.
                                Правильнее называть ее именно «X11 license», потому что MIT (как институт и организация) имеет несколько видов лицензий на программное обеспечение.
                                  0
                                  Спасибо!
                                0
                                Я хотел бы выпустить программу, написанную мной под GNU GPL, но я также хотел бы использовать тот же код в несвободном ПО.

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

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

                                  Да я благодаря GPL могу использовать множество великолепных программ абсолютно бесплатно, но вот категоричность суждений в мире GPL всегда меня поражает.
                                  Я не психолог, но это уже похоже на какую-то фобию проприетарного бесплатного ПО с EULA, или же я не понимаю какого-nj мема среды GPL.
                                    0
                                    а принцип Столлмана «Liberty or Death» вас не пугает? :)
                                      0
                                      Пугает, потому что он внутренне противоречив.
                                        0
                                        в чем вы видите противоречие?
                                          0
                                          В отрицании свободы выбрать несвободу — а также любую точку зрения, отличную от Столлмановой.
                                      0
                                      На вопросы этики, как правило, переходят, когда нет других аргументов в пользу защищаемого постулата.
                                      0
                                      что-нибудь известно о размещении копирайтов, об их видоизменении?
                                      некоторые достаточно интересные наработки (в моем примере cms) просто «захламляют» футер копирайтами в 3-4 строки Оо, а что если размещать копирайты скажем в meta тегах (author, copyright, generator) или вообще отдельной страничкой на сайте, где будут перечислены копирайты разработчиков?
                                        0
                                        что там сказано о копирайтах-ссылках, т.е.
                                        «Powered by super-duper-cms.org — the best openshmopen cms in our and all existing worlds, because all others — suckers but we is simple mega-super-duper-shmuper-cms. You will punish for removal of these lines».
                                        указание авторства в коде скрипта — может быть достаточным?
                                          –1
                                          Спросите автора. Казалось бы, в чем проблема?
                                          0
                                          а под какой лицензией эти вещи выпущены? если под GPL, то во-первых ваш продукт тоже должен быть под GPL, а во-вторых вы вольны вовсе не указывать copyright предыдущих авторов, указав только свой с указанием того, что вы модифицировали код и чем он отличается от исходного. То есть считаю, что в вы можете в вольной форме указать используемые в вашем проекте источники кода.

                                          кроме того, на сайте _должна_быть_ ссылка на лицензию GPL, а все исходные коды под GPL должны содержать особый текст, который приведен в лицензии.

                                          Предвижу вопрос: что такое html-страница — исходный текст или нет. Я могу ошибаться, опыта мало, но в лицензии сказано следующее:
                                          «Исходный код» произведения подразумевает предпочитаемую форму произведения для создания его модификаций. «Объектный код» подразумевает любую другую форму произведения." Следовательно, генерируемая html-страница не может считаться исходным кодом (если только она не статичная, но не думаю что вы у кого-то брали лицензию на статичную html-страницу) и не должна быть помечена по правилам которые требует GPL для исходных кодов. Проще говоря в исходном коде html писать вы ничего не обязаны.

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

                                          Что касается других лицензий то тут вопрос другой, наверняка все зависит от типа лицензии. Нужно уточнять.
                                          0
                                          Я использую библиотеку под лицензией GPLv3, не lesser. Правильно ли я понимаю что на основании «Разрешает ли мне GPL продавать копии программ за деньги?» я могу продавать свое приложение, совместно с не измененной используемой библиотекой?

                                          Only users with full accounts can post comments. Log in, please.