2011-08-09 10 views
7

Chciałbym wiedzieć, co muszę zrobić, aby dostosować się do licencji różnych narzędzi i bibliotek oprogramowania open source, które wykorzystuje mój wbudowany system Linux.Embedded Linux licencja LGPL/GPL/etc

Moja sytuacja jest następująca:

mam wbudowany system Linux działa na wbudowanym urządzeniu. Wykorzystuje obraz systemu plików root, który został dostarczony przez stronę trzecią wraz z łańcuchem narzędzi, który jest używany do rozwoju.

Dokonałem pewnych modyfikacji głównego obrazu systemu plików, dodając kilka skompilowanych programów open source (na różnych licencjach), a teraz również zawiera Qt (LGPL).

Moje aplikacje dynamicznie łączą się z bibliotekami w głównym systemie plików, a także używają Qt.

Urządzenia dostarczane są do użytkownika końcowego z preinstalowanym jądrem, rootfs i aplikacją. Aplikacja zawierająca rootfs i ewentualnie jądro może zostać zaktualizowana/zaktualizowana.


Widziałem, że na Androidzie pliki i ich odpowiednia licencja są po prostu wymienione w długim pliku tekstowym. Czy jest konieczne, aby lista wszystkich poszczególnych plików w ten sposób lub czy istnieją inne sposoby radzenia sobie z tym problemem?

Jak to zwykle robi się?

+5

Głosuję, aby zamknąć to pytanie jako nietypowe, ponieważ ** dotyczy kwestii licencyjnych lub prawnych **, a nie programowania lub tworzenia oprogramowania. [Zobacz tutaj] (http://meta.stackoverflow.com/a/274964/1402846), aby uzyskać szczegółowe informacje, oraz [pomoc/temat], aby uzyskać więcej informacji. –

Odpowiedz

7

Po pierwsze, jeśli istnieje możliwość poniesienia straty w wyniku niewłaściwego licencjonowania, należy udać się do prawdziwego prawnika. Internet NIE jest prawdziwym prawnikiem i nie można pozwać Internetu za nieuczciwe praktyki, jeśli daje złe rady.

Po drugie, nie jestem prawnikiem, nie ma tu też większości ludzi. Oto moje podejście do rzeczy oparte na doświadczeniu z biegiem lat. Nie obwiniaj mnie, jeśli postąpisz zgodnie z moją radą, a to cię nie interesuje.

Po trzecie, przeczytaj WSZYSTKIE licencje i upewnij się, że rozumiesz, co mówią. Jeśli nie, szukaj wyjaśnień z mojego pierwszego punktu.

czwarte:

GPL/LGPL zrobić bez wymogu przedstawiania źródła z aplikacji. Wymagają podania źródła "na żądanie". Umieszczenie go na chronionej hasłem stronie internetowej lub zachowanie kopii, którą można nagrać na płytę CD i pocztę (można pobierać opłaty za płytę CD i pocztę), jeśli ktoś o to poprosi, jest wystarczający.

Jesteś zobowiązany dostarczyć źródło każdej dystrybuowanej przez Ciebie dystrybucji binarnej, nawet jeśli pliki binarne zostały dostarczone przez osobę trzecią. Jeśli strona trzecia nie dostarczy Ci swojego źródła, powinieneś wskazać wymagania GPL lub znaleźć innego dostawcę.Nie wystarczy kierować wniosków o kod GPL do sprzedawcy lub strony internetowej dla niezmodyfikowanego pakietu, szczególnie jeśli pochodzi on od dostawcy będącego stroną trzecią, który prawdopodobnie go zmodyfikował. Będziesz chciał zachować ostrożność, dopasowując poprawną wersję kodu do każdej wprowadzonej wersji binarnej, abyś mógł dostarczyć źródło do konkretnej wersji Twojego produktu.

Należy przypisać wszystkie bezpłatne (i niewolne) oprogramowanie i ich licencje. Niektóre licencje tego nie wymagają, niektóre (wczesne BSD). Lepiej być bezpiecznym niż potem przepraszać. Jest to również dobry sposób pokazania użytkownikowi, jakie są różne licencje i umożliwienia im podjęcia decyzji o korzystaniu z produktu.

Będziesz chciał bardzo uważać na łączenie, jeśli masz zastrzeżoną aplikację łączącą kod [L] GPL. Istnieje możliwość, że możesz nieumyślnie połączyć kod z licencją wirusową (GPL), a wtedy masz kłopoty, jeśli ktoś zauważy i zażąda źródła. Upewnij się, że nie statycznie łączysz kodu LGPL z tego samego powodu (Więcej: Can I inline function calls to functions defined in headers of LGPL packages?).

Należy również rozważyć uwzględnienie źródła dla łańcucha narzędzi, jeśli używasz niestandardowego kompilatora krzyżowego. Nie jestem pewien, czy GPL rzeczywiście tego wymaga, ale jest to trochę bękartowy posunięcie, aby dać komuś źródło, a następnie nie będzie w stanie go skompilować i skierować do urządzenia. Jestem świadomy co najmniej jednego dostawcy, który to zrobił - trochę zmodyfikowali język i poprawili swój kompilator. Nie rozpowszechniali kompilatora, więc nie musieli przekazywać źródła. W rezultacie niemożliwe było zbudowanie z dostarczonego źródła w celu dopasowania do celu. AFIK przestali to robić, więc nie będę wymieniać nazwisk.

2

Dostępne są różne opcje. Czy Twoje urządzenie jest wystarczająco duże, aby uwzględnić wszystkie źródła? Czy wysyłasz także płytę CD? Prawdopodobnie nie. Oznacza to, że musisz dołączyć ofertę pobierania dla wszystkich źródeł (i zestawu narzędzi, jeśli jest wystarczająco nietypowy).

Nie musisz rozbijać go na bazie plików źródłowych, ale powinieneś odróżnić różne pakiety i ich odpowiednie licencje. W końcu nie chciałbyś sugerować, że stworzyłeś chimerę z Linuksa i Qt. Będziesz musiał również wyjaśnić w pakiecie, czy jest to GPLv2 czy GPLv3. Lista powinna być wtedy wystarczająco mała, aby zmieściła się na rootfach; Zakładam, że jest to widoczne z zewnątrz?

1

This to świetny artykuł o tym, jak dostosować proces i system, aby zapewnić zgodność z GPL.

Należy pamiętać, że GPLv2 umożliwia złożenie oferty na źródło, ale (zgodnie z artykułem) umieszczenie linku do pobierania na stronie internetowej nie jest wystarczające. Musisz podać źródło na "nośniku zwykle używanym do wymiany oprogramowania".