Чи використовується який-небудь код JavaScript лише для веб-сайтів, відкритого коду?


12

Переписане запитання:

Я не задаю питання, пов’язане з JavaScript, але всі "клієнтські" мови, які використовуються в Інтернеті (HTML5, JavaScript, CSS тощо). Якщо я розміщую код JavaScript (тобто GPLed) на своєму веб-сайті, і цей веб-сайт доступний для всіх у мережі, чи я якимось чином порушую GPL?

Що станеться, якщо я хотів би продати клієнтський код (HTML, CSS, JavaScript) комусь? Чи потрібна мені інша ліцензія в цьому випадку?

Чи не завжди JavaScript (коли використовується для веб-сайтів) з відкритим кодом? Відкриваючи веб-сторінку, ви завжди можете прочитати джерело.

Чи потрібно також випустити свій код на стороні сервера, якщо я продаю веб-сайт, який містить код GPLed JavaScript?

Що станеться, якщо цей веб-сайт є частково доступним (частина безкоштовна, а інша вимагає платити), але код GPLed (та сама частина) використовується з обох сторін веб-сайту?

Що робити, якщо код GPLed є лише на тій частині веб-сайту, яка вимагає платити за доступ до нього?

Якщо я продаю веб-сайт клієнту таким чином:

  1. Я продаю вам (разова плата) весь код, пов'язаний з клієнтом (JavaScript, HTML і CSS)
  2. Я не продаю вам код на стороні сервера, ви здаєте його в оренду (я не хочу дозволяти вам повторно використовувати мій код на стороні сервера)

Якщо я використовую код GPLed JavaScript, чи я щось порушую? (Веб-сайт доступний будь-кому в мережі.)

Редагувати 2:

Додано нове конкретне запитання:

Що робити, якщо веб-сайт може працювати без коду на сервері, я маю на увазі, JavaScript просто викликає деякі сторінки PHP, що містять дані у форматі JSON. Інші люди можуть створити веб-сайт із стороною клієнта, але їм потрібно буде надати дані. У цьому випадку JavaScript викликає код "PHP" (але не навпаки). У цьому випадку я порушую GPL?


4
Можливість "бачити" код не має нічого спільного з ліцензуванням, тому JavaScript не відрізняється від будь-якого іншого. Вам найкраще допоможуть порадитися з юристом, який є фахівцем у цій спеціальності.
Sparky

Що стосується javascript на веб-сайті, це те, де ви конкретно говорите про GPL-код? тобто чи чітко ліцензований код відповідно до GPL?
Філіп

Ну, я не продаю жоден товар, я просто запитую це, тому що я не розумію добре, як це працює. Я спеціально запитую, чи будь-яка мова, пов'язана з клієнтом, ще не є всім "GPL" (ви завантажуєте джерело будь-коли, коли відвідуєте веб-сторінку)
Fire-Dragon-DoL

У нетривіальній програмі вихідний код - це не лише Javascript, а також код на стороні сервера. Ви хочете випустити все це на публіку? Тому що так говорить GPL. Це не говорить про те, що ви можете випустити частину цього і все ще відповідати ліцензії.
Роберт Харві

Відповіді:


3

Що стосується GPL, то одиницею випуску є одиниця ліцензування.

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

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

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

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


4

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

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

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

По-друге: Можливість бачити код та права на його використання абсолютно окремі . Я не можу зайти і зняти JavaScript з будь-якого сайту та використовувати його тільки тому, що я його бачу. Якщо я отримав доступ до джерела Windows, навіть юридично, це не робить його моїм. В Інтернеті необхідно, щоб було видно багато коду, ви все одно можете ліцензувати його як хочете.

По-третє: Що стосується ліцензії, на якій знаходиться решта сайту, то малоймовірно, що ваш клієнт буде радий платити вам за щось тоді, коли ви зробите це відкритим кодом . Окрім основного "чому ми заплатили за те, що ви тільки що подарували", це, ймовірно, матиме наслідки для дизайну та брендингу та дозволить комусь іншому запозичити елементи свого фірмового стилю. Якщо ви продаєте їм їх, то вони захочуть, щоб це було їхнім . Якщо ви збираєтеся продавати їм біти, хоча вам потрібно сказати їм, що там є ОС, оскільки ви не можете продати це, просто інший код, який використовує це.

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

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


Зараз я маю сумніви: коли я створюю веб-сайт для клієнта, хто є замовником: людина, якій я продаю свій веб-сайт, або користувачі, які отримають доступ до нього? Якщо я продаю весь веб-сайт у якості продукту GPL (з джерелами так) своєму клієнту, чи потрібно випускати вихідний код навіть усім людям, які переглядають цей веб-сайт?
Fire-Dragon-DoL

