Как определить, что кто-то скопировал открытый исходный код, лицензированный по GPL, в свое коммерческое приложение с закрытым исходным кодом, когда у вас нет доступа к его закрытому исходному коду?
Изменить: отличные ответы! Часть 2. Что если это веб-приложение, в котором у вас даже нет доступа к исполняемым файлам?
Сценарий: они копируют исходный код, вносят незначительные изменения в графический интерфейс, так что интерфейс почти идентичен; добавить новую функцию в полностью идентичный сервер; и не удается выпустить его обратно с открытым исходным кодом.
open-source
gpl
law
closed-source
siamii
источник
источник
Ответы:
Похоже, вы действительно пытаетесь определить это, а это значит, что вам нужно копаться в скомпилированном исполняемом файле (или связанных библиотеках) проприетарной программы, чтобы узнать. Вы ищете строки и символы, которые явно соответствуют свободному программному обеспечению, которое вы подозреваете.
В UNIX-подобных операционных системах эта
strings
утилита предоставляет отличную подсказку. Тщательный анализ обычно показывает, что вам нужно. Если вы видитеfoolib_easy_init
, хорошо ... скомпилированная программа использует foolib.Это, конечно, зависит от уровней оптимизации компилятора, обфускации, выполняемой перед компиляцией, и, возможно, удаления неиспользуемых / отладочных символов, но люди, которым лень писать свое программное обеспечение, обычно одинаково ленивы, когда дело доходит до сокрытия этого.
источник
У BusyBox было несколько громких судебных дел против производителей оборудования за использование BusyBox без публикации источников. Эти иски были поданы юристами из Software Freedom Law Center .
Если ваш проект является достаточно зрелым, чтобы присоединиться к Software Freedom Conservancy, вы также можете воспользоваться услугами SFLC. (Не уверен, что проекты, не связанные с охраной природы, могут использовать услуги SFLC - вам следует проверить.)
источник
GPL имеет только ограниченное применение для серверных веб-приложений. Распространяется все, что на стороне клиента, но обычно это Javascript, и пользователь автоматически получает источник. Все, что строго на стороне сервера, запускается, а не распространяется, и GPL в первую очередь относится к распространению.
Это было мотивом для Affero GPL, который (IIRC) говорит, что, если вы используете программное обеспечение AGPLed в чем-то вроде веб-приложения, необходимо предложить распространить исходный код.
источник
Если он ведет себя как и работает как ваша программа, вы можете начать с
objdump
аналогичных инструментов. Эта старая запись Slashdot показывает другой, более формальный метод для обнаружения нарушения GPL.источник
Харальд Вельте добился успеха, применяя подходы кнута и пряника к тому, чтобы заставить компании, которые использовали его лицензированный по GPL код, ненадлежащим образом соответствовать условиям лицензии. Многие компании просто должны быть осведомлены о последствиях своих решений и решать свои проблемы вне суда.
источник
Если вы обнаружите нарушение GPL (кто-то использовал код под вашим авторским правом и не указал источник при распространении двоичных файлов), свяжитесь с нарушителем и попросите разрешить ситуацию. Документируйте письма, данные о том, когда вы связались с кем и т. Д.
Если это не ваше авторское право, но вы обнаружили нарушение, свяжитесь с оригинальным правообладателем рядом с нарушителем и сообщите ей / ему также о нарушении. Желательно, прежде чем связаться с нарушителем.
Если программное обеспечение представляет собой совместную работу со многими правообладателями, то же самое относится и к вам, если вы являетесь только одним из правообладателей или только группой правообладателей (и не всеми). Тогда это ваше авторское право, и GPL распространяется на любые производные - большие или маленькие.
Если вы из-за технических ограничений не можете получить знания, если вероятное нарушение действительно является нарушением, вам нужно искать другие способы узнать больше. Например, задавая вопрос вероятному нарушителю, получая доступ к бинарным или даже источникам через третьих лиц и т. Д.
Если рассматриваемый код относится к GPL v2 и имеет место нарушение условий лицензирования, применяется прекращение. Нарушитель навсегда утратил все права на использование кода GPL. Он должен снова связаться со всеми правообладателями и попросить восстановить права, в противном случае использование кода нарушает авторские права.
Если рассматриваемый код находится под лицензией GPL v3 и имеет место нарушение условий лицензирования, прекращение также действует, но нарушитель может исправить это, самостоятельно прекратив нарушение - если владелец авторских прав не попросит больше.
Изменить: это просто общая информация. Если вы хотите разобраться в конкретной юридической стороне этого вопроса, вы должны быть владельцем авторских прав, и вам следует связаться с вашей юридической командой заранее, чтобы выяснить, что вам нужно для доказательства и что предлагается для устранения нарушения, даже без соблюдения закона, как это гораздо более практично.
источник