Czy mogę korzystać z oprogramowania GPL w aplikacji komercyjnej

203

Mam tutaj 3 pytania dotyczące GPL:

  1. Jeśli używam oprogramowania GPL w mojej aplikacji, ale nie modyfikuję go ani nie rozpowszechniam, czy muszę wydać moją aplikację na licencji GPL?

  2. Co jeśli zmodyfikuję niektóre oprogramowanie, z którego korzysta moja aplikacja? Czy w takim razie muszę wydać moją aplikację na licencji GPL, czy mogę po prostu dostarczyć zmodyfikowane oprogramowanie zgodnie z warunkami GPL.

  3. A jeśli korzystam z oprogramowania GPL, ale go nie modyfikuję, czy mogę rozpowszechniać go wraz z aplikacją?

Chodzi mi o to, że mam framework PHP, którego używam z biblioteki GeSHi, aby podświetlić niektóre wyniki.

  1. Ponieważ GeSHi to GPL, czy mój framework musi być GPL?

  2. Czy mogę zmodyfikować GeSHi dla konkretnych przypadków użycia mojej aplikacji, jeśli dostarczę modyfikacje z powrotem do opiekunów GeSHi?

  3. Czy mogę redystrybuować swój framework za pomocą GeSHi?

Petah
źródło
10
Komercyjne! = Zastrzeżone
Gerstmann
2
Ciekawe, co w tym przypadku oznacza dystrybucja? Jeśli omawiany program byłby, powiedzmy, oprogramowaniem układowym w urządzeniu, w którym nie może go dotknąć nikt inny niż firma, która sprzedaje to urządzenie, czy to „dystrybucja”?
Wes Miller
2
Tak, to jest dystrybucja. Dlatego znajdziesz takie rzeczy, jak routery ADSL, w których kod źródłowy jest (musi być) dostępny do pobrania. Renomowani dostawcy udostępniają źródło, ponieważ wymagają tego warunki licencji. To samo dotyczy urządzeń NAS, kamer IP i wielu innych gadżetów.
szybko_nie
2
@ quickly_now - dlatego w GPLv3 dodano rzeczy Tivoisation, więc jeśli używasz kodu GPLv2 w urządzeniu, tak naprawdę nie musisz go wypuszczać, ale jeśli używasz kodu GPLv3, robisz to. Pamiętaj, że Tivo używał kodu GPL i nigdy nie opublikował ich modyfikacji, które zdenerwowały grupę ludzi, a częściowo doprowadziły do ​​GPLv3.
Scott Whitlock,

Odpowiedzi:

177

Jeśli używam oprogramowania GPL w mojej aplikacji, ale nie modyfikuję go ani nie rozpowszechniam, czy muszę wydać moją aplikację na licencji GPL?

ODPOWIEDŹ: Twoje pytanie jest trochę niejednoznaczne. Dwa przypadki:

(a) Jeśli nie rozpowszechniasz WNIOSKU, odpowiedź brzmi Nie, ponieważ nie rozpowszechniłeś swojej aplikacji. Na przykład, jeśli było to do użytku wewnętrznego tylko w Twojej firmie, nie masz obowiązku nic robić.

(b) Jeśli rozpowszechniasz SWOJĄ APLIKACJĘ i użyłeś czegoś GPL jako części swojej aplikacji (nawet jeśli tylko łączysz się z biblioteką w czasie wykonywania) - i nawet jeśli nie pobierasz opłat - i nawet jeśli nie zmienisz że GPL s / w w jakikolwiek sposób - MUSISZ udostępnić źródło TWOJEJ APLIKACJI.

Udostępnienie źródła nie oznacza pobrania. Może być tak, że musisz otrzymać pisemną prośbę i wysłać kserokopię aukcji (zobacz komentarze: tak naprawdę nie możesz wysłać aukcji. Przesadą było nadanie sensu) . Możesz pobierać „rozsądną” opłatę za obsługę / kopiowanie. Ale nie można uniknąć obowiązku udostępnienia własnego kodu źródłowego.

