W jaki sposób javascript po stronie klienta jest objęty GPL?

29

Gdybym używał biblioteki Javascript na licencji GPL w aplikacji internetowej, czy musiałbym oferować kod źródłowy całej witryny każdemu, kto pobrał i wykonał bibliotekę JavaScript?

Armand
źródło
5
To bardzo interesujące pytanie. Zwykle aplikacje internetowe nie są objęte GPL, ponieważ nie rozpowszechniasz kodu (dlatego AGPL istnieje). Jednak w przypadku kodu, który działa w przeglądarce, jest to rodzaj dystrybucji. Jeśli to prawda, charakter licencji GPL oznacza, że ​​cała aplikacja internetowa musi zostać wydana na licencji GPL.
Scott Whitlock
5
@David - pytanie brzmi, czy GPL zmusza Cię do zwolnienia reszty aplikacji internetowej (np. Po stronie serwera). Użyłeś biblioteki JavaScript do stworzenia dzieła pochodnego. GPL miałaby zastosowanie do całego wyniku.
Scott Whitlock,
1
@ David, gdyby było jasne, nie zapytałbym: p
Armand
1
@Alison, ah OK, przepraszam, wtedy źle zrozumiałem pełne pytanie. Nie, po stronie serwera nie trzeba będzie GPL. Tak długo, jak komunikacje między klientem a serwerem mają jakiś format, w przeciwieństwie do wywołania funkcjonalnego na poziomie maszyny, takiego jak XML, nie masz się o co martwić. Samo podanie kodu GPL, czy to HTML, czy JS, nie powoduje, że kod po stronie serwera dostarcza go lub komunikuje się z nim w formacie nie-zdalnym wywołania, działaniem pochodnym.
David
1
Richard Stallman, autor GPL, na temat: gnu.org/philosophy/javascript-trap.html
Honza Pokorny

Odpowiedzi:

5

Będziesz musiał zaoferować JavaScript tej biblioteki i JavaScript aplikacji, która uzyskuje dostęp do interfejsu API tej biblioteki (i wszystkich innych bibliotek, do których uzyskują dostęp aplikacje, które również muszą mieć licencję zgodną z GPL).

Pamiętaj, że musisz udostępnić czytelny dla człowieka JavaScript, a nie wersję z białymi spacjami, jak to zwykle wchodzi w grę.

HTML, który wywołuje JavaScript, jest już wyraźnie dostępny, tak naprawdę nie liczy się jako „linkowanie” do tego JavaScript, a jego dostępność oznacza, że ​​ludzie raczej nie będą się o to martwić.

David
źródło
3
Nie sądzę, że linkowanie jest jedynym wyzwalaczem. Na przykład, jeśli twój program jest zależny od innej aplikacji pomocniczej w taki sposób, że twoja aplikacja nie może działać bez innej biblioteki, to dla celów GPL jest to jedna aplikacja. Myślę, że w tym przypadku poleciłbym skonsultowanie się z prawnikiem.
Scott Whitlock
to musi być czytelne dla człowieka? Ciekawy. Zadam to jako osobne pytanie.
Armand
Musi być niezmieniony, zarówno w GPL V2, jak i V3. OK, to może nie być to samo, zakładam, że ludzki zapis == czytelny.
David
1
Wysłano jako osobne pytanie tutaj: programmers.stackexchange.com/questions/62885/...
Armand
@ScottWhitlock Dla celów prawnych ma znaczenie tylko to, czy jedno jest pochodną drugiego z punktu widzenia praw autorskich, a nie to, czy można funkcjonować bez drugiego. Jeśli prawo autorskie nie ma zastosowania, GPL (która jest licencją, a nie umową, może więc tylko udzielać pozwoleń i ich nie odbierać) nie ma zastosowania. Bardzo trudno byłoby pokazać, który serwer i klient w typowej aplikacji internetowej jest pochodną drugiej, jeśli w ogóle. Powiedziałbym, że bardziej prawdopodobne jest, że klient jest pochodną serwera, ponieważ większość programistów zwykle pisze serwer niż klient, ale jest to dalekie od jednolitości.
Jules