Tworzę aplikację ruby open source na licencji MIT. Korzystam z tej licencji, ponieważ nie chcę nakładać żadnych ograniczeń na użytkowników aplikacji. Mogę też przeczytać i zrozumieć tę licencję.
Niedawno zacząłem używać innego rubinowego klejnotu w moim projekcie (wymaga „somegem”). Ten rubinowy klejnot jest objęty licencją LGPL.
Czy muszę coś zmienić w swoim projekcie, ponieważ używam tego innego klejnotu rubinowego, który jest licencjonowany na licencji LGPL? Mój projekt nie zawiera kodu źródłowego drugiego klejnotu i nie jest dostarczany z moim projektem. Jest po prostu wymieniony jako zależność, dzięki czemu ruby zostaną zainstalowane, a mój projekt wywoła go z mojego kodu.
Ponadto dobrze byłoby wiedzieć, czy są jakieś licencje, na które muszę „uważać”, ponieważ ich użycie wpłynęłoby na licencję mojego projektu.
Istnieje kilka innych postów na ten temat, ale sformułowanych na różne sposoby. Ponieważ uważam tę licencję za trudną, mam nadzieję, że otrzymam odpowiedź dotyczącą mojej sytuacji.
Dziękuję,
Corsen
źródło
Odpowiedzi:
Nie wpływa
LGPL - skrót od Lesser GPL (w znaczeniu Library GPL). Istotną różnicą w stosunku do GPL jest to, że nie narzuca licencji na oprogramowanie korzystające z biblioteki. Tylko jeśli zmodyfikujesz bibliotekę lub bezpośrednio dodasz części kodu do swojego oprogramowania, wówczas kod będzie musiał być LGPL. Z drugiej strony, jeśli używasz klejnotu w swojej aplikacji, możesz zachować swoją aplikację z dowolną licencją.
Wspomniana część LGPL:
źródło
Oprogramowanie LGPL jest zależnością twojego oprogramowania. Więc tak naprawdę jest częścią twojego oprogramowania. LGPL pozwala na korzystanie z niewolnego oprogramowania (podczas gdy MIT jest nawet wolnym oprogramowaniem), więc bycie zależnym nie jest blokerem.
Jednak ponieważ jest to zależność, musisz podać jej kod źródłowy, jeśli rozpowszechniasz swoje oprogramowanie. Nie mam pojęcia, czy wymagany mechanizm w rubinie zawsze zapewnia również źródła. Jeśli tak, powiedziałbym, że już rozpowszechniasz ze źródłami. Jeśli nie, musisz zadbać o to, aby dla każdej wersji tego klejnotu, której potrzebujesz z oprogramowaniem, dla którego udostępniasz źródła.
Prawdopodobnie i tak powinieneś zadbać o źródła, ponieważ być może projekt innej firmy (klejnot) przejdzie w tryb offline, a twój projekt zostanie zepsuty, ponieważ wymaga już nieistniejącego klejnotu.
To nie jest porada prawna, tylko z perspektywy programisty. Weź pod uwagę, że użytkownicy twojego oprogramowania pytają o źródła, ponieważ oprogramowanie korzysta z biblioteki i może być postrzegane jako dystrybucja, ponieważ
require "somegem"
tam napisałeś . Prawna definicja dystrybucji może nie odpowiadać codziennym oczekiwaniom programistów dotyczącym nagrywania plików na dysku CD-ROM. Dlatego mądrze jest mieć szerszą koncepcję, aby zachować proaktywność na wypadek, gdyby sprawy nie potoczyły się zgodnie z oczekiwaniami.źródło