Tworzę wewnętrzną aplikację dla firmy, z którą mam umowę. W tej aplikacji chcemy korzystać z biblioteki licencjonowanej GPLv2 . Kilka punktów
- Aplikacja ma być używana w ramach firmy i nigdy nie będzie dostępna do użytku publicznego. To jest wyłącznie do użytku wewnętrznego firmy.
- Nigdy nie zostanie sprzedany !! . Nie będą więc zarabiać bezpośrednio na sprzedaży kodu. To nie jest produkt.
- Istnieją dwie formy korzystania z aplikacji
- Jego natywna postać, która jest oparta na konsoli exe (która korzysta z biblioteki GPL); i
- Użycie przez interfejs sieciowy, który wywołuje plik wykonywalny.
- Kod źródłowy pozostanie zamkniętym źródłem (tylko do użytku firmowego) i będzie odpowiedni
Przeszedłem przez to wiele pytań na temat SO ( jedno zamknięte jako nie na temat, a drugie nieoznaczone przez programistów ), ale miałem trudności ze zrozumieniem, czy moja interpretacja licencji jest poprawna.
W oparciu o moje dotychczasowe zrozumienie mogę korzystać z tej biblioteki bez żadnych obaw. Nie modyfikuję kodu źródłowego, nie rozpowszechniam aplikacji ani nie udostępniam aplikacji publicznie. Aplikacja nie będzie sprzedawana ani nie będzie dystrybuowana do osób spoza firmy (będzie ona jednak dostępna w naszej firmie poza siedzibą DR). Bardzo prawdopodobne jest, że użyję wydanych wersji plików binarnych i nie dokonam ponownej kompilacji ze źródła.
Poniższe pytanie z GNU FAQ wydaje się popierać moje myśli.
Czy GPL wymaga publikowania kodu źródłowego zmodyfikowanych wersji?
GPL nie wymaga wydawania zmodyfikowanej wersji ani żadnej jej części. Możesz wprowadzać modyfikacje i korzystać z nich prywatnie, bez ich publikowania. Dotyczy to również organizacji (w tym firm); organizacja może utworzyć zmodyfikowaną wersję i używać jej wewnętrznie, nie wydając jej nigdy poza organizację.
Ale jeśli w jakiś sposób udostępnisz zmodyfikowaną wersję publicznie, GPL wymaga udostępnienia zmodyfikowanego kodu źródłowego użytkownikom programu na podstawie GPL.
W ten sposób GPL zezwala na wydanie zmodyfikowanego programu w określony sposób, a nie w inny sposób; ale decyzja o wydaniu go zależy od ciebie.
Czy można używać dowolnej biblioteki licencjonowanej GPLv2 w wewnętrznej intranecie firmy?
Odpowiedzi:
GPL we wszystkich swoich wariantach jest licencją na redystrybucję . Po prostu nie ma zastosowania, jeśli nie rozpowszechniasz kodu. Może to mieć zastosowanie w przyszłości, jeśli pewnego dnia zdecydujesz się zrobić produkt z aplikacji, ale nie teraz.
źródło
Myślę, że zacytowałeś odpowiedź, więc masz ją.
Moja wiedza na temat GPL polega na tym, że nie ma problemu z tym, co chcesz zrobić.
źródło
Odpowiedź zależy od prawnej definicji dystrybucji .
Jeśli przekazanie programu swoim pracownikom do uruchomienia polega na ich dystrybucji, wówczas obowiązują wymagania GPL, a Ty musisz podać źródło również pracownikom otrzymującym program .
Jeśli przekazanie pracownikom kopii programu nie jest rozpowszechnianiem, nie masz żadnych wymagań, ponieważ nie rozpowszechniłeś go.
Podane przez Ciebie FAQ mówi ci, że nie musisz publicznie udostępniać swojego kodu . (To znaczy dla każdej przypadkowej osoby na ulicy).
Pamiętaj, że jest jasne, że zgodnie z GPLv2 usługa internetowa nie jest uważana za dystrybucję. To tylko aplikacja konsolowa jest myląca.
Sugeruję, aby uzyskać poradę prawną od prawnika firmy.
źródło
Tak, ale MOŻESZ wziąć pod uwagę współpracę z podwykonawcami, firmami partnerskimi i podobnymi. Ugryzło to wielu administratorów z tyłu, ponieważ „tylko dla wewnętrznych” stało się „wspólne dla partnerów”, a następnie „produkt na sprzedaż”. Następnie albo części GPL trzeba przepisać od nowa, albo wydasz źródła w intranecie.
źródło
Wersja 2 LGPL umożliwia redystrybucję źródła i pliku binarnego.
Możesz nawet to sprzedać.
Jedyne prawdziwe ograniczenie jest następujące:
Jeśli zmodyfikujesz bibliotekę i rozpowszechnisz ją, musisz publicznie opublikować wprowadzone zmiany w bibliotece. Przeczytaj punkt 2 LGPL.
Jeśli go nie zmodyfikujesz, naprawdę nie masz problemu.
źródło
Nie sądzę, żeby to był problem. Aplikacje internetowe używające kodu GPL, ale niedostępne dla użytkowników w postaci kodu źródłowego, to jeden z problemów, które GPLv3 zmieniło w porównaniu z GPLv2, zamykając tę „lukę”. Wydaje się, że w dużej mierze to samo pytanie.
W zależności od tego, do czego dokładnie służy biblioteka, innym oczywistym sposobem na uniknięcie całego problemu jest utworzenie bardzo prostego opakowania wokół biblioteki. Jeśli biblioteką jest GPL, opakowanie może wymagać GPL, ale jeśli interfejsy są wyraźnie rozdzielone, licencja na kod opakowania nie powinna (prawie powiedziałem, że nie, ale skonsultuj się z odpowiednio wykwalifikowanym prawnikiem specjalista) mają jakikolwiek wpływ na wymagania licencyjne głównej aplikacji.
źródło
Ważne jest, aby pamiętać we wszystkich poradach „programista-programista”, że żadna z nich nie jest radcą prawnym. Jak wyjaśnia ten wątek, w GPL jest miejsce na interpretację.
Musisz narazić koszty narażenia swojej organizacji na działania prawne, jeśli naruszysz GPL, a nie uzyskanie dobrej, rzetelnej opinii prawnej . W tym wątku są dobre pomysły, ale sam nie podjąłbym decyzji na temat tego wkładu.
-
Na przykład pomarszczenie: co zrobić, jeśli kod GPL ma kod JavaScript?
Gdy użytkownik uzyskuje dostęp do strony internetowej z kodem JavaScript GPL, technicznie „kod źródłowy” (w tym przypadku plik JS) jest „dystrybuowany” do użytkownika końcowego. Czy to oznacza, że cała witryna wymaga licencji GPL? Toczy się też cała debata .
Chociaż nienawidzę płacić prawnikom tak bardzo, jak następnego pracowitego faceta, biorąc pod uwagę ryzyko, jest to jedna dziedzina, w której lepiej nie polegać na poradach internetowych (oczywiście z wyjątkiem tych porad).
źródło
Jak powiedzieli poprzedni plakaty, licencja GPL ma zastosowanie tylko wtedy, gdy zwolnisz swoją aplikację, jeśli pozostanie tylko do użytku wewnętrznego, nie będzie problemu. Jednak warto rozważyć konsekwencje bez względu na to, czy to się kiedykolwiek zmieni.
Zasadniczo rozumiem licencję, że pozwala ona modyfikować kod źródłowy, a następnie sprzedawać wynikową aplikację, jeśli chcesz, ale pod warunkiem, że udostępnisz kod źródłowy każdemu, kto o to poprosi, w tym wszelkie wprowadzone w nim zmiany.
W przypadku biblioteki skompilowanej kod GPL jest oddzielony od głównej bazy kodu i jako taki wymagany jest tylko kod źródłowy skompilowanej biblioteki - a nie reszta bazy kodu.
Tam, gdzie biblioteka nie jest skompilowana - tj. W aplikacji PHP, wierzę, że separacja nadal istnieje. Powiedzmy na przykład, że twoja aplikacja korzysta z biblioteki open source do generowania plików PDF - każda modyfikacja kodu generującego plik PDF byłaby objęta licencją i wszelkie ulepszenia muszą zostać wydane, jednak żaden kod w aplikacji korzystającej z tej biblioteki nie musi być wydany .
Pamiętaj, że zmienia się to wraz z GPL v3, zgodnie z którym twój kod musi być otwarty, jeśli link do otwartej biblioteki ...
źródło
Nie jestem pewien, czy nie można zabronić pracownikom redystrybucji tej aplikacji, ponieważ sama aplikacja jest również GPL. To, co Twoim zdaniem może być „aplikacją wewnętrzną”, może być (legalnie?) Wyciekane wraz z kodem źródłowym.
źródło