Eсть веб-сервис, у которого есть совсем недокументированный недоapi, но оно легко реверсинженируется. К этому api веб-сервис распространяет от своего имени код для сайтов, написанный на php и в нем нет никаких указаний по какой лицензии он распространяется. Есть плагин к cms, написанный сторонним разработчиком и использующий этот php-код от веб-сервиса. Плагин распространяется под GPL v2 и старше.
Может ли другой веб-сервис написать свой плагин на основе плагина стороннего разработчика и распространять его по GPL, при этом не раскрывая исходников самого сервиса? Проблема в том, что плагин не имеет никакого смысла и не может работать в отсутствие веб-сервиса и, таким образом, возможно, с юридической точки зрения является часть программы веб-сервиса.
Тут ничего не зависит от того, как что позиционируется.
Если ваш программы, составляющие ваш вебсайт, вами не распространяются, вы не обязаны предоставлять их исходники кому-либо, даже если их код заражен GPL.
Тут важно мнение FSF и общая практика трактовки GPL, а наше мнение не столь важно.
Пример Google-вского API немного отличается от нашей ситуации:
1)У нас разработчик api и плагина одно лицо
2)Нам нужно распространять плагин прям с нашего сайта
3)Предполагается что в основном будут использовать плагин, а наш код, который был до этого, будут использовать разработчики который хотят писать свои плагины или которым требуется максимальная гибкость в нестандартных ситуациях
В GPL точно нет ничего о том, что продукты как-то объединяются по разработчику (1) или по сайту на котором они распространяются (2).
3) Да, все зависит от того как это позиционировать. Тут ваша задача описать это так, что ваш сервис предоставляет API, а плагин к CMS, который, вы предлагаете по открытой лицензии не входит в функционал сервиса. Наоборот: плагин использует ваш сервис и его API.
Если я правильно понял ситуацию, то исходники сервиса открывать не нужно, т.к. сервис предоставляет услугу плагину. Т.е. сервис не использует заражённый GPL код.
Конечно тут подразумевается, что сервис может работать без этого плагина, в обратном случае ситуация становится менее явной.
Нет, не может. GPL чётко прописывает, что код под этой лицензией не может быть использован в программах с закрытым кодом. То есть, если на вашем сайте есть строчка кода, которая явно защищена GPL — вы обязаны открыть полностью код всего, что эту строчку использует. Под GPL. А следом и всего, что использует то, что использует эту строчку. По той же причине.
LGPL лишена такого ограничения.
Именно поэтому вы никогда не увидите GPL библиотек в проприетарных продуктах.
Хм. «То есть, если на вашем сайте есть строчка кода, которая явно защищена GPL — вы обязаны открыть полностью код всего, что эту строчку использует.»
Согласен. Но только в том случае, если вы передаете код сайта. Если вы его просто запускаете — никому и ничего вы не должны. GPL покрывает распространение а не использование.Внимание! Предыдущее утверждение верно только в случае GPLv2. В GPLv3 введена защита от такого использования и в ней, насколько я понял, и в случае такого использования надо будет тоже выдавать исходники.
У нас есть сервер который мы ни кому не распространяем и есть плагин который мы хотим распространять. Будут ли они являтся одним продуктом с точки зрения GPL? А если таких плагинов несколько разных? А если API для написания таких плагинов открыто и документировано?
Просто мне кажется что мы можем считать сервер и плагин двумя разными продуктами, и тогда GPL вирус плагина не передается серверу. Но можем ли мы так считать и при каких условиях?
Короче: CMS не использует и независима от кода плагина — она просто предоставляет интерфейс, поэтому её открывать необязательно даже если распространяете плагин (вроде ваш случай). Если GPL используется в коде CMS — нужно открывать, если эта модификация распространяется далее.