Это перевод страницы, написанной на английском языке.

Как применять лицензии GNU со своими программами

Здесь кратко объясняется, как поместить программу под Стандартную общественную лицензию GNU, Меньшую стандартную лицензию GNU или Стандартную общественную лицензию Афферо GNU. Для Лицензии свободной документации GNU у нас есть отдельная страница.

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

Если вы обдумываете применение Меньшей стандартной общественной лицензии GNU, прочтите, пожалуйста, сначала статью “Почему вам не следует применять LGPL для своей следующей библиотеки”. В статье объясняется, почему вместо этого может оказаться лучше применять обычную GPL и как мы принимали бы решение об этом.

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

  • Получить отказ от авторских прав у своего работодателя или учебного заведения.
  • Присоединить к каждому файлу соответствующие уведомления об авторских правах. Не забывайте ясно указывать, какие версии лицензии могут применять пользователи.
  • Добавить файл COPYING с копией GNU GPL или GNU AGPL.
  • Добавить также файл COPYING.LESSER с копией GNU LGPL, если вы применяете ее.
  • Поместить в каждый файл уведомление о лицензии.
  • (По желанию) сделать так, чтобы программа отображала уведомление в начале работы.
  • (Если применяется AGPL) сделать так, чтобы программа предлагала копии своего исходного текста.

Процедура включает в себя добавление двух элементов в каждый файл исходного текста вашей программы: замечание об авторских правах (например, “Copyright 1999 Терри Джонс”) и заявление о разрешении копирования, в котором сказано, что программа распространяется на условиях Стандартной общественной лицензии GNU (или Меньшей GPL, или GPL Афферо).

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

Вот пример отказа от авторских прав; поменяйте имена, название и описание программы соответствующим образом:

Данной справкой ЗАО “Чудо-Юдо” отказывается от всех претензий на авторские права на программу “Дятел” (которая деконструирует деревья), написанной Яковом Хакером.

подпись Кощея Бессмертного, 1 апреля 1989 года
Кощей Бессмертный, губернатор Тридевятого царства

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

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

В замечание об авторском праве должен входить год, в который вы завершили подготовку выпуска (так что если вы завершили ее в 1998 году, но не выпускали до 1999 года, пишите “1998”). Вам следует добавлять соответствующий год для каждого выпуска; например, “Copyright 1998, 1999 Терри Джонс”, если некоторые выпуски были закончены в 1998 году, а другие — в 1999. Если несколько людей помогало писать программу, вписывайте все их имена.

Для программ с несколькими выпусками в течение многих лет допустимо писать диапазон (“2008—2010”) вместо перечисления отдельных лет (“2008, 2009, 2010”) тогда и только тогда, когда каждый год в диапазоне (включительно) в действительности является значимым с точки зрения авторского права и был бы перечислен отдельно; и когда вы заявляете об этом в явном виде в своей документации.

Всегда пользуйтесь английским словом “Copyright”; по международным соглашениям оно применяется во всем мире, даже для материалов на других языках. Знак авторского права “©” можно включать по вашему желанию (в том случае, если ваш набор символов поддерживает его), но это не обязательно. Применение трехсимвольной последовательности “(C)” не имеет значения с точки зрения закона, но это не повредит.

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

Файлы лицензий

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

Если вы выпускаете свою программу по GNU AGPL, используйте текстовую версию GNU AGPL вместо GNU GPL.

Если вы выпускаете свою программу по Меньшей GPL, вам следует добавить также текстовую версию LGPL, обычно в файле под названием COPYING.LESSER. Обратите внимание, что поскольку LGPL является набором дополнительных к GPL разрешений, то крайне важно помещать обе лицензии, чтобы у пользователей были все материалы, необходимые им для понимания своих прав.

Уведомления о лицензии

Объявление о разрешении копирования для каждого файла (называемое также уведомлением о лицензии) должно идти прямо после заявлений об авторских правах на него. Для программы, состоящей из одного файла, это объявление (для программ, выпущенных под “GPL версии 3 и более поздней”) должно выглядеть так:

Это свободная программа: вы можете перераспространять ее и/или изменять ее на условиях Стандартной общественной лицензии GNU в том виде, в каком она была опубликована Фондом свободного программного обеспечения; либо версии 3 лицензии, либо (по вашему выбору) любой более поздней версии.

Эта программа распространяется в надежде, что она будет полезной, но БЕЗО ВСЯКИХ ГАРАНТИЙ; даже без неявной гарантии ТОВАРНОГО ВИДА или ПРИГОДНОСТИ ДЛЯ ОПРЕДЕЛЕННЫХ ЦЕЛЕЙ. Подробнее см. в Стандартной общественной лицензии GNU.

Вы должны были получить копию Стандартной общественной лицензии GNU вместе с этой программой. Если это не так, см. <https://www.gnu.org/licenses/>.

Для программ, состоящих более, чем из одного файла, лучше заменить слова “эта программа” на название программы и начать объявление со строки, в которой сказано: “Этот файл — часть НАЗВАНИЕ”. Например,

Этот файл — часть Foobar.

Foobar — свободная программа: вы можете перераспространять ее и/или изменять ее на условиях Стандартной общественной лицензии GNU в том виде, в каком она была опубликована Фондом свободного программного обеспечения; либо версии 3 лицензии, либо (по вашему выбору) любой более поздней версии.

Foobar распространяется в надежде, что она будет полезной, но БЕЗО ВСЯКИХ ГАРАНТИЙ; даже без неявной гарантии ТОВАРНОГО ВИДА или ПРИГОДНОСТИ ДЛЯ ОПРЕДЕЛЕННЫХ ЦЕЛЕЙ. Подробнее см. в Стандартной общественной лицензии GNU.

Вы должны были получить копию Стандартной общественной лицензии GNU вместе с этой программой. Если это не так, см. <https://www.gnu.org/licenses/>.

Чтобы применить другой набор версий GPL, измените конец первого большого абзаца. Например, если программа под GPL версии 2 или более поздней, замените “3” на “2”.

Это объявление должно находиться вблизи начала каждого исходного файла, рядом с замечаниями об авторских правах. Когда используется Меньшая GPL, вставьте слово “Меньшая” перед словом “Стандартная” во всех трех местах. Когда используется GNU AGPL, вставьте слово “Афферо” перед словом “Стандартная” во всех трех местах.

Для чего нужны уведомления о лицензии?

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

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

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

Уведомление при запуске

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

Уведомление Афферо

Если вы выпускаете свою программу по GNU AGPL и она может взаимодействовать с пользователями по сети, программа должна предлагать этим пользователям свой исходный текст тем или иным образом. Например, если ваша программа является приложением для Интернета, то она могла бы показывать ссылку “исходный текст”, которая приводила бы пользователей к архиву исходного текста. GNU AGPL достаточно гибка, чтобы вы могли выбрать метод, подходящий для вашей конкретной программы — подробности см. в разделе 13.

Прочее

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

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

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

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

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