Как определить и документировать нарушение GPL?

15

Как определить, что кто-то скопировал открытый исходный код, лицензированный по GPL, в свое коммерческое приложение с закрытым исходным кодом, когда у вас нет доступа к его закрытому исходному коду?

Изменить: отличные ответы! Часть 2. Что если это веб-приложение, в котором у вас даже нет доступа к исполняемым файлам?

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

siamii
источник
1
Да, это больше, чем просто «хорошая идея». Это может быть осуществлено через юридические последствия (во многих юрисдикциях). То есть, нанять (или получить) юриста и аналитическую команду.
ПСТ
После редактирования это вполне понятно. Вероятно, не было бы перенесено в его нынешнем виде. Так как это не может быть отправлено так легко, я приложил все усилия, чтобы ответить. Я также пересмотрел ваш заголовок.
Тим Пост
Следите за этим парнем ;)
MarkJ

Ответы:

6

Похоже, вы действительно пытаетесь определить это, а это значит, что вам нужно копаться в скомпилированном исполняемом файле (или связанных библиотеках) проприетарной программы, чтобы узнать. Вы ищете строки и символы, которые явно соответствуют свободному программному обеспечению, которое вы подозреваете.

В UNIX-подобных операционных системах эта stringsутилита предоставляет отличную подсказку. Тщательный анализ обычно показывает, что вам нужно. Если вы видите foolib_easy_init, хорошо ... скомпилированная программа использует foolib.

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

Тим Пост
источник
1
Я вижу, что если программа является веб-приложением, где у вас даже нет доступа к двоичным файлам? Они копируют весь лицензированный исходный код GPL, меняют пару элементов графического интерфейса и выпускают свое собственное веб-приложение с закрытым исходным кодом, с почти идентичным интерфейсом и полностью идентичным интерфейсом. Затем они добавляют новую функцию в приложение, не выпуская его как открытый исходный код. Возможно ли обнаружить такое нарушение GPL?
Сиамия
3
@ bizso09: Это не нарушение GPL, если мы говорим о серверной части. Смотрите мой ответ для более подробной информации.
Дэвид Торнли
2
@ bizso09 - нарушение GPL будет только в том случае, если приложение будет передано вам в запутанном / скомпилированном формате без исходного кода. Простое включение его в эксплуатацию и предоставление людям возможности использовать его не будет нарушением. Это, однако, нарушило бы Affero GPL, которое конкретно касается программного обеспечения, взаимодействующего с сетью. Тем не менее, вы можете обнаружить его с помощью инструментов firebug / dev, проверив все элементы (или даже найдя известные ошибки, которые существуют в коде, который, как вы подозреваете, использовался неправильно).
Тим Пост
4

У BusyBox было несколько громких судебных дел против производителей оборудования за использование BusyBox без публикации источников. Эти иски были поданы юристами из Software Freedom Law Center .

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

Крис Шут-Янг
источник
Очень хорошая ссылка. Даже не знал, что такие вещи существуют.
ПСТ
1
Они проводят исследование для вас или просто предоставляют адвокатов? Потому что я думаю, что OP искал бывшего
TheLQ
1
-1 Хотя интересно, это не отвечает на заданный вопрос.
HedgeMage
1
@HedgeMage - вопрос был немного более двусмысленным перед редактированием.
детально
3

GPL имеет только ограниченное применение для серверных веб-приложений. Распространяется все, что на стороне клиента, но обычно это Javascript, и пользователь автоматически получает источник. Все, что строго на стороне сервера, запускается, а не распространяется, и GPL в первую очередь относится к распространению.

Это было мотивом для Affero GPL, который (IIRC) говорит, что, если вы используете программное обеспечение AGPLed в чем-то вроде веб-приложения, необходимо предложить распространить исходный код.

Дэвид Торнли
источник
1
Верный. AGPL специально охватывает «программное обеспечение, которое взаимодействует с сетью». Это применимо как к серверу IMAP, так и к веб-приложению.
Тим Пост
2

Если он ведет себя как и работает как ваша программа, вы можете начать с objdumpаналогичных инструментов. Эта старая запись Slashdot показывает другой, более формальный метод для обнаружения нарушения GPL.

vpit3833
источник
1

Харальд Вельте добился успеха, применяя подходы кнута и пряника к тому, чтобы заставить компании, которые использовали его лицензированный по GPL код, ненадлежащим образом соответствовать условиям лицензии. Многие компании просто должны быть осведомлены о последствиях своих решений и решать свои проблемы вне суда.

sarnold
источник
-1 На самом деле не отвечает на заданный вопрос, который заключается в том, как определить такие нарушения, а не в том, что делать после того, как один из них найден.
HedgeMage
5
@HedgeMage - вопрос был отредактирован недавно, на самом деле он был достаточно запутанным, что он был перенесен сюда, хотя на самом деле он, вероятно , относится к SO.
Тим Пост
2
@Tim: Теперь мы можем пойти и отомстить @HedgeMage? Pleeeez? :-P (для сторонних скрытных людей: Нет, это не серьезное предложение. Мы с Тимом являемся модераторами на других сайтах SE и никогда бы не стали заниматься чем-то подобным. Конечно!)
Крис Шестер-Янг
1

Если вы обнаружите нарушение GPL (кто-то использовал код под вашим авторским правом и не указал источник при распространении двоичных файлов), свяжитесь с нарушителем и попросите разрешить ситуацию. Документируйте письма, данные о том, когда вы связались с кем и т. Д.

Если это не ваше авторское право, но вы обнаружили нарушение, свяжитесь с оригинальным правообладателем рядом с нарушителем и сообщите ей / ему также о нарушении. Желательно, прежде чем связаться с нарушителем.

Если программное обеспечение представляет собой совместную работу со многими правообладателями, то же самое относится и к вам, если вы являетесь только одним из правообладателей или только группой правообладателей (и не всеми). Тогда это ваше авторское право, и GPL распространяется на любые производные - большие или маленькие.

Если вы из-за технических ограничений не можете получить знания, если вероятное нарушение действительно является нарушением, вам нужно искать другие способы узнать больше. Например, задавая вопрос вероятному нарушителю, получая доступ к бинарным или даже источникам через третьих лиц и т. Д.

Если рассматриваемый код относится к GPL v2 и имеет место нарушение условий лицензирования, применяется прекращение. Нарушитель навсегда утратил все права на использование кода GPL. Он должен снова связаться со всеми правообладателями и попросить восстановить права, в противном случае использование кода нарушает авторские права.

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

Изменить: это просто общая информация. Если вы хотите разобраться в конкретной юридической стороне этого вопроса, вы должны быть владельцем авторских прав, и вам следует связаться с вашей юридической командой заранее, чтобы выяснить, что вам нужно для доказательства и что предлагается для устранения нарушения, даже без соблюдения закона, как это гораздо более практично.

hakre
источник