W rzeczywistości LGPL pozwala na łączenie statyczne, o ile spełnisz kilka bardzo konkretnych wymagań. Na przykład, jeśli wszystkie dystrybucja odbywa się od swojej stronie, gdzie trzeba StaticProgram.exe, jesteś w porządku tak długo, jak użytkownicy mogą również pobrać StaticProgram.obj i LGPL-Library source.tar.gz. Możesz również rozpowszechniać StaticProgram.exe z pisemną ofertą dostarczenia innych plików.
szczególności powiązanie statyczna tworzy pojedynczy plik wykonywalny, który jest pochodną LGPL, więc musi być zgodna z sekcją 6 licencji:
6), wyjątek do sekcji powyżej, może również połączyć lub powiązać „pracy, która wykorzystuje Bibliotekę” z Biblioteki produkować pracę zawierającą części Biblioteki i dystrybuować tę pracę pod względem wyboru, pod warunkiem że chodzi modyfikacja pozwolenie na pracę za na własny użytek klienta i odwrotnie inżynieria do debugowania takich modyfikacji .
Musisz dać widoczne na każdy egzemplarz pracy, że Biblioteka używanej w nim i że Biblioteka i jego stosowanie są objęte niniejszą Licencją. Należy dostarczyć kopię tej licencji . Jeśli podczas wykonywania pracy wyświetli się informacja o prawach autorskich, należy podać informację o prawach autorskich do Biblioteki , a także odwołanie kierujące użytkownika do kopii tej Licencji .Ponadto, należy wykonaj jedną z tych rzeczy:
a) Dołączyć do pracy z pełną odpowiadającej kodu źródłowego do odczytu maszynowego dla biblioteki tym cokolwiek zmienia zostały wykorzystane w pracy (który musi być rozpowszechniany Sekcje 1 i 2 powyżej); i, jeśli praca jest wykonywalny związana z Biblioteką, z pełnego odczytu maszynowego „pracy, która wykorzystuje Bibliotekę”, jako kodu wynikowego i/lub kodu źródłowego, więc że użytkownik może modyfikować Bibliotekę a następnie połączyć ponownie, aby utworzyć zmodyfikowany plik wykonywalny zawierający zmodyfikowaną bibliotekę . (Jest zrozumiałe, że użytkownik który zmienia zawartość definicje plików w Bibliotece będzie niekoniecznie móc skompilować aplikację do korzystania zmodyfikowane definicje.)
b) Użyć odpowiedniego wspólny mechanizm biblioteki do łączenia z biblioteką . Odpowiedni mechanizm jest jednym , że (1) wykorzystuje w czasie wykonywania kopii biblioteka już obecny w systemie komputerowym użytkownika, zamiast funkcji bibliotecznych kopiowanie do wykonywalnego, oraz (2) będzie działać prawidłowo z zmodyfikowana wersja biblioteki, jeśli użytkownik ją zainstaluje, , o ile zmodyfikowana wersja jest zgodna z interfejsem z wersją , z którą praca została wykonana.
c) towarzyszyć pracę pisemną ofertę, ważną co najmniej trzy lata, aby dać ten sam użytkownik materiały określony w podpunkcie 6a, powyżej, za opłatą nie wyższą niż koszt wykonywania tego dystrybucja.
d) jeśli rozkład pracy jest przez oferowanie dostępu do kopiowania z wyznaczonym miejscu, oferują jednakowy dostęp do kopiowania powyżej wymienione materiały z tej samej miejscu. e) Sprawdź, czy użytkownik otrzymał już kopie tych materiałów lub, że masz już wysłał temu użytkownikowi kopię.
Dla pliku wykonywalnego, wymagana forma z „pracy, która wykorzystuje Bibliotekę” musi zawierać wszelkie dane i programy użytkowe potrzebne do reprodukcji wykonywalny z niego. Jednakże, jako wyjątek specjalny, materiały do nie musi obejmować coś która jest zwykle rozproszony (w albo źródłowego lub binarnej) z (kompilator, jądra i tak dalej) z działającym system na , w którym wykonywany jest plik wykonywalny, chyba że ten sam komponent jest dołączony do pliku wykonywalnego .
Może się zdarzyć, że ten wymóg sprzeczne ograniczenia licencyjne innych zastrzeżonych bibliotek, które wykonują zwykle nie towarzyszą system operacyjny .Taka sprzeczność oznacza, że nie można używać ich razem z Biblioteką w pliku wykonywalnym, który rozpowszechnia się w postaci .
No cóż. Dziękuję za odpowiedź. – PythonGem
Możesz użyć linku statycznego, jeśli rozpowszechniasz również kod obiektowy. –
Przeczytaj LGPL wersja 2.1 sekcja 6. Ta odpowiedź jest niepoprawna. – Kevin