Як виявити та задокументувати порушення GPL?


15

Як помітити, що хтось скопіював відкритий вихідний код з ліцензією GPL на комерційну програму із закритим вихідним кодом, коли у вас немає доступу до їх закритого вихідного коду?

Редагувати: Чудові відповіді! Частина 2. Що робити, якщо це веб-версія, у якої ви навіть не маєте доступу до виконавчих файлів?

Сценарій: вони копіюють джерело, вносять невеликі зміни у gui, тому передній кінець майже однаковий; додати нову функцію до зовсім ідентичного бек-енду; і не вдасться повернути його до відкритого коду.


1
Так, це більше, ніж просто "приємна ідея". Це підлягає застосуванню через юридичні наслідки (у багатьох юрисдикціях). Тобто найняти (або отримати) адвоката та аналітичну групу.
pst

Після редагування це цілком зрозуміло. Ймовірно, не було б перенесено у своєму нинішньому вигляді. Оскільки її не можна надіслати так легко, я зробив все можливе, щоб відповісти. Я також переглянув вашу назву.
Tim Post

Слідкуйте за цим хлопцем ;)
MarkJ

Відповіді:


6

Схоже, ви насправді намагаєтесь помітити це, а це означає, що вам потрібно зануритися у складений виконавчий файл (або пов’язані з ним бібліотеки) власної програми, щоб сказати. Ви шукаєте рядки та символи, які, очевидно, відповідають вільному програмному забезпеченню, про яке ви підозрюєте.

У такій операційній системі, як UNIX, stringsутиліта забезпечує чудовий підказки. Ретельний аналіз зазвичай виявить, що вам потрібно. Якщо бачите foolib_easy_init, добре .. складена програма використовує foolib.

Це, звичайно, залежить від рівнів оптимізації компілятора, обфускування, зробленого перед компіляцією, і, можливо, невживаних / відлагоджених символів позбавляють, але люди, які лінуються писати власне програмне забезпечення, як правило, однаково ледачі, коли справа доходить до цього.


1
Я бачу, що, якщо програма є веб-програмою, де ви навіть не маєте доступу до бінарних файлів? Вони копіюють весь ліцензований вихідний код GPL, змінюють пару елементів графічного інтерфейсу та випускають власну веб-сторінку із закритим кодом із майже однаковим переднім кінцем та абсолютно однаковим резервним кодом. Потім вони додають нову функцію в додаток, не випускаючи його як відкритий код. Чи можливо виявити подібне порушення GPL?
siamii

3
@ bizso09: Це не порушення GPL, якщо ми говоримо про зворотній бік. Дивіться мою відповідь для більш детальної інформації.
Девід Торнлі

2
@ bizso09 - Це було б порушенням GPL лише в тому випадку, якщо додаток буде передано вам у затуманеному / складеному форматі без вихідного коду. Просто поставити його "на службу" та дозволити людям користуватися ним не було б порушенням. Це, однак, порушить Affero GPL, який спеціально охоплює програмне забезпечення, яке взаємодіє з мережею. Тим не менш, ви можете виявити це через інструменти firebug / dev, ознайомившись з усіма елементами (або навіть шукаючи відомі помилки, які існують у коді, на який ви підозрюєте, що він був неправильно використаний).
Тім Пост

4

У BusyBox було декілька гучних випадків подання позовів до виробників обладнання для використання BusyBox без випуску джерел. Ці позови були подані юристами у Правовому центрі свободи програмного забезпечення .

Якщо ваш проект достатньо зрілий, щоб приєднатися до програми Software Freedom Conservancy, ви можете також залучати послуги SFLC. (Не впевнений, чи могли б проекти, які не охороняються, користуватися послугами SFLC --- слід перевірити.)


Дуже приємне посилання. Навіть не знав, як існували такі речі.
pst

1
Чи роблять вони дослідження для вас чи просто надають адвокатів? Тому що я думаю, що ОП шукала колишнього
TheLQ

1
-1 Хоча цікаво, це не відповідає на поставлене запитання.
HedgeMage

1
@HedgeMage - питання було трохи більш неоднозначним перед редагуванням.
detly

3

GPL має лише обмежене застосування до веб-сайтів на стороні сервера. Поширюється все, що є на стороні клієнта, але це звичайно Javascript, і користувач автоматично отримує джерело. Все, що суворо стоїть на сервері, запускається, а не поширюється, і GPL в першу чергу стосується дистрибуції.

Це було мотивацією для Affero GPL, який (IIRC) говорить по суті, що якщо ви використовуєте програмне забезпечення AGPLed у чомусь на зразок веб-програми, вам потрібно запропонувати поширити джерело.


1
Правильно. AGPL спеціально охоплює "програмне забезпечення, яке взаємодіє з мережею". Він застосовуватиметься так само до ... IMAP-сервера ..., як і до веб-додатку.
Tim Post

2

Якщо вона поводиться як і працює, як ваша програма, ви можете почати з objdumpподібних інструментів. Цей старий запис Slashdot показує інший, більш формальний метод виявлення порушення GPL.


1

Харальд Велте мав успіх у підході до моркви та палиці для отримання компаній, які неправильно використали його ліцензований GPL код, щоб відповідати умовам ліцензії. Багатьом компаніям просто потрібно було проінформувати про наслідки своїх рішень і вирішити свої проблеми поза судом.


-1 Насправді не вирішено поставлене запитання, а саме - як виявити подібні зловживання, а не що робити після того, як їх виявлять.
HedgeMage

5
@HedgeMage - питання було відредаговано нещодавно, воно насправді було досить заплутаним, що воно було перенесено сюди, коли насправді воно, ймовірно , належить до SO.
Tim Post

2
@Tim: Чи можемо ми зараз піти і помститись @HedgeMage зараз? Pleeeez? :-P (Для сторонніх ховальників: Ні, це не є серйозною пропозицією. І Тим, і я є модераторами на інших сайтах ДП і ніколи не будемо займатися чим-небудь подібним. Безумовно!)
Кріс Jester-Young

1

Якщо ви виявите порушення GPL (хтось використовував код під вашими авторськими правами і не пропонував джерело під час розповсюдження бінарних файлів), зв’яжіться з порушником і попросіть вирішити ситуацію. Задокументуйте листи, дані про те, коли ви зв’язалися з ким і т.д.

Якщо це не ваше авторське право, але ви помітили порушення, зв’яжіться з оригінальним власником авторських прав поруч із порушником і повідомте їй / йому про порушення. Бажано, перш ніж звернутися до порушника.

Якщо програмне забезпечення є комбінованою роботою з багатьма власниками авторських прав, те саме стосується вас, якщо ви лише один з власників авторських прав або лише група власників авторських прав (і не всі). Тоді це ваше авторське право, і GPL застосовується до будь-яких видів похідних - великих чи малих.

Якщо ви через технічні обмеження не можете отримати знання, якщо ймовірне порушення справді є порушенням, вам потрібно шукати інші способи дізнатися більше. Наприклад, задаючи питання ймовірному порушнику, отримуючи доступ до бінарних чи навіть джерел через сторонні організації тощо.

Якщо код, про який йдеться, знаходиться в GPL v2 і є порушенням ліцензійних умов, застосовується припинення. Порушник назавжди втратив усі права на використання коду GPL'ed. Він повинен знову зв’язатися з усіма власниками авторських прав і попросити відновити права, інакше все-таки використання коду порушує авторські права.

Якщо код, про який йдеться, знаходиться під GPL v3 і є порушенням ліцензійних умов, діє також припинення, але порушник може відновити це, припинивши порушення самостійно - якщо тільки власник авторських прав не вимагає більше.

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

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.