Java jest popularnym językiem programowania, używanym w wielu komercyjnych projektach. Jest ona dostępna w rozmaitych dystrybucjach i na różnych zasadach licencjonowania. To ważne, bo licencje przewidują różne zakresy uprawnień i obowiązków, a ich warunki ulegają zmianie w czasie. Dostawca oprogramowania powinien te kwestie śledzić – dla porządku i własnego bezpieczeństwa.

 

Java Javie nierówna

 

Dla przykładu, Java w dystrybucji OpenJDK podlega licencjonowaniu na zasadach GPLv2, co oznacza, że korzystanie z tego kodu wiąże się m.in. z następującymi kwestiami:

  • obowiązkiem udostępnienia kodu źródłowego użytkownikowi (co jednak nie oznacza ujawnienia go do domeny publicznej),
  • trudnością pogodzenia tajemnicy przedsiębiorstwa z koniecznością udostępnienia kodu źródłowego,
  • “zaraźliwością” (czy też “wirusowym” charakterem) licencji GPL w przypadku połączenia programów.

Open JDK dopuszcza odstępstwa od licencjonowania na zasadach GPLv2 (Classpath Exception), jest to jednak rozwiązanie o ograniczonych możliwościach zastosowania – dotyczy ono konkretnych plików oznaczonych jako dopuszczone do stosowania tego wyjątku (np. https://github.com/openjdk/jdk/blob/master/src/java.base/windows/classes/java/io/DefaultFileSystem.java)

 

Z kolei Oracle JDK, podlega licencjonowaniu na różnych zasadach – w zależności od stosowanej wersji. Ma to rozmaite skutki na gruncie komercyjnego wykorzystania tego środowiska. Duża zmiana w zasadach licencji Oracle JDK miała miejsce w 2019 r. – od tego momentu wiele działań z użyciem Javy wymagało opłat licencyjnych na rzecz Oracle, co spowodowało odejście niektórych podmiotów od programowania w Javie. Kolejna rewolucja licencyjna nastąpiła w 2021 r. na powrót umożliwiając szersze zastosowanie Javy bez opłat (szersze, ale nie absolutne).

 

W przypadku rozwiązań komercyjnych, pożądane jest by przeprowadzić audyt licencyjny oraz dokonać badania jakie działania z użyciem Oracle JDK wymagają licencji płatnych. Warto przeprowadzić weryfikację narzędzi Oracle, z których korzysta software house, bo może okazać się, że w ich ramach (np. Oracle Forms) dopuszczone jest wykorzystanie Javy w celach, które pozwolą wytworzyć własny produkt. Może być też jednak inaczej, lepiej sprawdzić.

 

Darmowa licencja dla wszystkich – czy aby na pewno?

 

Analizując rozmaite postanowienia licencyjne nie polecamy sugerowania się chwytliwymi nagłówkami internetowych artykułów mówiących o „darmowej licencji dla wszystkich”, ponieważ bywa tak, że licencja jest darmowa dla wszystkich, ale w bardzo ograniczonych celach (np. dla użytku wewnętrznego, ale nie do produktów przeznaczonych na sprzedaż).

 

Odrębną kwestią jest ustalenie na jakich warunkach klienci mogą korzystać z oprogramowania wyprodukowanego przez software house, jeżeli wymaga ono zainstalowania komponentów JRE (Java Runtime Edition) w infrastrukturze klienta. Tutaj również wkraczają licencje.

 

Legalność, bezpieczeństwo, finanse

 

Dlaczego powyższe kwestie są istotne? Ponieważ uporządkowanie praw własności intelektualnej jako głównego zasobu software house’u pozwala na ich optymalną monetyzację, a także chroni przed ewentualnymi roszczeniami podmiotów trzecich. Dla przykładu, Oracle posiada prawo audytu legalności oprogramowania wytworzonego z użyciem Oracle JDK. Choć dotychczas nie słyszało się w branży o korzystaniu z tego przywileju, lepiej wiedzieć, że istnieje.

 

Projektując postanowienia licencyjne produktu wytwarzanego przez software house nie można przejść obojętnie obok licencji komponentów programistycznych, które są w takim oprogramowaniu wykorzystywane. Zaraźliwość GPL ma tutaj ogromne znaczenie i może przekładać się na architekturę nie tylko umowy licencyjnej, ale samego oprogramowania.

 

Cyberbezpieczeństwo jest kolejnym istotnym aspektem przy ustalaniu jakie narzędzia i języki programowania wybrać. Zapewnienie od dostawcy kodu źródłowego aktualizacji, łat i wsparcia może okazać się istotnym argumentem w procesie decyzyjnym.

 

Kontrola nad licencjami pozwala także korzystać z dobrodziejstw systemu podatkowego, jak choćby IP BOX.

 

Nie zapominajmy o RODO

 

Legalność oprogramowania jest również istotna z punktu widzenia ochrony danych osobowych, które są przetwarzane przy jego użyciu. RODO wymaga konkretnych podstaw prawnych do przetwarzania danych osobowych, a także skutecznych fizycznych, technicznych i organizacyjnych środków bezpieczeństwa. Dobrą praktyką jest zatem sprzedaż oprogramowania, które jest bezpieczne dla klientów i nie wpędzi ich na minę cywilnoprawną (nieuprawnione korzystanie z programu), ani administracyjnoprawną – np. w ramach postępowania prowadzonego przez Prezesa Urzędu Ochrony Danych Osobowych.

 

Jako że wiele narzędzi IT jest obecnie dostarczanych w formule SaaS lub inkorporuje rozwiązania chmurowe, dochodzi do powierzenia oraz dalszego powierzenia przetwarzania danych osobowych. Dla zgodności z wymogami RODO dobrze jest uporządkować procesy przepływu danych osobowych między software housem a dostawcami rozmaitych usług, do czego może posłużyć między innymi uporządkowanie sfery licencyjnej.

 

Wizerunek i profesjonalizm

 

I ostatecznie – podstawowa uczciwość i zasady obrotu gospodarczego wymagają uprawnień do korzystania z cudzego dorobku (np. praw autorskich do kodu programu). Wzajemny szacunek i respektowanie praw jest podstawą do prowadzenia dojrzałego biznesu i budowania wartościowych relacji z partnerami.

 

Potrafimy wesprzeć software house’y w procesie audytu i porządkowania kwestii praw autorskich, ochrony danych osobowych, a także podatkowych. Nasz Zespół wykazuje duże zrozumienie technicznych aspektów rozwiązań IT, nie tracąc z oczu celów biznesowych. Dzięki temu jesteśmy gotowi zaproponować dopasowane rozwiązania do Państwa potrzeb. Zachęcamy do kontaktu w celu uzyskania szczegółowych informacji.

Kontakt

Logo LinkedIn Logo LinkedIn

Krzysztof Jarosiński

Partner, radca prawny, audytor wiodący ISO 27001