PearlPBX2
← Всі дописи

PearlPBX2 2.7.3: перехід з PolyForm Shield на AGPL-3.0

Версія 2.7.3 змінює ліцензію PearlPBX2 з PolyForm Shield License 1.0.0 на GNU Affero General Public License v3.0-or-later (AGPL-3.0-or-later). Це стосується LICENSE, NOTICE, README.md, CONTRIBUTING.md і заголовків SPDX-License-Identifier у core/conf.py, core/models.py, manage.py та pbx/settings.py.

Що змінилося

PolyForm Shield 1.0.0 дозволяла використовувати, змінювати й розгортати PearlPBX2 для будь-якої мети — включно з веденням власного комерційного телефонного бізнесу, — але з одним винятком: не можна було продавати продукт чи сервіс, що конкурує з PearlPBX2, без окремої письмової угоди з правовласником. Формально це «source-available», а не OSI-відкрита ліцензія.

AGPL-3.0-or-later — визнана OSI і FSF ліцензія вільного й відкритого програмного забезпечення. Заборони на конкурентне використання в ній немає: PearlPBX2 можна форкнути, доопрацювати й запропонувати як власний продукт чи сервіс, що прямо конкурує з оригіналом, і жодна окрема угода для цього більше не потрібна.

Головна відмінність AGPL: мережевий copyleft

Замість заборони на конкуренцію AGPL додає інший обов’язок — той самий, що відрізняє її від звичайної GPL: мережеве використання, розділ 13 ліцензії. Якщо ви модифікуєте PearlPBX2 і надаєте доступ до зміненої версії через мережу — наприклад, пропонуєте її як хмарний сервіс власним клієнтам, — ви зобов’язані надати цим користувачам повний відповідний вихідний код саме тієї версії, яку вони використовують. Це діє навіть тоді, коли ви ніколи не передавали жодного бінарного файлу напряму: сам факт мережевого доступу прирівнюється до розповсюдження.

Стандартний copyleft AGPL також зберігається: розповсюджуючи копії — змінені чи ні — потрібно зберігати повідомлення про авторські права й текст ліцензії та надавати вихідний код. Похідні роботи можуть розповсюджуватися лише за тією ж AGPL-3.0-or-later — перевипустити форк під закритою чи більш обмежувальною ліцензією не можна.

Ось як це формулює README проєкту:

You may use, modify, and distribute PearlPBX2 for any purpose. If you run a modified version to provide a service over a network, you must make the complete corresponding source code available to users of that service, under the same license.

Що це означає для тих, хто просто розгортає PearlPBX2

Якщо ви ставите PearlPBX2 на власний сервер для власного кол-центру й нікому ззовні доступу до нього не даєте, зміна ліцензії практично нічого не змінює на практиці: ви й раніше могли використовувати продукт для власного комерційного телефонного бізнесу без окремої угоди, і можете далі. Різниця — юридична основа тепер справжня відкрита ліцензія, а не виняток у source-available умовах.

Що це означає, якщо ви пропонуєте PearlPBX2 як сервіс

Якщо ви берете PearlPBX2, модифікуєте й надаєте доступ до нього через мережу іншим людям чи компаніям — власним клієнтам, наприклад, — тепер на вас поширюється обов’язок розділу 13: надати цим користувачам вихідний код зміненої версії за AGPL-3.0. Раніше в цьому сценарії діяла протилежна логіка: така діяльність могла підпадати під заборону конкурентного використання PolyForm Shield і вимагати окремої угоди. Тепер юридичної заборони немає, є вимога розкриття коду користувачам сервісу.

CLA для контрибуцій у сам проєкт

Окремо від ліцензії, версія 2.7.3 додає вимогу підписання Contributor License Agreement для зовнішніх контрибуцій у сам проєкт PearlPBX2 — не у форки. GitHub Action на основі contributor-assistant/github-action публікує запит на підпис при першому pull request контриб’ютора; умови описані в CLA.md. Це не змінює прав, які AGPL-3.0 надає будь-кому, хто використовує чи форкає код, — CLA стосується лише тих, хто хоче, щоб їхній код прийняли у головний репозиторій.

Де подивитися повний текст

Повний текст ліцензії — у LICENSE і NOTICE в репозиторії продукту, а також на gnu.org/licenses/agpl-3.0.html. Пояснення простими словами й посилання на оригінал є на сторінці «Ліцензія» цього сайту.