GPL
; GPL, як і багато open source-ліцензій, містить disclaimer: програма надається без гарантій.; Вона дає свободу користуватися кодом, але просить не закривати цю свободу для наступних користувачів.; Виробник продає пристрій із Linux kernel і BusyBox.; Потрібно враховувати:
Головна думка: GPL — це ліцензійний пакет взаємності.; * Документація щодо GPL compatibility.; GPL тісно пов’язана з рухом free software.; Небезпека: найчастіша GPL-проблема — не сама ліцензійний пакет, а те, що розробник поширює binary й забуває про source code та notices.;== Warranty disclaimer == Рекомендовано: Практична роль: точний файл ліцензії, SPDX-рядки й README зменшують плутанину для користувачів, contributor-ів і compliance-інструментів.; Практична роль: GPLv3 намагається захистити свободу не лише “прочитати код”, а й реально змінити програму на пристрої в підтримуваних умовах.; * Free Software Foundation materials about GNU licenses.;'''Головна перевага:''' GPL не без ускладнень відкриває код, а захищає його від перетворення на закритий програмний продукт при поширенні похідних версій.; У SaaS-сценарії:
'''Висновок:''' MIT License дає більше свободи компаніям закривати похідні роботи, а GPL краще зберігає відкритість похідного коду.;== переважні аспекти GPL ==
== GPL і BSD License ==
<div style="background:#eafaf1; border-left:6px solid #2ecc71; padding:12px; margin:12px 0;">
організація запускає GPL-програму лише всередині себе.;</div>
<div style="background:#e7f3ff; border-left:6px solid #2b7cff; padding:12px; margin:12px 0;">
== SPDX identifiers ==
У GPL copyleft означає:
<div style="background:#eafaf1; border-left:6px solid #2ecc71; padding:12px; margin:12px 0;">
!;<div style="background:#e7f3ff; border-left:6px solid #2b7cff; padding:12px; margin:12px 0;">
'''GPLv3''' — третя реліз GNU General Public License, опублікована Free Software Foundation 29 червня 2007 року.; На відміну від permissive-ліцензій на кшталт MIT License або BSD License, GPL не без ускладнень надає можливість користуватися кодом.; GPL має змогу бути не найкращим вибором, якщо:
<div style="background:#e7f3ff; border-left:6px solid #2b7cff; padding:12px; margin:12px 0;">
* складніша для комерційного використання;
* має змогу бути несумісною з деякими ліцензіями;
* не підходить для всіх бібліотек;
* має змогу зменшити adoption у proprietary-екосистемах;
* потребує open source compliance;
* складні питання linking;
* складні питання derivative works;
* різниця GPLv2/GPLv3 має змогу створювати проблеми;
* не завжди покриває SaaS-сценарії — для цього є собою AGPL;
* потребує уважного поширення source code.; Критерій
</div>
=== SaaS-проєкт хоче сильний copyleft ===
<div style="background:#f0eaff; border-left:6px solid #8e44ad; padding:12px; margin:12px 0;">
Якщо автор хоче дозволити proprietary-програмам використовувати бібліотеку, частіше обирають:
LGPL надає можливість proprietary-програмам використовувати бібліотеку за певних умов, але зміни самої LGPL-бібліотеки зазвичай мають залишатися відкритими під відповідними умовами.; Це має змогу виглядати так:
GPL добре підходить, якщо потрібно:
== Distribution ==
'''Практична порада:''' для бібліотек GPL — сильний і свідомий вибір.; Це форма, зручна для внесення змін.; LGPL
GPL вимагає, щоб при поширенні GPL-програми або похідної роботи користувачі додатково отримували відповідні ліцензійні права й доступ до source code.; * викласти binary на сайт;
* продати пристрій із GPL-програмою;
* передати клієнту застосунок;
* поширити модифіковану версію;
* включити GPL-код у програмний продукт;
* роздати копії на носії;
* опублікувати Docker image з GPL-компонентами в певних сценаріях.; '''істотно:''' для server-side проєктів, де істотно відкривати зміни при мережевому використанні, варто розглянути AGPL, а не звичайну GPL.; * Документація щодо LGPL і AGPL.;== Linking ==
<syntaxhighlight lang="python">
<div style="background:#fff4e5; border-left:6px solid #f39c12; padding:12px; margin:12px 0;">
!; Docker image має змогу містити GPL-компоненти.; src/
істотно:
* якщо ви поширюєте модифіковану GPL-програму, потрібно поширювати її під GPL-сумісними умовами;
* користувачі мають отримати source code або доступ до нього;
* не можна додати додаткові обмеження, які забирають GPL-права;
* похідний код не можна без ускладнень закрити як proprietary software;
* свободи мають переходити далі.; * запускати програму;
* вивчати її роботу;
* отримувати source code;
* змінювати програму;
* поширювати оригінальні копії;
* поширювати модифіковані версії;
* продавати копії;
* використовувати код у free software-проєктах;
* створювати похідні роботи за умов GPL.; '''Проста аналогія:''' якщо книги стоять на одній полиці, це не означає, що всі вони стали однією книгою.; Розробник створює desktop-застосунок і хоче, щоб усі поширені модифіковані версії додатково залишалися open source.;== Коли GPL має змогу бути невдалим вибором ==
</div>
</div>
<div style="background:#fff4e5; border-left:6px solid #f39c12; padding:12px; margin:12px 0;">
== Tivoization ==
'''Практична роль:''' GPLv3 розроблена для новішого світу програмного забезпечення, де важливими стали патенти, пристрої з обмеженим запуском модифікованого ПЗ і складніші моделі поширення.; |-
| Тип
| Copyleft
| Permissive
|-
| Patent grant
| є собою в GPLv3-контексті
| Явний patent grant
|-
| Похідні роботи
| Copyleft-вимоги
| Можуть бути proprietary
|-
| Сумісність
| Залежить від версії GPL
| Часто сумісна з GPLv3, але не з GPLv2-only
|}
== Приклад SPDX у файлі ==
<div style="background:#f0eaff; border-left:6px solid #8e44ad; padding:12px; margin:12px 0;">
== GPL і бібліотеки ==
<syntaxhighlight lang="markdown">
Цікавий фактКритично: GPL-код має змогу бути вільним, але це не означає, що він автономно безпечний, підтримуваний або production-ready.; GPL compatibility — важлива тема, бо не кожен open source-код можна поєднувати з GPL-кодом.; Критично: не можна автономно вважати, що dynamic linking завжди безпечний, а static linking завжди заборонений.; :contentReference [oaicite:5]{index=5} GPL і proprietary softwareGPLv3 розширює й уточнює теми, які стали важливими після GPLv2:
GNU GPL застосовується для програм, бібліотек, інструментів, серверного ПЗ, desktop-застосунків, системних компонентів і багатьох open source-проєктів.; * версію GPL;
До source code можуть належати: project/ Copyleft — це принцип, за яким похідні версії програми мають зберігати ті самі або сумісні свободи.;== Обмеження GPL == Основна ідея: GPL каже: “Можеш користуватися, змінювати й поширювати код, але якщо поширюєш похідну версію — збережи ті самі свободи для інших”.; Це має змогу не створювати тих самих обов’язків, що поширення копій клієнтам, але потрібно перевірити конкретний сценарій.; GPL часто важлива в embedded-пристроях, бо вони використовують Linux, BusyBox, U-Boot та інші open source-компоненти.; |- |
Тип | Copyleft | Permissive |
|---|---|---|---|
| Закриття похідного коду | Зазвичай не надає можливість при поширенні | надає можливість | |
| Attribution | Так | Так | |
| Ідея | Свобода має зберігатися | Максимальна гнучкість використання |
</div>
GPLv2 важлива для:
<div style="background:#eafaf1; border-left:6px solid #2ecc71; padding:12px; margin:12px 0;">
</div>
* використовувати приватно;
* вивчати;
* змінювати;
* запускати;
* продавати як GPL-програму;
* поширювати з source code.; OSI публікує сторінки GNU General Public License і вказує GPLv3 як ліцензію зі SPDX short identifier `GPL-3.0`.;</div>
істотно: GPL — сильна ліцензійний пакет.; Формулювання
Source code у GPL-контексті — це не без ускладнень “архів із чимось”.; :contentReference [oaicite:7]{index=7}
- GPL сильніше захищає відкритість похідного коду, ніж MIT або BSD.; * Linux kernel використовує GPLv2, а не GPLv3.;
Copyright (C) 2026 Example Author
/*
Copyleft
У файлах коду:
AGPL
| GPL-2.0-only | Код можна використовувати тільки за GPLv2 |
| GPL-2.0-or-later | Код можна використовувати за GPLv2 або будь-якою пізнішою версією GPL |
| GPL-3.0-only | Код можна використовувати тільки за GPLv3 |
| GPL-3.0-or-later | Код можна використовувати за GPLv3 або будь-якою пізнішою версією GPL |
SPDX-License-Identifier: GPL-3.0-or-later
Derivative works
Але межа між “mere aggregation” і derivative/combined work має змогу бути складною.;
Тематичні мітки
- Linux kernel використовує GPLv2, не GPLv3;
- kernel modules мають окремі складні питання сумісності;
- багато embedded-пристроїв містять Linux kernel;
- виробники пристроїв мають виконувати GPLv2-обов’язки щодо source code;
- kernel compliance є собою важливою частиною open source compliance.; Проста аналогія: permissive-ліцензія каже “бери й роби майже що хочеш”, а GPL каже “бери, змінюй, поширюй, але не забирай ці права в наступних користувачів”.; Linking — одна з найобговорюваніших тем GPL.; GNU описує GPLv3 як free, copyleft license for software and other kinds of works.;{{SEO
Висновок: LGPL часто обирають для бібліотек, коли хочуть зберегти відкритість самої бібліотеки, але не блокувати її використання в закритих програмах.;== Патенти ==
it under the terms of the GNU General Public License...; GPL
GPLv3 приділяє цій проблемі більше уваги, ніж GPLv2.; Або для GPLv2-only: У `README.md` можна написати:
Висновок
- плутати GPL і MIT License;
- думати, що GPL забороняє продаж;
- думати, що GPL означає “на безоплатній основі”;
- не вказати версію GPL;
- забути різницю між `only` і `or-later`;
- копіювати GPL-код у proprietary product без аналізу;
- не надавати source code при поширенні binary;
- видаляти copyright notices;
- не перевіряти license compatibility;
- вважати, що Docker image не має ліцензійних обов’язків;
- вважати, що SaaS завжди покривається GPL так само, як distribution;
- не додавати build scripts;
- не вести список third-party components.;== Exceptions ==
README.md
Поширені ідентифікатори:
Цікаво, що слово free у GPL означає не “безкоштовний”, а “вільний”.; Що означає
Або:
- автор не гарантує роботу без помилок;
- автор не гарантує придатність для конкретної задачі;
- користувач системи сам відповідає за тестування;
- production-використання потребує перевірки;
- ліцензійний пакет дає права, але не гарантує якість.; * GNU General Public License v2.0.;
Головне правило: GPL compliance — це не лише файл LICENSE.; :contentReference [oaicite:3]{index=3}
!; Якщо автор хоче, щоб зміни відкривалися навіть при мережевому використанні, варто розглянути AGPL замість звичайної GPL.; Загальна обережна логіка така: якщо програма тісно поєднується з GPL-бібліотекою в одну роботу, це має змогу створювати GPL-обов’язки для всього combined work.;
- користувач системи має отримати не лише source code;
- у певних сценаріях він має мати реальну можливість запускати змінені версії;
- апаратні обмеження не повинні в цілому знецінювати свободу модифікації.; COPYING
Ідея:
LGPL або GNU Lesser General Public License — слабша copyleft-ліцензія, часто використовувана для бібліотек.; Практична роль: GPL хоче, щоб користувач системи міг не лише отримати binary, а й реально змінити програму й зібрати її.; Це ще source code, notices, build scripts, dependencies, distribution і зрозумілий бізнес-процес.;== GPL і MIT License ==
Apache License 2.0 — permissive-ліцензія з явнішою патентною частиною.;* source code offer;
* build scripts;
* kernel patches;
* bootloader changes;
* license notices;
* GPL-компоненти в firmware;
* SBOM;
* device update mechanism;
* supplier compliance;
* availability of corresponding source.; У `COPYING` або `LICENSE` додають повний текст GPL.; '''Практична роль:''' GPL exception — це як спеціальне додаткове правило, яке пом’якшує або уточнює ліцензію для конкретного сценарію.; Слово `or-later` надає можливість використовувати майбутню версію GPL, а `only` — ні.; SPDX-License-Identifier: GPL-3.0-or-later
'''істотно:''' якщо проєкт має патентні ризики, вибір між GPLv2, GPLv3, Apache License 2.0 або іншою ліцензією потрібно робити дуже уважно.; У GPL-проєктах часто зустрічаються формулювання:
* GPL — одна з найвідоміших copyleft-ліцензій у світі.; Вона вимагає зберігати свободи користувача: доступ до source code, право змінювати й право поширювати далі.; Критерій
## License
<div style="background:#fff4e5; border-left:6px solid #f39c12; padding:12px; margin:12px 0;">
<syntaxhighlight lang="c">
Класична GPL зазвичай прив’язана до поширення копій програми, а не без ускладнень до використання програми на сервері.;<div style="background:#fff4e5; border-left:6px solid #f39c12; padding:12px; margin:12px 0;">
</div>
Приклади:
* linking exception;
* classpath exception;
* GCC Runtime Library Exception;
* Autoconf exception;
* project-specific exceptions.; має змогу йтися про:
* static linking;
* dynamic linking;
* plugins;
* libraries;
* IPC;
* shared libraries;
* kernel modules;
* language-specific imports;
* combined programs.; Критерій
* GNU General Public License v3.0.; Free Software Foundation підкреслює, що GPL гарантує свободу поширювати й змінювати всі версії програми.;== Only і or later ==
Деякі GPL-проєкти мають license exceptions.; * SPDX License List: GPL identifiers.; OSI публікує сторінку GNU General Public License version 2 і пояснює, що GPL розроблена для свободи поширювати копії, отримувати source code, змінювати ПЗ і використовувати його частини в нових free programs.; Водночас GPL потребує уважного compliance: реліз ліцензії, source code, notices, dependencies, linking, Docker images, embedded devices і `only/or-later` формулювання мають значення.; Деталі залежать від ліцензії, архітектури й юрисдикції.;=== Open source desktop application ===
* модифікована реліз GPL-програми;
* програма, що охоплює GPL-код;
* тісно пов’язаний combined work;
* binary, зібраний із GPL-компонентами;
* програмний продукт, який поширює GPL-код у складі більшої системи.;<div style="background:#fff4e5; border-left:6px solid #f39c12; padding:12px; margin:12px 0;">
'''Практична порада:''' для container images корисно мати SBOM і окремий список third-party licenses.; * Матеріали щодо copyleft, free software, open source compliance, SBOM, source code distribution, Docker images і embedded Linux compliance.; * сильний copyleft;
* захист свободи користувачів;
* вимога доступу до source code;
* запобігання закриттю похідних версій;
* велика історична роль;
* популярність у free software;
* OSI-recognized open source license;
* стандартні SPDX identifiers;
* хороша для програм, де важлива взаємність;
* сприяє будувати commons;
* змушує downstream-користувачів повертати свободи іншим.;<div style="background:#fff4e5; border-left:6px solid #f39c12; padding:12px; margin:12px 0;">
Exceptions можуть дозволяти те, що звичайна GPL обмежувала б сильніше.; Вона надає можливість використовувати, вивчати, змінювати й поширювати код, але вимагає, щоб при поширенні похідних версій користувачі додатково отримували відповідні свободи й source code.; Вона намагається зберегти свободу коду для наступних користувачів.;<div style="background:#e7f3ff; border-left:6px solid #2b7cff; padding:12px; margin:12px 0;">
<div style="background:#fff4e5; border-left:6px solid #f39c12; padding:12px; margin:12px 0;">
AGPL важлива для:
GPL-проєкти мають зберігати copyright notices.;== GPLv2 ==
<div style="background:#eafaf1; border-left:6px solid #2ecc71; padding:12px; margin:12px 0;">
<div style="background:#fdecea; border-left:6px solid #e74c3c; padding:12px; margin:12px 0;">
== Як додати GPL до проєкту ==
'''істотно:''' якщо проєкт комерційний або юридично чутливий, питання derivative work краще перевіряти з open source compliance-фахівцем або юристом.; !; '''AGPL''' або '''GNU Affero General Public License''' — ліцензійний пакет, схожа на GPLv3, але з додатковою умовою для network use.; У таких випадках GPL одного компонента не обов’язково “поширюється” на всі інші незалежні програми.; {| class="wikitable"
== Коли варто використовувати GPL ==
'''Висновок:''' BSD-ліцензія дає більше свободи downstream-користувачам, а GPL сильніше захищає відкритість майбутніх версій.; Це один із найвідоміших GPL-проєктів у світі.; GPLv3 має кращу сумісність із Apache License 2.0, ніж GPLv2-only.; !; '''істотно:''' не використовуйте без ускладнень “GPL” без версії, якщо хочете уникнути плутанини.; !;<div style="background:#eafaf1; border-left:6px solid #2ecc71; padding:12px; margin:12px 0;">
SPDX License List містить окремі записи для GPLv2 і GPLv3.; У практиці GPL додатково вважається open source-ліцензією.; :contentReference [oaicite:6]{index=6}
* GPL надає можливість продавати software; “free” означає свободу, а не обов’язково нульову ціну.; Якщо мета — максимальна adoption у різних продуктах, MIT або Apache 2.0 можуть бути простішими.;== Source code ==
BSD-ліцензії permissive, а GPL copyleft.; Можливі проблеми:
LGPL
GPL вимагає доступ до відповідного source code при поширенні програми.;== Mere aggregation ==
CLI-інструмент
- захистити відкритість похідного коду;
- зробити software freedom головною умовою;
- створити free software application;
- не дозволити закрити модифіковані версії;
- вимагати source code при поширенні;
- будувати community commons;
- поширювати інструмент, який має залишатися відкритим;
- підтримувати ідеологію free software;
- уникати proprietary forks при distribution.; Вона не без ускладнень “надає можливість”, а наполягає: якщо ти отримав свободу змінювати код, не забирай цю свободу в наступних людей.;
* SPDX-License-Identifier: GPL-3.0-or-later */
</syntaxhighlight>
Tivoization — термін, пов’язаний із ситуацією, коли пристрій містить GPL-програму, але технічно блокує запуск користувацьких модифікованих версій.; * GPLv2 only;
- GPLv2 or later;
- GPLv3 only;
- GPLv3 or later.; Патентні питання важливі для:
Поширені помилки:
GPL і Docker images
Derivative work або похідна робота — одна з найважливіших і найскладніших тем GPL.; * `GPL-1.0-only`;
- `GPL-1.0-or-later`;
- `GPL-2.0-only`;
- `GPL-2.0-or-later`;
- `GPL-3.0-only`;
- `GPL-3.0-or-later`.; Це створює питання compliance.; GPL для бібліотеки означає сильніші copyleft-наслідки для програм, які її використовують.;
GPL і Apache License 2.0
Підказка: GPL найкраще функціонує тоді, коли мета проєкту — не без ускладнень популярність коду, а збереження свободи для всіх downstream-користувачів.; Команда публікує command-line tool під GPL, щоб користувачі могли змінювати його й поширювати покращення з source code.;
- SPDX-License-Identifier: GPL-2.0-only
!; !;== Див.; додатково ==
- точно вказувати версію GPL;
- вирішити `only` чи `or-later`;
- додати файл `COPYING` або `LICENSE`;
- використовувати SPDX identifiers;
- зберігати copyright notices;
- перевіряти license compatibility dependencies;
- вести SBOM;
- мати source code offer, якщо поширюється binary;
- документувати build process;
- не змішувати GPL-код із несумісними ліцензіями;
- перевіряти container images;
- мати open source compliance process;
- для SaaS-сценаріїв розглянути AGPL, якщо це мета;
- консультуватися з юристом у комерційних продуктах.; Практична порада: перед змішуванням GPL-коду з кодом під іншими ліцензіями варто перевірити сумісність, а не покладатися на інтуїцію.; * AGPL з’явилася для сильнішого copyleft у network/SaaS-сценаріях.; GPL відома насамперед як copyleft-ліцензія: вона надає можливість використовувати, вивчати, змінювати й поширювати програму, але вимагає, щоб похідні версії при поширенні додатково залишалися під GPL-сумісними умовами.; GPL
Linux kernel ліцензований під GPLv2.; Її потрібно обирати свідомо, а не без ускладнень з цієї причини, що вона відома.;== GPL і embedded devices ==
істотно: free software і open source часто перетинаються технічно, але мають різні акценти: free software більше говорить про свободу користувача, open source — про відкритість і модель розробки.; :contentReference [oaicite:2]{index=2}
GPL має обмеження.; GPL-умови все одно важливі.;</syntaxhighlight>
Приклади distribution:
GPL надає можливість:
Для GPL істотно правильно вказувати точний SPDX identifier.; * GPLv3 була опублікована Free Software Foundation 29 червня 2007 року.; Основні переважні аспекти GPL:
* SPDX-License-Identifier: GPL-2.0-only */
== GPL і Linux kernel ==
<div style="background:#fff4e5; border-left:6px solid #f39c12; padding:12px; margin:12px 0;">
<div style="background:#fff4e5; border-left:6px solid #f39c12; padding:12px; margin:12px 0;">
!; GPL
Критично: сумісність GPL-коду часто ламається саме через неуважність до “only” і “or later”.; Проста різниця: GPL зазвичай сильніше активується при поширенні копій, а AGPL додає вимогу для користувачів, які взаємодіють із програмою через мережу.; GPLv3 містить сучасніші положення щодо software patents, ніж GPLv2.; * GPL важлива не лише для desktop/server software, а й для embedded-пристроїв, роутерів і firmware.; !; Сумісність залежить від конкретного формулювання: “only” або “or later”.; :contentReference [oaicite:1]{index=1} GPLv2 — друга реліз GNU General Public License.; |- | Copyleft strength | Сильніший | Слабший |- | Для бібліотек | має змогу змушувати combined work бути GPL | надає можливість ширше використання бібліотеки |- | Proprietary applications | Часто проблемно | Часто можливо за умов LGPL |- | Мета | Сильне збереження software freedom | Баланс між відкритістю бібліотеки й ширшим використанням |}
</syntaxhighlight>
Embedded device з Linux
Похідною роботою має змогу бути:
!; This program is free software: you can redistribute it and/or modify |- | Тип | Copyleft | Permissive |- | Похідний код | Має залишатися GPL-сумісним при поширенні | має змогу бути закритим |- | Commercial use | Дозволене | Дозволене |- | Proprietary use | Обмежене copyleft-умовами при поширенні | Дозволене |- | Головна ідея | Зберегти свободу коду | Максимально спростити повторне використання |}
GPL стала однією з найвпливовіших ліцензій в історії програмного забезпечення.;License compatibility
істотно: `GPL-3.0-only` і `GPL-3.0-or-later` — різні ліцензійні умови.; * вихідні файли;
- build scripts;
- makefiles;
- interface definitions;
- configuration files;
- scripts for compilation;
- installation scripts у відповідних випадках;
- patches;
- інструкції для збірки.;
This project is licensed under the GNU General Public License v3.0 or later.; Критерій
GPL відрізняється від permissive-ліцензій тим, що не надає можливість без зайвих зусиль перетворювати похідні роботи на закритий proprietary-продукт.; GPL добре підходить.; Тобто GPL не забороняє продавати програмне забезпечення.;- ISO-образ із багатьма незалежними програмами;
- Linux-дистрибутив із пакетами під різними ліцензіями;
- збірка інструментів, які не зв’язані в одну програму;
- репозиторій із незалежними компонентами.; істотно: Apache-2.0 код зазвичай не можна без ускладнень включити в GPL-2.0-only проєкт без окремої сумісності або дозволу.; GPL для бібліотеки доречна, якщо автор хоче, щоб програми, які тісно використовують бібліотеку, додатково були free software у відповідних умовах.;== Типові помилки початківців ==
- software patents;
- license compatibility;
- anti-tivoization;
- source code requirements;
- additional permissions;
- internationalization;
- termination і reinstatement;
- захист користувацьких свобод у сучаснішому software-середовищі.;== Джерела ==
- Linux kernel;
- старих GNU-проєктів;
- великої кількості open source-коду;
- класичного copyleft-підходу;
- software freedom;
- source distribution;
- license compatibility discussions.; Приклад у коді:
GPLv3
Комерційна організація використовує GPL-програму внутрішньо
Free software і open source
Критично: якщо пристрій поширює GPL-програмне забезпечення, виробник не має змогу без ускладнень сказати “це прошивка, а не софт”.;== Цікаві факти про GPL ==
- LGPL;
- MIT License;
- BSD License;
- Apache License 2.0;
- MPL у частині сценаріїв.; Практична порада: GPL добре підходить для застосунків і інструментів, де автор хоче, щоб покращення, які поширюються іншим, додатково залишалися відкритими.; MIT License
Copyright notices
Хороші практики GPL
See the COPYING file for details.; як ілюстрація:
; GPL
GPL і SaaSВиробник має враховувати:
<div style="background:#e7f3ff; border-left:6px solid #2b7cff; padding:12px; margin:12px 0;">
* які GPL-пакети всередині image;
* чи поширюється image іншим;
* чи є собою modified GPL components;
* чи доступний corresponding source;
* чи збережені notices;
* чи є собою SBOM;
* чи є собою license files;
* чи зрозуміло, які компоненти під якими ліцензіями.; Apache License 2.0
Багато обов’язків GPL активуються саме під час '''distribution''' або передачі копій іншим користувачам.; * SPDX має окремі ідентифікатори для GPL `only` і `or-later` варіантів.; Вона дуже впливова й досі застосовують, коли потрібно в багатьох важливих проєктах.;</div>
<syntaxhighlight lang="text">
'''істотно:''' приватне використання GPL-коду всередині себе зазвичай не створює тих самих обов’язків, що поширення копій іншим.; GPL-код можна:
== Приклади сценаріїв використання ==
Загальний характеристика/* SPDX-License-Identifier: GPL-3.0-or-later */ Потрібно перевіряти: /*
У сучасних проєктах часто додають коротший SPDX-рядок: |
|---|