Strona główna » Blog » Licencja GPL – wirusowość i przekazywanie

Licencja GPL – wirusowość i przekazywanie

Kilka słów o dwóch istotnych sprawach związanych z GPL: wirusową naturą oraz przekazywaniem programu i jego kodu.

Wirusowość

Licencja GPL jest licencją wirusową, tzn. oprogramowanie nią objęte „zaraża” nią każde inne oprogramowanie w skład którego wejdzie.

Przykład: system bazodanowy MySQL może być albo uzyskany na zasadzie płatnej licencji komercyjnej albo bezpłatnie na zasadzie licencji GPL. Jeżeli ktoś stworzy nowe oprogramowanie, które będzie działać poprawnie wtedy, gdy baza danych będzie oparta o bezpłatną wersję MySQL, wówczas to oprogramowanie również staje się licencjonowanym na zasadzie GPL.

Biblioteki klienckie MySQL są również objęte licencją GPL. Oznacza to, że nawet jeżeli dana aplikacja nie korzysta wyłącznie z MySQL (jest to wymienny a może nawet w ogóle opcjonalny komponent aplikacji), ale biblioteki klienckie są jej częścią, to powinna być ona być objęta licencją GPL. Ponieważ dla wielu producentów oprogramowania jest to bardzo kłopotliwe, firma Oracle, właściciel MySQL, opracowała specjalne wyjątki od licencji GPL. Należy sprawdzić czy się spełnia.

Przekazywanie oprogramowania

Jeżeli przekazujesz komuś program wykonany na licencji GPL musisz przekazać tej konkretnej osobie kod źródłowy tego programu albo zapewnić bezpłatny dostęp do tego kodu. Jakkolwiek dostęp do kodu jest bezpłatny i za sam kod nie możesz pobierać opłat, to za przekazywanie możesz żądać zapłaty.

Przekazywanie nie ma natury publicznej: zachodzi jedynie między Tobą a Twoim odbiorcą. Żadna trzecia osoba nie może nagle się pojawić i żądać od Ciebie przekazania jej kodu źródłowego ot tak po prostu. Warto zwrócić uwagę, że nawet jeżeli Twój odbiorca upubliczni odebrany od Ciebie kod – do czego ma pełne prawo – to nawet wtedy nikt nie może konkretnie od Ciebie żądać przekazywania czegokolwiek.

Warto tutaj jeszcze dodać, że jeżeli oferujesz usługę a nie oprogramowanie, to naturalnie nikomu nic nie przekazujesz. Nie musisz ujawniać kodu źródłowego aplikacji internetowej objętej licencją GPL, jeżeli służy ona do świadczenia usługi, bo nikomu jej nie przekazałeś.

Przekazywanie można rozumieć w kategoriach przenoszenia oprogramowania pomiędzy sprzętem. Przekazanie to przeniesienie z jednego komputera na drugi, z jednego serwera na inny – należący do kogoś innego. I dlatego też niektórzy dostawcy oprogramowania, które musi działać na fizycznym urządzeniu stojącym u klienta (np. oprogramowanie urządzeń medycznych), aby uniknąć ujawniania kodu źródłowego, wolą wypożyczyć całą maszynę z oprogramowaniem, bo formalnie nie zachodzi wówczas przekazanie.

Warto zauważyć, że, gdy ktoś chce rozpowszechniać swoją aplikację jako paczkę binarną a dostęp do kodu zapewniać tylko zainteresowanym, powstają dwa przekazywania: przekazywanie programu i przekazywanie kodu. Oba mogą być objęte oddzielnymi opłatami, ale przekazywanie kodu nie może być droższe od przekazania pakietu binarnego.