Co jeśli zmodyfikuję niektóre oprogramowanie, z którego korzysta moja aplikacja? Czy w takim razie muszę wydać moją aplikację na licencji GPL, czy mogę po prostu dostarczyć zmodyfikowane oprogramowanie zgodnie z warunkami GPL.

ODPOWIEDŹ: Patrz wyżej. Jeśli korzystałeś z GPL s / w, musisz udostępnić swój kod źródłowy. Obejmuje to zmodyfikowany kod GPL.

A jeśli korzystam z oprogramowania GPL, ale go nie modyfikuję, czy mogę rozpowszechniać go wraz z aplikacją?

ODPOWIEDŹ: Patrz wyżej. Możesz go rozpowszechniać (kod GPL), pod warunkiem, że udostępnisz swoje źródło.

Ponieważ GeSHi to GPL, czy mój framework musi być GPL?

ODPOWIEDŹ: Jeśli rozpowszechniasz swój framework, to TAK.

Czy mogę zmodyfikować GeSHi dla konkretnych przypadków użycia mojej aplikacji, jeśli dostarczę modyfikacje z powrotem do opiekunów GeSHi?

ODPOWIEDŹ: Możesz, jeśli chcesz. Nie musisz Możesz go zmodyfikować, ale kiedy rozpowszechniasz swoją aplikację, musisz udostępnić swoje źródło, a także źródło modyfikacji, które wprowadziłeś w bibliotece.

Czy mogę redystrybuować swój framework za pomocą GeSHi?

ODPOWIEDŹ: Możesz, jeśli chcesz. Jeśli twoja aplikacja nie jest rozpowszechniana z kodem GPL i każesz użytkownikom pobierać ją osobno, aby z niej skorzystać, to twoja sprawa jest nieco bardziej wyjątkowa i może wywołać jakiś argument, ale najprawdopodobniej ta sama zasada ostatecznie się zastosuje: musisz udostępnij swoje źródło.

Jeśli chcesz uniknąć tych problemów, musisz użyć rzeczy z inną licencją lub przynajmniej LGPL, która pozwoli na wywołanie bibliotek w czasie wykonywania bez rozprzestrzeniania się wirusów warunków GPL z powrotem do twojego kodu.

W razie wątpliwości potrzebujesz porady prawnej. Wszelkie porady, które tu otrzymasz (ode mnie lub kogokolwiek innego) powinny być traktowane dość ostrożnie. Tylko prawnik może udzielić właściwej porady prawnej.

szybko
źródło
67
Uwielbiam GPL:
Zmuszaj
31
Tylko uwaga: prawdopodobnie złamanie licencji na dostarczenie kodu źródłowego jako kserokopii. Jak zaznaczono w licencji: „Kod źródłowy utworu oznacza preferowaną formę utworu do wprowadzania modyfikacji”.
mipadi
26
@Petah: GPL jest jak wirus: zaraża wszystko, czego dotknie. Jeśli zapewnisz ogólny interfejs i zezwolisz użytkownikowi na instalowanie różnych wybranych przez niego komponentów, MOŻESZ uciec od zanieczyszczenia GPL. JEDNAK, przypuszczam, że rozdałeś swoje rzeczy, a ktoś inny miałby połączyć 2 razem ... wtedy wyglądałoby na to, że GPL dotknie twoich rzeczy. Masz bardzo trudną sytuację, bez względu na to, jak próbujesz się nią kręcić.
szybko_now
10
Jeśli pytanie zostało zadane kilka razy, dlaczego nie jest to duplikat?
11
Pamiętaj, że pobieranie „rozsądnej” opłaty manipulacyjnej nie jest silnym środkiem odstraszającym dla osób zainteresowanych Twoim kodem źródłowym; pierwszy odbiorca kodu źródłowego może legalnie udostępnić innym kod źródłowy.
Brian
12

