Лікбез по GPLv3 або Ніколи не довіряйте незнайомцям, особливо, якщо вони крадії
Нещодавно мав дуже неприємну розмову з одним крадієм, якій у своїй зухвалості дійшов до того, що відкрито вказує на своєму сайті про те, що викладає чужі модулі, бо наче має право згідно ліцензії GPL самого OpenCart.
З урахуванням того, що OpenCart дійсно розповсюджується під вільною ліцензією GPLv3, можна навіть нав'язати ідею, що це автори з форуму порушують ліцензію, накладаючи обмеження на використання своїх творів. Але давайте почитаємо щось трохи більше, ніж “GPL — це вільна ліцензія, яка дає право на розповсюдження коду”, адже там 11 сторінок тексту https://www.duralex.org/licenses/gplru.pdf (російською мовою). Також є ціла купа тексту тлумачень. І в додаток існують певні норми законів (на хвилиночку!).
На що діє ліцензія насправді
Ліцензія діє на оригінальні програми, модифіковані версії та похідні роботи. В основному все розглядається в контексті похідного коду, але не дизайну (!).
А що там про розширення?
В тексті самої ліцензії — в принципі майже нічого не сказано. Слово "extension" зустрічається в тексті ліцензії лише раз в частині 5: Збірка охопленого твору разом з іншими окремими та незалежними творами, які за своєю природою не є його розширеннями і не поєднані з ним таким чином, щоб утворювати більшу програму, у томі носія зберігання або розповсюдження називається "агрегатом", якщо сама збірка та її авторське право не використовуються для обмеження доступу або правових можливостей користувачів збірки понад те, що дозволяють окремі твори.
Ну і ще цікавий момент: Включення охопленого (ліцензією - п.а.) твору до агрегату не спричиняє поширення цієї Ліцензії на інші частини агрегату.
Але модулі з форуму НЕ постачаються разом з Опенкартом, і відповідно, вони не утворюють єдиного продукту на одному носії, якщо говорити про "доставку" до клієнта.
В тлумачені сказано: якщо основна програма динамічно підключає плагіни, і вони взаємно викликають функції та обмінюються структурами даних, ми вважаємо, що вони утворюють одну єдину комбіновану програму, яку слід трактувати як розширення основної програми, так і плагінів. Якщо основна програма динамічно підключає плагіни, але комунікація між ними обмежена викликом функції 'main' плагіна з деякими опціями та очікуванням її повернення, це є прикордонним випадком - https://www.gnu.org/licenses/gpl-faq.ru.html#GPLPlugins
В цьому контексті цікава справа MySQL vs. Progress Software. Суд вирішив, що динамічне зв'язування само по собі не робить програму похідною роботою, якщо вона не містить копій коду з бібліотеки MySQL.
Коротше кажучи, навіть в розумінні GPL, якщо створити окрему бібліотеку модуля та помістити там низькорівневу рутину (без використання методів OpenCart), то така бібліотека "не заражається" ліцензією GPLv3 і може мати окрему ліцензію та не підлягає вільному розповсюдженю. Але мова не лише про бібліотеку.
На що GPL однозначно НЕ діє У поясненнях до ліцензії GPLv3 чітко вказано, що вона НЕ розповсюджується на:
В багатьох випадках куплені модулі містять комбінацію різного роду файлів, і деякі з цих файлів 100% не підпадають під вільне розповсюдження. Тому не потрібно розповідати казочки про те, що вільна ліцензія виправдовує крадіжку.
Чи дозволяється використання комбінованих ліцензій?
Так, основним нововведенням GPLv3 (у порівнянні з GPLv2), є можливість поєднання різних ліцензій. Тобто різні частини тієї самої програми можна ліцензувати на різних умовах, в тому числі можна використовувати комбінацію GPLv3 та пропрієтарної ліцензії на окремі частини модуля.
В ліцензії є чіткі умови розповсюдження вільного коду
Ліцензія не лише надає права, але й вимагає виконувати деякі зобов'язання. Тож навіть до тих творів, до яких дійсно застосовується принцип вільного розповсюдження, накладаються певні вимоги.
В контексті збереження вказання авторства
В пункті 4 ліцензії зазначено, що в разі розповсюдження, необхідно передавати “точну копію”.
Пункт 5 ліцензії каже, що в разі модифікації:
В контексті продажу власного коду
Також потрібно повідомляти, що саме з якою ліцензією розповсюджується.
Яку юридичну силу має ліцензія GPLv3? Адепти GPL стверджують, що пропрієтарні ліцензії “перетягують ковдру” до правовласників, порушуючи права користувачів. А звідки ми знаємо, що вільна ліцензія не робить те саме в іншу сторону?
Чому ми маємо сліпо довіряти тексту ліцензії, яку написала одна сторона, якщо ми знаємо, що ця сторона напряму зацікавлена в пропаганді певної ідеї?
Варто задуматися, а що взагалі означає слово “ліцензія”. По суті це договір ліцензування між двома сторонами (правовласник та користувач). Як ми розуміємо, будь якій договір має відповідати місцевому законодавству.
На профільному сайті, якій пояснює ідеї “копілефту”, розміщена ціла стаття про похідні твори (https://copyleft.org/guide/comprehensive-gpl-guidech5.html), в якій визнається, що положення ліцензії GPL можуть вступати в конфлікт з національними законами. Там прямо написано: “Саме похідний характер твору щодо вільного програмного забезпечення вимагає дотримання умов відповідної ліцензії. Тому виникає питання: що саме є "похідним твором"?” Також там визнається, що суди США більше схиляються до визначення “похідного твору” в законі про авторське право і мають власні методи оцінки похідності.
І в законі США, і в українському законі про авторське право програми розглядаються як "набір інструкцій", а не як місце в пам'яті. Так само в обох юрисдикціях є чітке визначення похідного твору, якій має бути "заснований на одному або кількох попередніх творах" (в законі США) та "твір, що є творчою переробкою іншого існуючого твору" (в законі України).
Подібним чином похідні твори визначає й eстонське законодавство (форум зареєстрвоаний саме в цій юрисдикції).
Тобто, похідний твір з точки зору законодавства не може взятися з нізвідки, він має бути зміненою версією чогось, що вже існувало. І якщо такого модуля не було в опенкарті, то він вже не може вважатися похідним твором. А закон має більшу юридичну силу, ніж ліцензія GPL.
Тому визначення похідних творів в розумінні GPL не відповідають дійсному законодавству (!)
Також викликає сумніви тон тлумачень ліцензії GPL. Вони всюди, де прямо не застосовується GPL, рекомендують просто надавати інші дозвільні ліцензії, уникаючи фраз, що насправді, якщо може застосовуватися інша ліцензія, то вона може бути і пропрієтарною. А це вже викривлення фактів на користь конкретної ідеї.
Як визначають похідність творів суди США на практиці?
У вже згаданій статті на сайті copyleft.org надається опис того, як суди в США визначають, чи є програма похідною чи ні.
Першочергово відсіюється все, що не може бути захищеним. Адже авторське право не поширюється на ідеї, процедури, процеси, системи, методи роботи, концепції або принципи, що містяться в оригінальній програмі. Саме реалізація цього правила, що вимагає "відфільтрувати" непідлягаючі захисту елементи, є найчастішою причиною розбіжностей у судовій практиці.
Суд аналізує, чи скопійовані захищені елементи і наскільки вони суттєві у загальній структурі програми. Якщо захищені елементи, що містяться у другій програмі, є значущими, вона визнається похідною від першої. Якщо ж скопійовані елементи є незначними, друга програма не вважається похідною.
На основі цієї статті в мене взагалі виникло враження, що похідність програми стає правовим питанням, коли в одну програму скопійовано код з іншої майже рівноцінної програми, і вони є конкурентними... Або інша площина — це коли виробники технічних пристроїв беруть за основу код під GPL, і при цьому забороняються користувачам вносити зміни, тобто привласнили чужий готовий код і модифікували його так, щоб заборонити його редагування, ну або не надали похідний код (справи BusyBox, Tivo, Samsung).
Немає захисту для «методів роботи»
Найбільш цікавий пункт тієї статті на сайті copileft.org — “Немає захисту для «методів роботи»”. Тобто "дослівне копіювання ієрархії команд меню або будь-який інший «метод роботи» не може бути основою для визначення того, що одна робота є похідною від іншої".
Найцікавішим прикладом застосування цього принципу є справа Oracle проти Google. Верховний Суд США ухвалив рішення на користь Google, визнавши використання Java API "добропорядним використанням" (fair use), хоча ухилився від остаточного визначення, чи є декларативний код незахищеним як "метод роботи", залишивши це питання відкритим.
Також варта уваги справа VMware проти Крістофа Хеллвіга (2015–2019, Німеччина). Там була ситуація, що в одному продукті одночасно містився і закритий власний код, і відкриті частини коду Linux. Суд не дійшов до висновку що продукт VMware був похідною роботою.
Тобто з модулями ми маємо таку штуку:
Таким чином, ми можемо стверджувати, що модуль, якій не має модифікатору — може не вважатися похідним твором від опенкарту.
Хоча, очевидно, що в разі, коли модуль вмішується в логіку стандартних функцій опенкарту, то він змінює поведінку програми та використовує спільний простір пам'яті. З точки зору GPL — це важливо, а ось з точки зору законодавства — ні.
Суперечливий статус модулів
В тексті ліцензії слово plugin в принципі не зустрічається, хоча саме про плагіни надається тлумачення. Проте варто пам'ятати, що тлумачення саме по собі наче й немає юридичної сили.
P.S. Важливо чітко розуміти, що навіть якщо OpenCart (продукт А) поширюється за ліцензією GPL, то це ще не означає, що модулі (Продукт Б) також повністю підпадають під цю ліцензію і не містять захищених авторським правом частин. Тож якщо ви крадете, це ваш вибір. Але GPL тут взагалі ні до чого!
|
-
1
4 коментаря
Recommended Comments
Створіть аккаунт або увійдіть для коментування
Ви повинні бути користувачем, щоб залишити коментар
Створити обліковий запис
Зареєструйтеся для отримання облікового запису. Це просто!
Зареєструвати аккаунтВхід
Уже зареєстровані? Увійдіть тут.
Вхід зараз