Czy można używać dowolnej biblioteki licencjonowanej GPLv2 w wewnętrznej intranecie firmy?

13

Tworzę wewnętrzną aplikację dla firmy, z którą mam umowę. W tej aplikacji chcemy korzystać z biblioteki licencjonowanej GPLv2 . Kilka punktów

  1. 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.
  2. Nigdy nie zostanie sprzedany !! . Nie będą więc zarabiać bezpośrednio na sprzedaży kodu. To nie jest produkt.
  3. 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.
  4. 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?

Ahmad
źródło
2
Jest to pytanie prawne do podjęcia przez prawnika spółki lub głównego konsula prawnego.
hotpaw2
1
@ hotpaw2 - Twoja sugestia zdecydowanie ma swoje zalety i jest najlepszą wskazówką, jaką można dać, naprawdę zaskakuje mnie, że przy wszystkich programistach na świecie pytania te są wciąż zadawane i nadal w niektórych przypadkach pozostają niejasne. Chyba obowiązuje miejscowa jurysdykcja , ale poważnie, mam wrażenie, że licencja jest celowo niejasna w niektórych aspektach. Teraz, jeśli programiści korzystający z tego oprogramowania nie byli w stanie uzyskać jasnych odpowiedzi, IMO próbuje wyjaśnić prawnikom koncepcje i uzyskać ich interpretację odpowiedź na pytania deweloperów jest taka droga
Ahmad
@Ahmad: Jedyne aspekty, które uważam za bardzo niejasne, to części, które muszą być zgodne z prawem autorskim: co to jest dzieło pochodne, co to jest dystrybucja itp. Dopóki nie uzyskamy wyjaśnienia prawnego (w USA może to wymagać zmiany tekstu prawa lub orzeczeń sądowych wydających orzecznictwo), nikt na pewno się o tym nie dowie.
David Thornley,
Jak wspomniałeś, istnieją dwie formy korzystania z aplikacji 1) Natywna postać, która jest oparta na konsoli exe (która korzysta z biblioteki GPL); oraz 2) Wykorzystanie przez interfejs sieciowy, który wywołuje plik wykonywalny. W przypadku pierwszego wyjaśnij, że „Czy jest to wywołanie biblioteki GPL poprzez wywołania systemowe czy niestandardowe”?

Odpowiedzi:

22

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.

Kilian Foth
źródło
O ile licencja nigdy nie jest rozpowszechniana, licencja nie ma wpływu na Ciebie. Żaden. Oczywiście, poproś o to swojego adwokata, jeśli w ogóle nie masz pewności, i upewnij się, że zapoznał się z prawem licencyjnym dotyczącym praw autorskich.
Michael Trausch
2
Innymi słowy, wszyscy ci, którzy mają plik binarny, muszą również mieć odpowiednie źródło, aby mogli naprawić błędy i utworzyć nowy plik binarny.
2
Czy to oznacza, że ​​mogę również korzystać ze strony internetowej GPLv2 w firmie, nie sprzedając jej funkcjonalności?
Johnny_D,
3

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ć.

szybko
źródło
3

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.

Sean McMillan
źródło
2

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.

SF.
źródło
4
OTOH, większość marzeń o zarabianiu pieniędzy z narzędzi opracowanych do użytku wewnętrznego, marzenie menedżerów zostaje zmiażdżona, gdy zdajemy sobie sprawę z tego, jak konkretna i błędna jest aplikacja. Licencja zawsze była ostatnim problemem, z jakim się spotkałem, gdy wystąpiły takie scenariusze.
keppla,
@keppla: Tak, a to oznacza: Użyj go, ale bądź tego świadomy. Zachowaj półprzezroczyste granice między swoim prawem własności a GPL, aby jeśli nadejdzie czas zmiany, nie znajdziesz się beznadziejnie uwikłany. „Tajemnice biznesowe” oddzielone dobrą warstwą abstrakcji z logiki kleju z części GPL.
SF.
1

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.