@ Fire-Dragon-DoL - Ваш клієнт - людина, яка сплачує ваші рахунки. Якщо ви надаєте GPL свій код, вам потрібно зробити його загальнодоступним для всіх, а також лише для вашого клієнта та / або користувачів (і кожен має право повторно використовувати цей код).
Джон Хопкінс

На останній частині (ваше пояснення дуже розумне, дякую): З огляду на те, що дві частини насправді не такі корисні без кожного іншого : у такому випадку, якщо я використовую код GPLed, чи варто все-таки випустити джерела? Тому що я можу прочитати ваше речення як "Я продаю вам послугу налаштування програмного забезпечення, а не саме програмне забезпечення, яке все ще є моїм"
Fire-Dragon-DoL

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

1
@Jon Вам потрібно лише дати джерело людям, які отримали двійковий файл; не тому, хто запитує. (Звичайно, вони отримують право віддавати кому бажають, але цього не потрібно робити.)
Шон Макміллан,

3

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

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

Код Javascript у браузері здається мені сірою зоною. Технічно ви перерозподіляєте код GPL для кожного веб-переглядача, що спричинить вимогу звільнити власне джерело.

Редагувати: Щоб підтвердити свою думку, я зараз додаю текст із FAQ щодо ліцензування веб-сайту ExtJS. ExtJs - це рамка Javascript, ліцензована відповідно до GPL. Це їхня інтерпретація того, як працює ліцензія щодо їхньої бази (курсив):

Отримані роботи
Коли програмне забезпечення викликає код, ліцензований відповідно до GPLv3, то ця програмна програма стає похідною роботою коду GPL'd і, отже, підлягає ліцензії на авторське право GPLv3. Якщо програмне забезпечення потім "передається" користувачеві, GPLv3 вимагає, щоб вихідний код до цієї програмної програми також був "переданий". "Передача" для веб-додатка спрацьовує, коли користувач поза юридичною особою, яка створила програму, використовує цей додаток.

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

Приклад
Скажімо, що у додатку є передній (який генерує веб-сторінки, пов'язані з Ext JS JavaScript), який спілкується через JSON / HTTP із сервісом резервного копіювання. Ця сервісна підтримка містить логіку затвердження та перевірки лише для цього додатка. Навіть якщо тільки передній кінець використовує Ext JS-код, слід врахувати, що комбінація переднього та заднього кінців є додатком, і вихідний код як заднього, так і переднього кінця повинен бути наданий кінцевим користувачам програми під GPLv3, якщо додаток використовується кінцевим користувачем, який не є частиною тієї самої юридичної особи, яка має ліцензію GPLv3 до коду Ext JS.


2
Це неправильно, GPL не працює таким чином. Включення посилання на JPL-файл GPL'd у висновку коду PHP якось не робить ваш код PHP відкритим кодом.
користувач229044

@meager: Дивіться мою редагування.
Роберт Харві

Це просто здається абсолютно неправильним. Що робити, якщо мій бек-енд направлений на сторонній сайт, який використовував файли GPL'd JS? Чи потрібно мені тоді відкривати всю свою заявку? Я не думаю, що це не витримає жодного суду. Вибачте.
Роб

1

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

Проекти з поєднанням ліцензій складні. Код GPL, який взаємодіє з іншими бібліотеками, імовірно, включаючи зворотні кінці на стороні сервера, вимагає, щоб вони також були GPL'd. Інші ліцензії з відкритим кодом є менш жорсткими, як LGPL та BSD.

І ні, якщо ви не хочете, щоб він повторно використовував ваш PHP-код, то це не входить у модель GPL. Якщо ви випустите свій код під GPL, ви зобов’язані здати вихідний код.

Отже, це здається, що ви робите веб-сайт для когось, і ви не хочете роздавати свій код нікому. Чому ви взагалі дивитесь на відкритий код? Якщо це відкритий код, ви видаєте код.


На даний момент я нічого не продаю, я просто запитую це, тому що вважаю веб-сайт як дві різні частини, веб-сайт клієнта та веб-сайт сервера. Перша частина безкоштовна, а друга - ні. Якщо веб-сайт є "відкритим кодом", ви повинні випустити вихідний код на сервері? Мені трохи важко, це створить катастрофи над безпекою!
Fire-Dragon-DoL

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

Що робити, якщо веб-сайт може працювати без серверного коду, я маю на увазі, javascript - це просто виклик деяких сторінок PHP, що містять дані у форматі json. Інші люди можуть створити веб-сайт із стороною клієнта, але їм потрібно буде надати дані. У цьому випадку javascript викликає код "php" (але не навпаки), я думаю. У цьому випадку я порушую GPL?
Fire-Dragon-DoL

@KeithB ACK! Ти правий. Я думав про GTK та SDL, але це LGPL. Дякую.
Філіп

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