
GNU General Public License (GPL) — це одна з найпоширеніших ліцензій відкритого програмного забезпечення. Основні версії — GPLv2 і GPLv3. Ліцензія дозволяє використовувати, змінювати й розповсюджувати код, але вимагає, щоб усі похідні продукти залишалися відкритими на тих самих умовах.
У середовищі Web3 GPL визначає правила для клієнтів блокчейна, репозиторіїв смартконтрактів, фронтендів децентралізованих застосунків (dApp) і інструментів розробки. Наприклад, Ethereum-клієнт Geth використовує ліцензії сімейства GPL, що встановлює межі використання та розповсюдження.
У Web3 GPL виконує дві основні функції: підтримує відкритість коду та формує правила співпраці й конкуренції. Проєкти під GPL зобов’язані залишати форки відкритими, що підвищує прозорість і можливість аудиту.
Для розробників GPL стимулює обмін поліпшеннями та скорочує дублювання роботи. Для команд проєктів ліцензія впливає на бізнес-стратегії: визначає, які компоненти залишати закритими, коли відкривати код і як управляти брендом та операційною діяльністю. Поширена практика — спочатку застосовувати суворішу ліцензію, а потім переходити на GPL-3.0 у визначений термін (наприклад, у 2023 році) для запуску сумісних форків і вторинних інновацій.
Основою GPL є принцип “copyleft”: якщо ви використовуєте або змінюєте код під GPL і розповсюджуєте зміни, ви повинні оприлюднити вихідний код під тією ж ліцензією та зберегти авторські права й дисклеймер оригінального автора.
“Похідні роботи” — це розробки на основі початкового коду. Наприклад, якщо ви додаєте маршрутизацію й логіку комісій у контракт децентралізованої біржі та запускаєте власну версію — це похідна робота. Якщо ви передаєте копії або бінарні файли іншим, виникають обов’язки щодо розповсюдження — потрібно надати вихідний код і інформацію про ліцензію.
У GPL також є положення “без гарантій”, тобто код надається “як є”. GPLv3 містить додаткові положення щодо патентів і DRM, що зменшує юридичні ризики.
Головна риса GPL — принцип copyleft: усі похідні розповсюдження мають залишатися відкритими на тих самих умовах. Ліцензії MIT і Apache-2.0 лояльніші: дозволяють використання у закритих комерційних продуктах за умови збереження повідомлень про авторські права й ліцензію.
Щодо сумісності: Apache-2.0 і GPLv3 сумісні, але можуть виникати конфлікти з “тільки GPLv2”. Вибір ліцензії має відповідати цілям команди: MIT/Apache — для максимальної комерційної гнучкості, GPL — для збереження внесків спільноти у відкритому доступі. За даними публічних звітів (GitHub Octoverse 2023), ліцензії MIT, Apache і GPL є домінуючими у масовому використанні.
У файлах Solidity варто чітко вказувати ідентифікатор SPDX і додавати файл LICENSE у корінь репозиторію відповідної версії:
// SPDX-License-Identifier: GPL-3.0-or-later
Перевіряйте сумісність бібліотек, від яких залежить контракт, із GPL, щоб уникнути змішування несумісних ліцензій у межах одного контракту. Синхронізуйте LICENSE, NOTICE і заяви про авторські права у репозиторії до розгортання. Публікуйте скрипти збірки й інструкції для відтворення експериментів — це спростить аудит і перевірку спільнотою.
Під час перевірки проєктів і аудиту контрактів у Gate команди перевіряють ідентифікатори SPDX і ліцензії репозиторію, щоб забезпечити сумісність залежностей і мінімізувати ризики після запуску.
Вибір GPL означає, що форки також мають залишатися відкритими, що знижує бар’єри для нових учасників і підвищує ефективність співпраці в екосистемі. Комерціалізація не обмежується продажем закритого ПЗ; вона може базуватися на керованих сервісах, брендингу, токенах управління й підтримці екосистеми — конкурентна перевага зміщується з “пропрієтарного коду” на досвід продукту й мережеві ефекти.
У Web3 деякі провідні протоколи переводять окремі версії на GPL-3.0 після визначеного періоду, що веде до появи сумісних форків і нових функцій. Такий підхід стимулює інновації й конкуренцію у межах чіткої ліцензійної моделі, але потребує проактивного планування бренду, фронтенд-доменів, ліквідності й управління спільнотою, щоб уникнути швидкого розмивання через форки.
AGPL (Affero General Public License) — посилений варіант для “мережевого використання”: якщо користувачі працюють із вашим ПЗ через мережу, ви зобов’язані надати доступ до вихідного коду. Це особливо важливо для фронтендів Web3, сервісів індексації та шлюзів даних. Якщо ваш dApp фронтенд базується на AGPL-компонентах і розгорнутий як публічний сервіс, слід оприлюднити відповідний код.
LGPL (Lesser General Public License) підходить для бібліотек і компонентів: дозволяє лінкування із закритими програмами, якщо зміни у самій бібліотеці LGPL відкриті. Застосунок верхнього рівня може залишатися пропрієтарним. Для гаманців або плагінів вузлів LGPL забезпечує баланс між відкритістю бібліотек і можливістю закритого застосування.
Крок 1: Визначте версію та сумісність. Чітко зазначайте GPLv2, GPLv3 або “або пізніше” й перевіряйте, чи сумісні залежності з вибраною версією.
Крок 2: Зберігайте авторські права й ліцензійні повідомлення. Не видаляйте кредити авторів і текст ліцензії з вихідних файлів і README, додавайте NOTICE за потреби.
Крок 3: Відкривайте похідні роботи. Надавайте користувачам повний вихідний код, скрипти збірки й інструкції для встановлення, щоб інші могли відтворити ваш продукт.
Крок 4: Явно зазначайте ідентифікатори SPDX. Додавайте рядок SPDX у кожен ключовий вихідний файл і розміщуйте файл LICENSE у корені репозиторію для узгодженості.
Крок 5: Відрізняйте розповсюдження від використання. Публікація бінарних файлів, образів чи пакованого ПЗ запускає зобов’язання; внутрішні дослідження — ні. Чи є ончейн-байткод “розповсюдженням” — питання тлумачення, консультуйтеся з юристами.
Крок 6: Документуйте Software Bill of Materials (SBOM). Вказуйте всі залежності та їхні ліцензії для спрощення аудиту й перевірки на платформах, таких як Gate.
Основні ризики — конфлікти ліцензій і невиконані зобов’язання. Використання несумісних ліцензій, невідкриття похідних робіт або відсутність інформації про авторські права/дисклеймер може призвести до видалення коду (наприклад, через DMCA), ускладнити співпрацю чи нашкодити репутації бренду.
Рекомендації: Обирайте ліцензії, узгоджені з бізнес-цілями, на старті проєкту; використовуйте комбіновані стратегії, наприклад AGPL для фронтендів чи MIT/Apache для сервісів; підтримуйте SBOM і чеклісти відповідності; проводьте сторонній аудит перед запуском; консультуйтеся з юристами щодо критичних питань. Для проєктів, які планують масштабування на трейдингових платформах, важливо забезпечити ліцензійну відповідність ще на етапі запуску.
GPL забезпечує безперервність відкритого коду завдяки положенням copyleft — це підходить для Web3-проєктів, які прагнуть, щоб внески спільноти поверталися в екосистему. У порівнянні з MIT/Apache GPL більше акцентує відкритість похідних робіт; у порівнянні з AGPL/LGPL — більше орієнтована на локальні сценарії розповсюдження. Впровадження ідентифікаторів SPDX, LICENSE і SBOM разом з аудитом і чітким бізнес-планом дозволяє командам поєднати відкритість із комерційною життєздатністю.
Ні. GPL вимагає, щоб усі похідні роботи залишалися відкритими під тією ж ліцензією — це принцип “copyleft”. Якщо у вашому проєкті використовується код GPL, весь проєкт має залишатися відкритим. Для комерціалізації закритого ПЗ перевіряйте ліцензії залежностей заздалегідь або отримуйте дозвіл автора на подвійне ліцензування.
Приватне використання не порушує GPL; однак як тільки ви розповсюджуєте або розгортаєте продукт (у тому числі онлайн-сервіси), ви повинні дотримуватися вимог відкритої ліцензії. Багато розробників ігнорують це зобов’язання і потім стикаються з юридичними ризиками. Визначайте ліцензійну стратегію на старті, щоб уникнути змін у майбутньому.
Якщо використання відбувається лише внутрішньо без розповсюдження, відкривати код не потрібно. Якщо ви надаєте модифіковане ПЗ користувачам чи клієнтам — або через мережеві сервіси — ви повинні надати і вихідний код, і опис змін. Це особливо важливо для SaaS-проєктів.
Юридична сила GPL залежить від юрисдикції; у Web3 вона менш надійна, оскільки деплой у блокчейні складно відстежити, а майнери або вузли не можуть перевірити відповідність ліцензії. Проте порушення GPL може спричинити негативну реакцію спільноти або форки, що шкодять репутації, навіть якщо юридичні наслідки обмежені. Рекомендуємо дотримуватися вимог, щоб захистити репутацію проєкту.
Так — це називається подвійним чи мульти-ліцензуванням. Відкриті спільноти часто використовують цю модель, наприклад, пропонують безкоштовну/відкриту версію під GPL і комерційну ліцензію за оплату. Враховуйте, що різні ліцензії можуть конфліктувати; чітко вказуйте, яка версія під якою ліцензією у документації, щоб уникнути плутанини.