Jaydee
źródło
0

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.

CVn
źródło
0

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).

Todd
źródło
Nieistotne - OP pyta o całkowicie wewnętrzną aplikację. W takim przypadku żadna wersja GPL nie mówi nic o konieczności rozpowszechniania czegokolwiek (chociaż może to stanowić problem z linkowaniem do oprogramowania niezgodnego z GPL), a FAQ Gnu bezpośrednio rozwiązuje ten brak wymagań.
David Thornley,
-1

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 ...

Gavin Coates
źródło
1
„wymagany jest tylko kod źródłowy skompilowanej biblioteki” - opisuje to LGPL, a nie GPL. GPL działa przy założeniu, że połączenie z biblioteką sprawia, że ​​twoja aplikacja jest dziełem pochodnym biblioteki, a zatem podlega samej GPL.
Sean McMillan,
-2

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.

zvrba
źródło
Proszę rozwinąć temat „ponieważ sama aplikacja jest również GPL”. Co pan myśli? Jeśli ktoś chce wziąć i rozpowszechniać tylko bibliotekę GPL, licencja rozpoczyna się od tego, co rozumiem do tej pory. Aplikacja intranetowa (konsola internetowa) NIE jest przeznaczona do dystrybucji, a jeśli jakikolwiek pracownik zdecyduje się na „redystrybucję” aplikacji firmy, jestem prawie pewien, że nie będzie on pracownikiem przez długi czas.
Ahmad
EXE oparty na konsoli jest GPL, ponieważ korzysta z biblioteki GPL, a zatem GPL wymaga, aby każdy mógł ją swobodnie rozpowszechniać. Tak, pracownik może stracić pracę z tego powodu, ale jego prawo do redystrybucji EXE z GPL ze źródłem. Chociaż mogą obowiązywać inne zasady i przepisy (np. Tajemnica handlowa). Sprawdź u prawnika, czy naprawdę możesz pociągnąć do odpowiedzialności „nielojalnych” pracowników odpowiedzialnych za to, co zapewnia GPL.
zvrba
proszę ponownie przeczytać pytanie. Wydaje się, że większość odpowiedzi nie zgadza się z tobą, czy też czegoś nam brakuje? Aplikacja (w tym część GPL) NIE jest przeznaczona do dystrybucji / ponownej dystrybucji, będzie używana tylko wewnętrznie, nie będzie sprzedawana, nie będzie udostępniana publicznie. Biblioteka GPL NIE będzie w żaden sposób modyfikowana. Wiesz, że Google używa zmodyfikowanych wersji jądra Linuksa wyłącznie do użytku wewnętrznego i nie rozpowszechnia tej wersji. Podkreśliłem tylko użytek wewnętrzny.
Ahmad
To, czy zamierzasz rozpowszechniać aplikację, czy nie, nie ma znaczenia. GPL ma następujące zdanie: każdy, kto dostanie pracę nad GPL, może swobodnie ją rozpowszechniać (i może wymagać kodu źródłowego). Porozmawiaj z prawnikiem, aby dowiedzieć się, co jeszcze może zostać zatrzymane przeciwko twoim pracownikom, jeśli zdecydują się oni rozpowszechniać pracę GPL, o ile pozwala na to licencja GPL.
zvrba
1
Aplikacja nie jest automatycznie GPL poprzez dołączenie biblioteki GPL. Jeśli jednak chcesz rozpowszechniać aplikację zawierającą bibliotekę GPL, musi ona być licencjonowana na podstawie licencji zgodnej z GPL. Sekcja 7 GPL V2 stanowi: Jeśli nie możesz rozpowszechniać w celu jednoczesnego spełnienia swoich zobowiązań wynikających z niniejszej Licencji i wszelkich innych istotnych zobowiązań, w konsekwencji nie możesz w ogóle dystrybuować Programu. Jeśli więc nie masz uprawnień do rozpowszechniania kodu aplikacji swojej firmy, nie możesz rozpowszechniać aplikacji.
KeithB