Witam,
szukam od jakiegoś czasu odpowiedzi na nurtujące mnie pytanie odnoszące się do łączenia licencji GPL z kodem zamkniętym.
W skrócie: Czy mogę wykorzystać komercyjną bibliotekę w programie opartym na GPL?
Żeby było jasne, chodzi mi o zależność A -> B, gdzie A jest kodem opartym na GPL a B jest kodem zamkniętym. Nie odwrotnie :)
Przykład:
Załóżmy że tworzę oprogramowanie "A_Program" które m.in. korzysta z bibliotek: "G_Lib" (na licencji GPL) oraz z biblioteki ("B_Lib" kod zamknięty). Sam program "A_Program" byłby oparty również na licencji GPL.
Pytania:
- Czy to jest legalne z poziomu GPL ?
- Co w przypadku kiedy to ja jestem autorem "A_Program" i "B_Lib" ? - niektórzy pewnie się domyślili że to do tego zmierzam :D
- Znacie jakieś źródło które się odnoś do podobnego problemu ?
- Znacie może jakieś oprogramowanie/biblioteki które robią coś podobnego ?
Dodatkowe punkty:
- Oczywistym jest to że źródła programu "A_Program" nie są kompletne - ktoś kto będzie chciał zbudować/uruchomić program będzie musiał posiadać prawa do biblioteki "B_Lib".
- Program "A_Program" jest tworzony wyłącznie z myślą użycia biblioteki "B_Lib" - bez niej nie ma sensu go pisać
- Biblioteka "B_Lib" jest nieświadoma istnienia "A_program" oraz "G_Lib".
- Biblioteka "B_Lib" nie linkuje biblioteki "G_Lib" ani żadnej innej opartej na GPL ( czy innej podobnej licencji)
- Biblioteka "B_Lib" może być dystrybuowana samodzielnie
- Cały 'biznes' opiera się właśnie na funkcjonalności "B_Lib". Zawiera one logikę domenową popartą własnymi badaniami naukowymi.
- W przyszłości "A_Program" i "G_Lib" mogą być zastąpione czymś innym.
Zanim zaczniecie mnie osądzać o nie etyczne ukrywanie kodu :), chciałbym zaznaczyć że "B_Lib" powstałaby w oparciu o własne badania naukowe we współpracy z innymi instytucjami m.in. uczelnią. W "B_Lib" zawarta jest pewna wartość intelektualna.
Poniżej cytuję informację którą znalazłem na www.gnu.org, nie do końca wiem jak ja zinterpretować.
Źródło: https://www.gnu.org/licenses/gpl-faq.pl.html#FSWithNFLibs
Czy mogę pisać wolne oprogramowanie korzystające z bibliotek, które nie są wolne?
Jeśli to zrobisz, to Twój program nie będzie w pełni użyteczny w wolnym środowisku. Jeżeli twemu programowi do wykonania pewnego zadania konieczna jest biblioteka, która nie jest wolna, to nie może on wykonać tego zadania w Wolnym Świecie. Jeśli do tego, by w ogóle się uruchomić zależy od biblioteki, która nie jest wolna, nie może być częścią wolnego systemu operacyjnego, takiego jak GNU. Jest całkowicie poza granicami Wolnego Świata.
Więc zastanów się, prosimy: czy możesz znaleźć sposób wykonania zadania bez użycia tej biblioteki? Czy możesz napisać wolny zastępnik tej biblioteki?
Jeśli program jest już napisany z wykorzystaniem biblioteki, która nie jest wolna, być może jest już za późno na zmianę decyzji. Równie dobrze możesz wypuścić program, jaki jest, zamiast nie wypuszczać go wcale. Wspomnij jednak, prosimy, w pliku README, że wadą jest potrzeba użycia biblioteki, która nie jest wolna, i zasugeruj pracę nad zmianą programu tak, aby wykonywał to samo zadanie bez niej. Prosimy, podpowiadaj każdemu, kto zastanawia się nad zaangażowaniem się w poważniejszą pracę nad tym programem, żeby najpierw uwolnił go od zależności od niewolnej biblioteki.
Zwróć uwagę, że łączenie niektórych niewolnych bibliotek z Wolnym Oprogramowaniem objętym GPL może rodzić również problemy prawne. Więcej szczegółów na ten temat znajdziesz w odpowiedzi na pytanie o programy GPL z bibliotekami niezgodnymi z GPL.
Nie udało mi się znaleźć odpowiedzi na to pytanie na 4programmers ani an google. Z góry przepraszam jeżeli wątek okazał by się duplikatem :)
Pozdrawiam,
Daniel