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.

Під час розгортання джерел, які було змінено порівняно з попередніми версіями, ви повинні оновити кінцеву точку /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; див. COPYING.GPL.