Wydaje się, że to bardzo się nie zgadza, jeśli używasz go na stronie internetowej, a nie ponownie rozpowszechniasz plik wykonywalny.

Możesz kopiować, rozpowszechniać i modyfikować oprogramowanie, o ile śledzisz zmiany / daty w plikach źródłowych i przechowujesz zmiany na licencji GPL. Możesz rozpowszechniać swoją aplikację komercyjnie za pomocą biblioteki GPL, ale musisz także podać kod źródłowy. GPL v3 próbuje zamknąć niektóre luki w GPL v2.

konkretnie

Jeśli rozpowszechniasz tę bibliotekę w pliku wykonywalnym, musisz ujawnić swój kod źródłowy, podając go wraz z dystrybucją lub wymieniając dostępny sposób (URL, kopia fizyczna) w celu uzyskania źródła przez 3 lata. Nie dotyczy, jeśli korzystasz z portalu internetowego.

https://tldrlegal.com/license/gnu-general-public-license-v3-%28gpl-3%29

Masłów
źródło
2
Czy możesz to rozwinąć? Obecnie jest to jedno zdanie twojego zdania i tekst z tldrlegal. Czym różni się używanie GPL na stronie internetowej od używania go w samodzielnej aplikacji?
Witryna zwykle nie rozpowszechnia oprogramowania (tylko zapewnia usługę)
Basile Starynkevitch,
3
NA
BOK
Jeśli dana biblioteka GPL jest napisana powiedzmy HTML, javascript i CSS, a kod biblioteki zostaje „rozprowadzony” przez serwer do przeglądarki internetowej osób odwiedzających witrynę, zastanawiam się, czy to może spowodować inny kod HTML, javascript, i kod CSS, aby stać się GPL. Ciekawostką jest to, że ten kod byłby już „dostępny” po prostu poprzez przeglądanie źródła strony internetowej, choć być może nie w jego preferowanej formie. Jednak nawet wtedy kod po stronie serwera nie jest dystrybuowany i dlatego wyobrażam sobie, że nie musiałbym być GPL.
still_dreaming_1
2

Oświadczenie : Nie jestem prawnikiem i od jakiegoś czasu nie czytałem żadnej wersji GPL, więc ta odpowiedź może być niedokładna z prawnego punktu widzenia.

Jeśli wydasz / rozpowszechnisz oprogramowanie zawierające komponenty GPL (takie jak biblioteki połączone statycznie), twoje oprogramowanie musi być objęte GPL. (Jest to wrażenie podane dla wersji 2; wersja 3 może być inna.)

W przypadku wydania / dystrybucji oprogramowania przy użyciu bibliotek LGPL oprogramowanie nie musi być objęte GPL, ale biblioteki muszą zachować licencję LGPL.

Modyfikacja komponentów [L] GPL'd sugeruje wkład z powrotem do twórcy / opiekuna. Nie jestem pewien, w jaki sposób wpływa to na licencjonowanie twojego produktu.

Agi Hammerthief
źródło
-4

Możemy wymusić takie reguły w dżungli, ale w prawdziwym życiu (prawnym kraju lub stanu) zależy to od tego, kto, kto, kiedy i co.

Problem prawny powstaje, gdy robisz dystrybucję programu GPL jako pliku binarnego lub biblioteki w systemie innym niż GPL. Program GPL infekuje i infekuje proces nadrzędny i podrzędny niebędący GPL (własna, a nawet inna licencja typu open source) z punktu widzenia prawa. Infekcja oznacza, że ​​program pochodny narusza GPL, zainfekowany oznacza, że ​​program GPL narusza własną licencję. Nie ma żadnego problemu, gdy skompilujesz rozproszone źródło GPL jako osoba działająca indywidualnie (osoba, organizacja, firma).

bismark
źródło
11
wydaje się, że to tylko powtórzenie punktów poczynionych i wyjaśnionych w poprzedniej odpowiedzi, która została opublikowana 4 lata temu
gnat