Projektuję oprogramowanie jako projekt usługi, do którego dostęp będzie możliwy tylko online. Mogę mieć twardą zależność od pliku wykonywalnego objętego licencją GNU GPL (wersja 2 lub nowsza).
Rozumiem, że mój kod, jeśli miałbym go kiedykolwiek rozpowszechniać, musi być rozpowszechniany również na warunkach GPL. Jestem całkiem pewien, że uruchomienie usługi przez sieć nie przenosi / nie rozpowszechnia kodu. Czy mam zatem rację sądząc, że mogę korzystać z zależności GPL bez konieczności ujawniania całego mojego kodu?
Chciałbym podać konkretny przykład: Załóżmy, że projektuję w systemie przetwarzania dokumentów online, podobnym do Dokumentów Google. Chcę móc w zasadzie przesłać dowolny typ pliku do systemu i przekonwertować go na dowolny format wewnętrzny. Zamiast próbować zarysować konwerter, wolałbym użyć istniejącego programu, o którym wiem, że umożliwia konwersję. Ten program jest wykonywalny z licencją GNU GPL v2 (lub nowszą). Czy mogę legalnie posiadać oprogramowanie jako usługę bez podawania kodu źródłowego?
źródło
Odpowiedzi:
Z podanego opisu odpowiedź brzmi „nie, nie musisz tego ujawniać”. Albo polegasz na danych wyjściowych pliku wykonywalnego GPL, albo traktujesz go jako system, co stanowi dwa wyjątki od wirusowej natury GPL. Zagłęb się w GPL FAQ, a znajdziesz odpowiedzi na podstawie specyfiki twojego scenariusza.
źródło
IANAL, ale IMO, GPL mają tu trochę dwuznaczności (lub interpretacji). GPL daje dużo swobody, jeśli chodzi o „wykorzystanie”, ale ma wiele ograniczeń dotyczących „dystrybucji dzieł pochodnych”. Po pierwsze, dotyczy użycia vs dzieł pochodnych. Jeśli Twój kod „używa” tylko oprogramowania GPL, nie musisz rozpowszechniać kodu korzystającego z kodu GPL (jeśli jednak zmodyfikujesz sam kod GPLed, nadal musisz rozpowszechniać tę część swojej planowanej dystrybucji) zmiany), z drugiej strony, jeśli jest to uważane za pracę pochodną, musisz rozpowszechniać kod źródłowy. Jednym z kluczowych punktów jest to, czy kod działa w tej samej przestrzeni adresowej procesu co kod GPL,
Istnieje również dwuznaczność, czy świadczenie usługi internetowej umożliwiającej korzystanie z kodu GPL jest uważane za redystrybucję oprogramowania, czy po prostu sposób korzystania z oprogramowania. Myślę, że większość ludzi uważa, że samo świadczenie usługi internetowej nie podlega redystrybucji.
Najlepiej zapytaj autora oprogramowania, co sądzą o tym, co robisz. Najlepiej jest uszanować ich interpretację zamiast własnej interpretacji. W najgorszym razie, jeśli kiedykolwiek stanie się to problemem, możesz argumentować, że masz wyraźne pozwolenie od samych autorów lub miałbyś szansę znaleźć inną bardziej liberalną bibliotekę lub wynegocjować wyjątek.
źródło
GPL gives you a lot of freedom when it comes to "usage", but it does it lots of limitation concerning "distribution of derivative works"
. Chociaż ta część GPL jest dość prosta, w GPLv2 można interpretować, czy SaaS jest „użytkowaniem” czy „dystrybucją”. GPLv2 nie mówi nic o SaaS, ponieważ został zaprojektowany zanim SaaS był powszechny, dlatego dwuznaczność.