Embedded Linux licensing LGPL / GPL / etc [zamknięty]

Chciałbym wiedzieć, co muszę zrobić, aby zachować zgodność z licencjami różnych narzędzi i bibliotek oprogramowania open source, z których korzysta mój wbudowany system Linux.

Moja sytuacja wygląda następująco:

Mam wbudowany system Linux uruchomiony na urządzeniu wbudowanym. Wykorzystuje główny obraz systemu plików, który został dostarczony przez osobę trzecią wraz z toolchain, który jest używany do opracowania.

Dokonałem kilku modyfikacji obrazu głównego systemu plików dodając niektóre skompilowane programy open source (na różnych licencjach) i obecnie zawiera również Qt (LGPL).

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

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


Widziałem, że na Androidzie pliki i odpowiadająca im licencja są po prostu wymienione w długim pliku tekstowym. Czy konieczne jest wyświetlenie w ten sposób wszystkich poszczególnych plików lub czy istnieją inne sposoby rozwiązania tego problemu?

Jak to się zwykle robi?

Author: trenki, 2011-08-09

3 answers

Po pierwsze, jeśli jest jakakolwiek możliwość, że poniesie Pan stratę w wyniku złego licencjonowania, proszę udać się do prawdziwego prawnika. Internet nie jest prawdziwym prawnikiem i nie można pozwać Internetu za błąd w sztuce, jeśli daje złe rady.

Po drugie, nie jestem prawnikiem, tak jak większość ludzi tutaj. Poniżej przedstawiam moje podejście do rzeczy oparte na doświadczeniu na przestrzeni lat. Nie wiń mnie, jeśli posłuchasz mojej rady, a to odbije się na Tobie.

Po trzecie, Przeczytaj wszystkie licencje i upewnij się rozumiesz, co mówią. Jeśli nie, proszę o wyjaśnienie z mojego pierwszego punktu.

Czwarty:

GPL / LGPL nie wymaga podania źródła aplikacji. Wymagają podania źródła "na życzenie". Umieszczenie go na chronionej hasłem stronie internetowej lub przechowywanie kopii można nagrać na płytę CD i pocztę (można pobierać opłaty za płytę CD i opłatę pocztową), jeśli ktoś zapyta, wystarczy.

Jesteś zobowiązany do podania źródła do każdego rozpowszechnianego pliku binarnego, nawet jeśli te pliki binarne przyszły do ciebie od osoby trzeciej. JeĹ "li strona trzecia nie dostarczy Ci swojego ĹşrĂłdĹ' a, naleĹźy albo wskazaÄ ‡ wymagaĹ " GPL, albo znaleĹşÄ ‡ innego dostawcÄ.... Nie wystarcza kierowanie próśb o Kod GPL do dostawcy macierzystego lub strony internetowej niezmodyfikowanego pakietu, szczególnie jeśli pochodzi on od zewnętrznego dostawcy, który prawdopodobnie go zmodyfikował. Będziesz chciał uważać na dopasowanie poprawnej wersji kodu do każdego wydania binarnego, dzięki czemu możesz podaj źródło każdego wydania Twojego produktu.

NaleĹźy przypisaÄ ‡ caĹ ' e wolne (i nie-wolne) oprogramowanie i ich licencje. Niektóre licencje tego nie wymagają, niektóre (wczesne BSD) tak. Lepiej być bezpiecznym, niż żałować. Jest to również dobry sposób na pokazanie użytkownikowi, jakie są różne licencje i umożliwienie mu podjęcia decyzji o tym, czy używać produktu.

Będziesz chciał bardzo uważać na linkowanie, jeśli masz zastrzeżoną aplikację, która łączy [L] GPL kod. Istnieje możliwość, że możesz nieumyślnie połączyć kod z licencją wirusową (GPL) i wtedy masz kłopoty, jeśli ktoś zauważy i zażąda źródła. Upewnij się, że nie łączysz statycznie kodu LGPL z tego samego powodu (więcej: Czy Mogę wywoływać funkcje inline do funkcji zdefiniowanych w nagłówkach pakietów LGPL?).

Należy również rozważyć włączenie źródła dla łańcucha narzędzi, jeśli używasz niestandardowego kompilatora krzyżowego. Nie jestem pewien, czy GPL faktycznie wymaga tego, ale to trochę dranie, aby dać komuś źródło, a następnie nie być w stanie go skompilować i skierować na Twoje urządzenie. Znam przynajmniej jednego dostawcę , który to zrobił-zmodyfikował język i łatał kompilator. Nie rozpowszechniali kompilatora, więc nie mieli obowiązku podawania źródła. W rezultacie niemożliwe było zbudowanie z dostarczonego źródła, aby dopasować się do celu. AFIK przestali to robić, żebym nie wymieniał nazwisk.

 8
Author: Adam Hawes,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-05-23 12:13:47

Istnieją opcje multipe. Czy Twoje urządzenie jest wystarczająco duże, aby uwzględnić wszystkie źródła? Wysyłasz też płytę? Pewnie nie. Oznacza to, że musisz dołączyć ofertę pobierania dla wszystkich źródeł (i toolchain, jeśli jest wystarczająco nietypowy).

Nie musisz go rozkładać na bazie sourcefile, ale powinieneś odróżnić różne pakiety i ich licencje. W końcu nie chciałbyś sugerować, że stworzyłeś chimaerę z Linuksa i Qt. Będziesz także muszę wyjaśnić dla każdego pakietu, czy jest to GPLv2 czy GPLv3. Lista powinna być na tyle mała, aby zmieścić się na korzeniach; zakładam, że jest to widoczne z zewnątrz?

 2
Author: MSalters,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-08-09 10:39:01

Ten jest świetnym artykułem o tym, jak dostosować swój proces i system do zapewnienia zgodności z GPL.

Zauważ, że GPLv2 pozwala na złożenie oferty źródłowej, ale (zgodnie z artykułem) umieszczenie linku do pobrania na stronie internetowej nie jest wystarczające. Musisz podać źródło na " nośniku zwyczajowo używanym do wymiany oprogramowania."

 1
Author: Patrick,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-08-19 14:52:11