Czy użytkownik może ponownie licencjonować LGPL jako GPL lub GPL jako AGPL?

9

LGPL (dla ułatwienia założymy wersję 3 dla wszystkich), jest mniej restrykcyjną wersją GPL, podobnie AGPL, jest bardziej restrykcyjną wersją GPL, ale czy można użyć kodu LGPL, dodawać (lub nie dodawać) i licencjonować jako GPL lub AGPL; czy kod GPL może być modyfikowany i licencjonowany jako AGPL?

DavidJFelix
źródło

Odpowiedzi:

4

Jeśli chodzi o LGPL i GPL, tak, LGPL jest przeznaczony do użycia w aplikacji GPL, a GPL dotyczy całej aplikacji, więc cała aplikacja z oryginalnym kodem LGPL byłaby GPL.

Tak naprawdę nie masz prawa do „licencjonowania” niczego, czego nie napisałeś. Jeśli jednak coś weźmiesz i dokonasz zmian, tworzysz pracę pochodną. Możesz wybrać sposób licencjonowania tej pochodnej pracy, ale tylko zgodnie z warunkami zawartego kodu. Możesz więc połączyć kod GPL i AGPL w jedną pracę i wygląda na to, że AGPL miałoby zastosowanie do całości. Zakładam, że byłoby podobnie z LGPL. Jednak nie można po prostu wziąć kodu GPL i ustawić go na AGPL, ponieważ to spowodowałoby ograniczenie, a nie sądzę, że można dodać ograniczenia do dzieła GPL.

Oczywiście staje się to owłosione i powinieneś zadać swoje konkretne pytanie prawnikowi.

Scott Whitlock
źródło
Rozumiem, że to programiści, a nie prawnicy, ale szczerze mówiąc, nie lubię rozmawiać z prawnikami i doszedłem do wniosku, że wszystkie 3 licencje są wspierane przez fundację GNU w taki sposób, że mogą uznać wzajemne użycie między nimi bardziej niż ja w stanie znaleźć.
DavidJFelix
2
@DavidJFelix - słyszę cię, ale prawa autorskie są bardziej skomplikowane niż tylko kilka prostych reguł, które możesz zastosować. Na przykład prawo uwzględni zamiar właściciela praw autorskich. Chciałbym, żeby było czarno-białe, ale tak nie jest.
Scott Whitlock,
@DavidJFelix, jeśli jesteś właścicielem praw autorskich do kodu, możesz ponownie licencjonować go na dowolną licencję, a nawet zamknąć źródło. Pamiętaj, że poprzednia wersja kodu nadal podlega oryginalnej licencji.
Onesimus Bez ograniczeń
Co o AGPL? Jeśli użyjesz kodu AGPL w swoim projekcie GPL, czy nadal możesz poddać całą aplikację tylko regułom GPL?
latarnia uliczna
Zazwyczaj i tak nie jesteś właścicielem praw autorskich, ponieważ być może będziesz musiał poprosić wszystkich, którzy wcześniej do tego przyczynili, nawet o literówkę.
SOFe
7

Nie możesz ponownie licencjonować kodu innej osoby, ale możesz zwolnić swój kod na licencji zgodnej ze wszystkimi licencjami na cały użyty kod. Na przykład projekt GPL może wykorzystywać kod licencjonowany z licencjami GPL, LGPL, BSD i MIT. (W zależności od wersji)

Zobacz często zadawane pytania na temat GPL, dla których licencje są ze sobą zgodne.

Należy również pamiętać o następujących licencjach, które nie są zgodne z GPL .

FigBug
źródło
4

Nie możesz ponownie licencjonować czyjegoś kodu bez jego zgody. Kropka.

vartec
źródło
5
Ale w GPL i LGPL istnieją wyraźne uprawnienia, które umożliwiają konwersję na inne licencje. Tak więc, dopóki jesteś technicznie poprawny, w rzeczywistości kod na tych licencjach może być licencjonowany na podstawie AGPL.
Sean McMillan
2
@Sean: nie, nie ma uprawnień do konwersji na inne licencje. Istnieją uprawnienia do łączenia z kodem na innych licencjach. Nie możesz po prostu wziąć czyjś kod LGPL i ponownie wydać go jako kod AGPL.
vartec
4
Jasne, ale ponieważ możesz wyodrębnić dowolną część połączonego dzieła na podstawie połączonej licencji, możesz skutecznie ponownie licencjonować. Jeśli A to LGPL, a B to GPL, to AB jest wydane na licencji GPL; możesz następnie usunąć B z połączonej pracy, pozostawiając ci coś, co jest efektywnie A na licencji GPL.
Sean McMillan,
2
@SeanMcMillan Zgaduję, że powstałe dzieło musi zawierać informacje o prawach autorskich i licencjach, że zawiera części projektu A, który jest licencjonowany na licencji LGPL. Więc ludzie nadal mogliby wydobywać czyste części A z tej pracy GPL i redystrybuować na licencji LGPL (tak sądzę, IANAL).
KajMagnus,
0

Nie możesz zmienić licencji na kod innej osoby. Jeśli korzystasz z biblioteki LGPLed X, nie możesz powstrzymać ludzi przed dalszym korzystaniem z X na licencji LGPL.

Sprawdzając pytanie z GPL FAQ , określa, że ​​LGPL 2.1 i nowsze wersje wyraźnie zezwalają na ponowne licencjonowanie w niektórych wersjach GPL. Oznaczałoby to, że kod LGPL 2.0 nie może być ponownie licencjonowany, jak sugerujesz.

Możesz oczywiście stworzyć własną pracę, w tym te, i licencjonować ją na podstawie dowolnej licencji zgodnej z używaną licencją LGPL, ale komponenty LGPL będą nadal stanowić licencję LGPL (chyba że skorzystasz z postanowień 2.1 i późniejszych).

David Thornley
źródło