Переписанный вопрос:
Я не задаю вопрос, связанный с JavaScript, но все "клиентские" языки, используемые в Интернете (HTML5, JavaScript, CSS и т. Д.). Если я размещу код JavaScript (то есть под GPL) на своем веб-сайте, и этот веб-сайт доступен для любого человека через Интернет, нарушаю ли я каким-либо образом GPL?
Что произойдет, если я захочу продать клиентский код (HTML, CSS, JavaScript) кому-то? Нужна ли мне другая лицензия в этом случае?
Разве JavaScript (при использовании для веб-сайтов) не всегда с открытым исходным кодом? Когда вы открываете веб-страницу, вы всегда можете прочитать источник.
Нужно ли также выпускать свой код на стороне сервера, если я продаю веб-сайт, содержащий код JavaScript под GPL?
Что произойдет, если этот веб-сайт будет частично доступен (часть бесплатна, а другая требует от вас оплаты), но код GPL (та же часть) используется с обеих сторон веб-сайта?
Что если код GPLed находится только в той части сайта, которая требует от вас оплаты за доступ к нему?
Если я продаю сайт клиенту таким образом:
- Я продаю вам (единовременно) весь клиентский код (JavaScript, HTML и CSS)
- Я не продаю вам код на стороне сервера, вы арендуете его (я не хочу позволять вам повторно использовать мой код на стороне сервера)
Если я использую код JavaScript под GPL, я что-то нарушаю? (Сайт доступен для всех через Интернет.)
Изменить 2:
Добавлен новый конкретный вопрос:
Что если веб-сайт может работать без серверного кода, я имею в виду, что JavaScript просто вызывает некоторые страницы PHP, содержащие данные в формате JSON. Другие люди могут создать веб-сайт со стороны клиента, но они должны будут предоставить данные. Я думаю, что в этом случае JavaScript вызывает код «PHP» (но не наоборот). В этом случае я нарушаю GPL?
источник
Ответы:
Когда дело доходит до GPL, единицей выпуска является единица лицензирования.
Если ваш веб-сайт и его javascript - это единая вещь, которая работает вместе, тогда у целого есть действующая лицензия. Если какая-либо часть является лицензией GPL, то действующей лицензией для всей лицензии является GPL. (Это не относится к LGPL, MIT и т. Д.)
Если вы размещаете веб-сайт и ваши клиенты покупают доступ к услуге, то вы не распространяли и не передавали код на стороне сервера, поэтому GPL не имеет значения. (AGPL меняет это и утверждает, что программное обеспечение как услуга должно иметь свой исходный код.)
Javascript, который является частью вашего приложения, автоматически не лицензируется каким-либо образом. Строго говоря, загрузка javascript для запуска в браузере является нарушением авторских прав. Конечно, это глупо. Вероятно, есть подразумеваемая лицензия для запуска кода, но это все.
Если вы используете библиотеку Javascript, то вы должны подчиняться лицензии этой библиотеки. Если эта лицензия GPL, я понимаю, что это означает, что все ваше приложение GPL. Вероятно, поэтому jQuery имеет двойную лицензию - на ваш выбор, MIT или GPL. Без возможности использовать лицензию MIT, она может использоваться только приложениями GPL.
источник
Первое. Вы имеете полное право использовать открытый исходный код в коммерческих проектах, если вы придерживаетесь лицензионных ограничений (то есть, прежде всего, вы оставляете все атрибуты на месте и вносите любые изменения в рамках аналогичной лицензии).
Я понимаю, что GPL является одной из наиболее ограничивающих лицензий, когда речь идет о попытках навязать свои лицензии другим частям проекта. Я не думаю, что это когда-либо проверялось в суде, но обычно я всегда видел интерпретацию, заключающуюся в том, что если код GPL оставить в своих отдельных модулях, на которые есть только ссылки (то есть они рассматриваются как полностью автономные продукты) который вы просто используете), вы должны быть в порядке.
Если вы не уверены в этом и / или хотите быть в большей безопасности, существуют другие менее предписывающие лицензии.
Второе: способность видеть код и права на его использование совершенно разные . Я не могу пойти и снять JavaScript с любого сайта и использовать его только потому, что вижу его. Если я получу доступ к исходному коду Windows, даже по закону, это не сделает его моим. Интернет требует, чтобы было видно много кода, но вы все равно можете лицензировать его так, как хотите.
Третье: с точки зрения лицензии, на которую распространяется действие остальной части сайта, маловероятно, что ваш клиент будет рад заплатить вам за что-то, тогда как вы сделаете это открытым исходным кодом . Помимо основного «почему мы заплатили за то, что вы только что отдали», это, скорее всего, будет иметь последствия для дизайна и брендинга, а также позволит кому-то заимствовать элементы их фирменного стиля. Если вы продаете это им, они захотят, чтобы это было их . Если вы собираетесь продать им кусочки этого, хотя вам нужно сказать им, что там есть OSS, поскольку вы не можете продать это, просто другой код, который использует это.
Четвертое: это очень странная модель, продающая один бит кода и сдающая в аренду другой . Казалось бы, они настолько сильно взаимозависимы, что один в значительной степени бесполезен без другого. Я полагаю, что технически они могли бы взять созданный вами дизайн интерфейса и добавить его во что-то еще, но обычно, когда это происходит, люди просто начинают все сначала.
Учитывая, что эти две части не очень полезны друг без друга, я бы предложил, чтобы они платили за настройку программного обеспечения как сервисного продукта, которым вы владеете. То есть у вас есть весь код, вы просто настраиваете его в соответствии со своей спецификацией (то есть бренд его интерфейс). Делает это намного аккуратнее и проще.
источник
Вообще говоря, если вы используете код GPL где-либо в своем проекте, и вы распространяете свой проект (то есть продаете или отдаете его другим), вы должны полностью опубликовать исходный код вашего проекта, чтобы обеспечить его соответствие лицензия GPL.
Если вы предоставляете свой собственный общедоступный веб-сайт в качестве службы, использующей код GPL на стороне сервера, вы можете быть в порядке, поскольку это не считается перераспределением.
Код Javascript в браузере мне кажется серой областью. Технически вы перераспределяете код GPL в браузер каждого пользователя, что вызывает требование об освобождении вашего собственного источника.
Изменить: чтобы доказать свою точку зрения, теперь я включу текст из FAQ по лицензированию веб-сайта ExtJS. ExtJs - это инфраструктура Javascript, лицензированная по лицензии GPL. Это их интерпретация того, как лицензия работает по отношению к их структуре (курсив мой):
источник
Для веб-сайта с клиентским JavaScript они все еще владеют кодом. Если бы вы просто взяли этот код и использовали его как свой собственный, это, вероятно, было бы нарушением IP. Я думаю, я не знаю, если они не включают лицензию с ним. Есть также проблемы неисполнимости. Поговорите с адвокатом, я думаю, но они, вероятно, не скажут вам ничего полезного.
Проекты со смесью лицензий являются сложными. Код GPL, взаимодействующий с другими библиотеками, предположительно включая серверные серверные части, также требует, чтобы они были GPL. Другие лицензии с открытым исходным кодом менее строгие, как LGPL и лицензия BSD.
И нет, если вы не хотите, чтобы он повторно использовал ваш php-код, это не вписывается в модель GPL. Если вы публикуете свой код под лицензией GPL, вы ОБЯЗАНЫ передать исходный код.
Похоже, вы делаете сайт для кого-то, и вы не хотите раздавать свой код кому-либо. Почему вы вообще смотрите на open source? Если это открытый исходный код, вы отдаете код.
источник