4. Информация о лицензировании Taler#
В этом файле представлен обзор лицензирования всех компонентов Taler и их зависимостей во время выполнения. Под «компонентом» в данном контексте следует понимать набор исходных файлов, которые могут быть получены из одного Git-репозитория. Если компоненты состоят из исходников с разными режимами лицензирования, т.е. потому что мы хотим дать возможность сторонним разработкам легко интегрироваться с Taler, они также будут описаны.
Все компоненты обычно выпускаются под лицензиями Lesser GPL, GPL или Affero GPL. Основная стратегия заключается в том, чтобы библиотеки, которые могут понадобиться третьим лицам для интеграции с Taler, были под LGPL, автономные двоичные файлы и тестовые примеры - под GPL, а веб-серверы, реализующие веб-сервисы и REST API, - под AGPL. Тривиальный код (например, логика сборки) иногда также просто передается в общественное достояние. Законодательство, в котором нет общественного достояния, должно считать, что такой код находится под LGPL.
Проект был первоначально начат на основе кода и документации GNUnet e.V. и INRIA, и продолжает развиваться сообществом GNUnet и компанией Taler Systems SA. INRIA и GNUnet e.V. передали или разделили свои авторские права с Taler Systems SA. Таким образом, в целом можно сказать, что авторские права на код принадлежат Taler Systems SA.
Мы также тесно сотрудничаем с пакетом GNU Anastasis. Здесь действует такое же разделение авторских прав между первоначальными разработчиками из BFH и GNUnet e.V., за исключением того, что авторские права были переданы или разделены с Anastasis SARL. Существуют соглашения, позволяющие разработчикам свободно перемещать код между GNU Anastasis, GNUnet и GNU Taler, если это технически оправдано (обратите внимание, что все разработчики должны подписать соглашение о передаче авторских прав GNUnet e.V.).
Обратите внимание, что этот файл может быть устаревшим. Если вы сомневаетесь, пожалуйста, свяжитесь с сопровождающими GNU (в настоящее время это Флориан Дольд, Кристиан Гротхофф и Мартин Шанценбах), поскольку они, как правило, несут ответственность и имеют право определять соответствующую лицензию для отдельных компонентов. (Технически это право предоставляется и ограничивается авторскими договорами, подписанными отдельными участниками, и, возможно, зависит от процессов принятия решений в Anastasis SARL, GNUnet e.V. и Taler Systems SA. Однако на практике это никогда не было проблемой, поскольку пока все согласны со стратегией лицензирования, и сопровождающие просто вносят небольшие коррективы, чтобы последовательно реализовать эту стратегию, когда возникают проблемы, такие как перемещение кода между компонентами под лицензиями LGPL, GPL и AGPL или случайное использование разработчиками неправильной лицензии в заголовке).
4.1. Следуя AGPL#
Главная цель AGPL - обязать поставщика услуг сделать исходный текст услуги легкодоступным для всех пользователей этой услуги.
Для GNUnet, GNU Taler и GNU Anastasis мы реализуем это требование путем внедрения конечной точки /agpl/
, которая направляет пользователей API на исходный текст (либо TGZ, либо перенаправление на Git-репозиторий) компонента и его зависимостей (мы считаем допустимым не включать немодифицированные зависимости, которые легко доступны и доступны в других местах). Затем исходный текст (как определено в GPL) должен быть доступен для загрузки бесплатно и без контроля доступа с этого адреса в форме, пригодной для разработки (то есть включая систему сборки и инструкции). Все обычные ограничения, связанные с распространением кода под GPL, также применяются.
При развертывании исходных текстов, которые были изменены по сравнению с версиями, выпущенными GNU, вы должны обновить конечную точку /agpl/
, чтобы она указывала на измененный исходный код. Обратите внимание, что вы должны всегда делать доступным код фактически развернутой версии, который включает в себя настройки, расширения, интеграции, улучшения безопасности или исправления ошибок.
4.2. Следуя GPL#
GPL требует, чтобы вы сделали исходный текст соответствующей программы доступным для всех пользователей, которые могут работать с этой программой. Сюда также относятся любые сделанные вами настройки (брендинг, тематическое оформление, расширения, интеграции, улучшения безопасности или исправления ошибок). Исходный текст измененной программы должен быть снова выпущен под GPL и должен быть достаточно легко доступен бесплатно для всех пользователей вашей программы.
При поставке двоичных файлов неизмененных версий релизов GNU это условие выполняется, поскольку GNU делает исходные тексты доступными как в Git-репозиториях проекта, так и на FTP-зеркалах проекта GNU. Вы все равно обязаны сделать доступной для других любую логику упаковки, которую вы написали для создания двоичных файлов.
4.3. Следуя LGPL#
Чтобы следовать LGPL, вы в основном делаете все, что нужно делать по GPL, когда речь идет об исходных текстах, которые вам предоставили.
Однако вам разрешается интегрировать код, предоставленный под LGPL, с другим кодом, который не под LGPLv3+. Тем не менее, модификации нашего существующего кода должны оставаться под LGPLv3+, и мы настоятельно рекомендуем вам выпускать весь свой код под соответствующей лицензией FLOSS.
4.4. Учебники (git://git.taler.net/tutorials)#
Изначально спецификация была разработана INRIA и отдельными лицами, находящимися под юридическим названием «GNUnet e.V.». Для каждого исходного файла в заголовке указано, кому принадлежат авторские права, поскольку некоторые части были взяты «дословно» из фонда GNUnet e.V., а другие были разработаны в INRIA или Taler Systems SA «ex novo».
Как правило, для них используется лицензия GNU GPLv3; см. раздел КОПИРОВАНИЕ.GPL.