Przepisane pytanie:
Nie zadaję pytania związanego z JavaScript, ale wszystkie języki „klienta” używane w Internecie (HTML5, JavaScript, CSS itd.). Jeśli umieszczę kod JavaScript (czyli GPLed) na mojej stronie, a ta strona będzie dostępna dla każdego przez Internet, czy w jakiś sposób naruszam GPL?
Co się stanie, jeśli chcę sprzedać komuś kod klienta (HTML, CSS, JavaScript)? Czy w tym przypadku potrzebuję innej licencji?
Czy JavaScript (gdy jest używany w witrynach) nie zawsze jest oprogramowaniem typu open source? Po otwarciu strony internetowej zawsze możesz przeczytać źródło.
Czy muszę również zwolnić kod po stronie serwera, jeśli sprzedaję witrynę internetową zawierającą kod JavaScript GPLed?
Co się stanie, jeśli ta strona jest częściowo dostępna (część jest bezpłatna, a druga wymaga zapłaty), ale kod GPLed (ta sama część) jest używany po obu stronach witryny?
Co zrobić, jeśli kod GPLed znajduje się tylko w części witryny, która wymaga zapłaty za dostęp?
Jeśli sprzedaję stronę internetową klientowi w ten sposób:
- Sprzedaję ci (jednorazowa opłata) cały kod klienta (JavaScript, HTML i CSS)
- Ja nie sprzedaje Ci kod po stronie serwera, jesteś wynajmuje je (nie chcę pozwolić ci ponownego użycia mojego kodu po stronie serwera)
Jeśli używam kodu JavaScript GPL, czy coś naruszam? (Witryna jest dostępna dla każdego przez Internet).
Edycja 2:
Dodano nowe szczegółowe pytanie:
Co się stanie, jeśli witryna może działać bez kodu po stronie serwera, to znaczy, że JavaScript wywołuje tylko niektóre strony PHP zawierające dane w formacie JSON. Inne osoby mogą zbudować stronę internetową po stronie klienta, ale będą musiały podać dane. W tym przypadku JavaScript wywołuje kod „PHP” (ale nie odwrotnie). Czy w takim przypadku naruszam GPL?
źródło
Odpowiedzi:
W przypadku GPL jednostką wydania jest jednostka licencjonowania.
Jeśli twoja strona internetowa i jej javascript to jedna rzecz, która działa razem, całość ma skuteczną licencję. Jeśli jakakolwiek część jest GPL, efektywną licencją całości jest GPL. (Nie dotyczy to LGPL, MIT itp.)
Jeśli prowadzisz witrynę internetową, a Twoi klienci kupują dostęp do usługi, to nie rozpowszechniłeś ani nie przesłałeś kodu po stronie serwera, więc GPL nie ma znaczenia. (AGPL to zmienia i zapewnia, że Oprogramowanie jako usługa musi mieć zwolnione źródło).
Javascript, który jest częścią twojej aplikacji, nie jest w żaden sposób automatycznie licencjonowany. Ściśle mówiąc, pobranie javascript, aby uruchomić go w przeglądarce, stanowi naruszenie praw autorskich. Oczywiście to głupie. Prawdopodobnie istnieje domniemana licencja na uruchomienie kodu, ale to wszystko.
Jeśli korzystasz z biblioteki JavaScript, musisz przestrzegać licencji tej biblioteki. Jeśli ta licencja jest na licencji GPL, rozumiem, że oznacza to, że cała twoja aplikacja jest na licencji GPL. Prawdopodobnie dlatego jQuery ma podwójną licencję - twój wybór, MIT lub GPL. Bez opcji korzystania z licencji MIT może być używana tylko przez aplikacje GPL.
źródło
Po pierwsze: masz pełne prawo do używania kodu Open Source w projektach komercyjnych, o ile przestrzegasz ograniczeń licencji (przede wszystkim pozostawiasz wszystkie atrybucje na swoim miejscu i udostępniasz wszelkie zmiany na podobnej licencji).
Rozumiem, że GPL jest jedną z bardziej restrykcyjnych licencji, jeśli chodzi o próby narzucenia jej licencji na inne części projektu. Nie sądzę, żeby kiedykolwiek był testowany w sądzie, ale ogólnie interpretację, którą zawsze widziałem, jest to, że jeśli kod GPL zostanie pozostawiony w oddzielnych modułach, do których się tylko odwołuje (to znaczy, że są one traktowane jako całkowicie samodzielne produkty którego właśnie używasz), wszystko powinno być w porządku.
Jeśli nie jesteś tego pewien i / lub chcesz być bardziej bezpieczny, istnieją inne, mniej nakazowe licencje.
Po drugie: Możliwość przeglądania kodu i prawa do korzystania z niego są całkowicie oddzielne . Nie mogę usunąć kodu JavaScript z żadnej witryny i używać go tylko dlatego, że go widzę. Jeśli dostanę dostęp do źródła Windows, nawet legalnie, to nie oznacza, że jest mój. W sieci konieczne jest, aby widoczna była duża część kodu, nadal możesz licencjonować go tak, jak chcesz.
Po trzecie: Jeśli chodzi o licencję na pozostałą część witryny, jest bardzo mało prawdopodobne, że Twój klient z przyjemnością zapłaci Ci za coś, niż uczynisz to otwartym oprogramowaniem . Oprócz podstawowego „dlaczego zapłaciliśmy za coś, co właśnie rozdałeś”, będzie to miało prawdopodobnie konsekwencje dla projektu i marki oraz pozwoli pożyczyć elementy tożsamości korporacyjnej. Jeśli im to sprzedajesz, będą chcieli, aby to był ich . Jeśli zamierzasz je sprzedać, musisz powiedzieć im, że jest tam OSS, ponieważ nie możesz tego sprzedać, tylko inny kod, który tego używa.
Po czwarte: To bardzo dziwny model sprzedający jeden fragment kodu, a wynajmujący drugi . Wydają się być tak silnie współzależne, że jedno jest w dużej mierze bezwartościowe bez drugiego. Przypuszczam, że technicznie mogą wziąć projekt frontonu, który zrobiłeś, i załatać go w coś innego, ale ogólnie rzecz biorąc, kiedy to się dzieje, ludzie po prostu zaczynają od nowa.
Biorąc pod uwagę, że te dwie części nie są tak przydatne bez siebie, proponuję, aby płacili za dostosowanie oprogramowania jako produktu usługowego, którego jesteś właścicielem. To znaczy, że jesteś właścicielem całego kodu, po prostu dostosowujesz go do ich specyfikacji (to znaczy, że jest to marka front endu). Sprawia, że jest o wiele ładniejszy i prostszy.
źródło
Ogólnie rzecz biorąc, jeśli używasz kodu GPL nigdzie w projekcie, a rozprowadzać swój projekt (tzn sprzedać lub dać go innym) należy udostępnić kod źródłowy projektu do publicznej wiadomości w całości , aby być zgodna z licencja GPL.
Jeśli udostępniasz swoją publiczną witrynę jako usługę korzystającą z kodu GPL po stronie serwera, możesz być w porządku, ponieważ nie jest to uważane za redystrybucję.
Kod JavaScript w przeglądarce wydaje mi się szarym obszarem. Technicznie redystrybuujesz kod GPL do przeglądarki wszystkich użytkowników, co spowodowałoby wymóg zwolnienia własnego źródła.
Edycja: Aby udowodnić, o co mi chodzi, dołączę teraz tekst z często zadawanych pytań dotyczących licencjonowania na stronie ExtJS. ExtJs jest strukturą Javascript na licencji GPL. Oto ich interpretacja działania licencji w odniesieniu do jej frameworka (moja kursywą):
źródło
W przypadku strony internetowej z javascript po stronie klienta nadal mają kod. Jeśli po prostu weźmiesz ten kod i użyjesz go jako własnego, prawdopodobnie będzie to naruszenie praw własności intelektualnej. Chyba nie wiem, czy nie zawierają licencji. Istnieją również problemy z niewykonalnością. Chyba porozmawiaj z prawnikiem, ale prawdopodobnie nie powiedzą ci nic pożytecznego.
Projekty z wieloma licencjami są skomplikowane. Kod GPL, który współdziała z innymi bibliotekami, prawdopodobnie obejmując również zaplecze po stronie serwera, wymaga, aby były one również GPL. Inne licencje open source są mniej rygorystyczne, takie jak LGPL i licencja BSD.
I nie, jeśli nie chcesz, aby używał twojego kodu php, nie pasuje to do modelu GPL. Jeśli zwolnisz swój kod na licencji GPL, masz ZOBOWIĄZANIE do przekazania kodu źródłowego.
Wygląda na to, że tworzysz witrynę dla kogoś i nie chcesz nikomu rozdawać kodu. Dlaczego w ogóle patrzysz na open source? Jeśli jest to oprogramowanie typu open source, rozdajesz kod.
źródło