Umowa licencyjna udostępniająca oprogramowanie komputerowe

Umowa licencyjna jest jedną z najczęściej stosowanych form prawnych udostępnienia oprogramowania komputerowego. Dzieje się tak ponieważ, umowa ta pozwala na maksymalizację zysku podmiotu praw do danego oprogamowania.

Umowa licencyjna jest jedną z najczęściej stosowanych form prawnych udostępnienia oprogramowania komputerowego. Dzieje się tak ponieważ, umowa ta pozwala na maksymalizację zysku podmiotu praw do danego oprogamowania.

W jej wyniku podmiot ten nie wyzbywa się praw wyłącznych (np. autorskich praw majątkowych) do oprogramowania i może udostępniać go wielu użytkownikom. Także treść umowy licencyjnej nakłada na użytkownika szereg obowiązków chroniących prawa licencjodawcy. Prawa te podlegają ochronie kumulowanej tzn. wynikającej z uregulowań, najczęściej prawno-autorskich i z treści samej umowy. Umowa licencyjna pozwala też licencjodawcy kontrolować modyfikacje oprogramowania i związane z nim know-how, wytworzone przez licencjobiorców. Ułatwia to utrzymanie pozycji rynkowej licencjodawcy.

Przedmiot umowy: Przedmiotem umowy jest program komputerowy w postaci kodu wynikowego. Niekiedy w ramach umowy licencyjnej udostępniany jest także kod źródłowy. Oprócz samego programu jej przedmiotem mogą być także opisy programu oraz związane z nim materiały pomocnicze.

Ze względu na stopień dostosowania do potrzeb użytkownika oprogramowanie można podzielić na: - Pakiet, czyli obiekt softwerowy o stałych, w sensie oferty rynkowej, parametrach. Pakiet wytwarzany jest w celu zaspokojenia potrzeb rynku, a nie zapotrzebowania poszczególnych użytkowników. - Produkt dostosowany, czyli program komputerowy, wytworzony zgodnie z zapotrzebowaniem indywidualnego użytkownika, w celu zaspokojenia jego specyficznych potrzeb wraz ze stworzonym do tego programu opisem oraz materiałami pomocniczymi. - Pakiet dostosowany, czyli pakiet zmodyfikowany tak, aby odpowiadał zapotrzebowaniu indywidualnego użytkownika, wraz z opisem tego programu i materiałami pomocniczymi uwzględniającymi dokonane modyfikacje.

W praktyce, wartość oprogramowania wpływa na treść umowy licencyjnej. Licencje shrink-wrap często udostępniające pakiety takie jak np. edytory tekstów są ograniczone w swej treści w porównaniu z umowami licencyjnymi udostępniającymi np. oprogramowanie finansowo-księgowe dla banków. Nie oznacza to jednak, że umowa licencyjna udostępniająca oprogramowanie o nieznacznej wartości rynkowej, nie może być równie skomplikowana. Prezentowany artykuł omawia wybrane aspekty umowy licencyjnej, której przedmiotem jest oprogramowanie o znacznej wartości rynkowej.

Rozpoznanie ofertowe - zawarcie przez użytkownika umowy licencyjnej, udostępniającej oprogramowanie komputerowe o znacznej wartości rynkowej, powinno poprzedzić wnikliwe rozpoznanie ofertowe. Najczęściej występujące elementy takiego rozpoznania, to uzyskanie informacji o samym oprogramowaniu, cena oraz warunki udostępnienia tzn. treść samej umowy. Ważnym elementem jest także pozycja rynkowa potencjalnego licencjodawcy. Upadłość licencjodawcy stawia licencjobiorcę w wyjątkowo niedogodnej sytuacji jeżeli chodzi o używanie udostępnionego oprogramowania (np. brak dalszych modyfikacji oprogramowania wytwarzanych przez ten podmiot).

Specyfikacje w większości spotykanych umów licencyjnych, parametry oprogramowania określone są w części zwanej specyfikacją. Najczęściej specyfikacje występują w postaci załączników lub ankesów do umowy. W praktyce w przypadku pakietu, specyfikacje określane są przez licencjodawcę. Jeżeli chodzi o pakiet dostosowany lub produkt dostosowany, z punktu widzenia interesów stron istotnym jest, aby specyfikacje były ustalane wspólnie. Treść specyfikacji jest wyjątkowo istotna dla późniejszej realizacji postanowień samej umowy (np. odpowiedzialność za wady). Treść specyfikacji powinna w miarę możliwości szczegółowo określać sam program (lub jego wersję), platformę hardwerową oraz dokumentację tego programu w postaci opisów i materiałów pomocniczych.

Dostawa, instalacja, akceptacja. Zwykle miejscem dostawy jest miejsce lokacji platoformy hardwerowej określone poprzez wskazanie adresu. Warto zauważyć, że wielokrotnie umowa licencyjna zezwala na używanie oprogramowania w konkretnym miejscu lokacji. Możliwość używania oprogramowania w innych miejscach traktowana jest jako rozszerzenie zakresu licencji i powoduje konieczność wniesienia dodatkowych opłat na rzecz licencjodawcy.

Instalacja zwykle dokonywana jest przez personel licencjodawcy. Współudział personelu licencjobiorcy w czynnościach instalacyjnych jest pożądany ze względów poznawczych, szczególnie w przypadku pakietu dostosowanego lub produktu dostosowanego. W tym jednak przypadku, licencjobiorca musi liczyć się z możliwością ograniczania lub wyłączenia odpowiedzialności licencjodawcy w przypadku wadliwie dokonanej instalacji. W sytuacji, gdy licencjobiorca nie posiada platformy hardwerowej, wskazanej treścią umowy w chwili jej podpisania, oznaczenie "sztywnych" terminów instalacji i akceptacji oprogramowania jest ryzykowne z punktu widzenia realizacji tej umowy. Opóźnienia w dostawach sprzętu hardwerowego są częstym zjawiskiem. Stąd, wskazanym wydaje się uzależnienie terminów instalacji (a więc terminów akceptacji oprogramowania) od momentu pozytywnego zakończenia testów dostarczonego wyposażenia sprzętowego. Takie rozwiązania warto zastosować szczególnie wówczas, gdy wyposażenie sprzętowe i oprogramowanie pochodzą z różnych źródeł. Należy także zauważyć, że przeniesienie udostępnionego oprogramowania na bardziej zaawansowaną platformę hardwerową może być traktowane jako rozszerzenie licencji, powodujące konieczność wniesienia na rzecz licencjobiorcy dodatkowych opłat.

Początek biegu terminu akceptacji powinien być liczony od chwili zakończenia instalacji oprogramowania. Licencjodawca dąży do skrócenia okresu akceptacji ze względu na często występujące uzależnienie płatności rat licencyjnych od pozytywnego jej zakończenia. Użytkownik, w ramach negocjacji kontraktu, powinien dążyć do uzyskania terminu akceptacji pozwalającego, w opinii personelu informatycznego użytkownika, na przeprowadzenie szczegółowych testów akceptacyjnych. Należy jednak brać pod uwagę interes licencjodawcy, tzn. kwestię terminu świadczeń na rzecz tego podmiotu, wynikającą z pozytywnego zakończenia testów akceptacyjnych. Pożądanym jest, aby testy akceptacyjne przeprowadzał personel obydwu ze stron i by sporządzone zostały protokoły z przeprowadzenia tych testów, podpisywane przez upoważnionych przedstawicieli stron.

Szkolenia

Szkolenia prowadzone przez licencjobiorcę, są istotnym elementem udostępnienia oprogramowania o znacznej wartości rynkowej. Szkolenia mogą być prowadzone w każdym czasie obowiązywania umowy. Zwykle, umowa określa liczbę szkoleń (np. w dniach) udzielanych bezpłatnie oraz przewiduje możliwość korzystania przez licencjobiorcę z dalszych odpłatnych szkoleń.

W początkowym etapie od jakości szkoleń zależy przyszłe niezakłócone używanie przez licencjobiorcę udostępnionego oprogramowania. W etapie późniejszym licencjobiorca, w wyniku posługiwania się oprogramowaniem, nabiera wiedzy i doświadczeń, dotyczących zarówno wykorzystania samego programu jak i rozwiązywania problemów pojawiających się w trakcie jego używania. Dlatego jakość szkoleń nie odgrywa tak znaczącej roli na etapie "zaawansowanego" korzystania przez licencjobiorcę z udostępnionego oprogramowania.

"Podtrzymywanie" programu

"Podtrzymywanie" (maintenance) programu, dokonywane jest przez licencjobiorcę lub osobę trzecią - przez niego wskazaną - w wyniku zawarcia umowy stałego zlecenia usług serwisowych, między tym podmiotem a licencjobiorcą. Kwestie te mogą być także regulowane w całości lub w części w umowie licencyjnej. Korzystanie z "podtrzymywania" zależy od decyzji licencjobiorcy; w praktyce jednak większość licencjobiorców zawiera tego typu umowy. W zamian za dostęp do "podtrzymywania" licencjobiorca uiszcza na rzecz podmiotu świadczącego te usługi opłatę w jednostce czasu (np. 12% ceny wszystkich udostępnionych modułów w skali roku). Rozwiązanie umowy licencyjnej powoduje rozwiązanie umowy "o podtrzymywanie".

Kod źródłowy

Kod źródłowy może być udostępniony wraz z kodem wynikowym. Jednak w większości wypadków, licencjodawca unika wydania kodu źródłowego. W sytuacji, gdy licencjobiorca nie ma dostępu do kodu źródłowego, niekiedy stosuje się umowy o przechowanie kodu źródłowego (escrow agreements). Kopia kodu źródłowego przechowywana jest przez osobę trzecią (stake- holder) na koszt jednej lub obydwu stron umowy. Przechowujący zobowiązany jest do wydania kodu źródłowego jeżeli zajdą okoliczności przewidziane literą umowy "o przechowanie". Licencjodawca zobowiązany jest do składania na przechowanie tych wersji kodu źródłowego, których kod wynikowy używany jest przez licencjobiorcę (np. ma to miejsce, gdy użytkownik otrzymuje modyfikacje danego programu komputerowego albo jego dalsze moduły). Ryzyko związane z otrzymaniem kodu źródłowego, nieadekwatnego do kodu wynikowego, w zasadzie ciąży na licencjobiorcy. Rzadko bowiem podmiot przechowujący kod źródłowy zgodzi się na obciążenie go obowiązkiem uzyskiwania wersji kodu źródłowego, adekwatnej do kodu wynikowego, będącego w danym momencie w posiadaniu licencjobiorcy. Spowodowane jest to ponoszeniem znacznej odpowiedzialności wobec tego podmiotu w sytuacji, gdy okazuje się, że licencjobiorcy wydany zostaje kod źródłowy nieadekwatny do kodu wynikowego, będącego w jego posiadaniu. Natomiast ograniczenie lub wyłączenie odpowiedzialności podmiotu przechowującego wobec licencjobiorcy nie stwarza przesłanek gwarantujących temu ostatniemu, że podmiot przechowujący dołoży wszelkich możliwych starań w celu uzyskania adekwatnych wersji kodu źródłowego.

Płatności

Podstawą dla określenia świadczeń licencjobiorcy jest cena udostępnionego oprogramowania (np. suma cen poszczególnych modułów). Zasadniczo licencjodawca unika negocjowania ceny oprogramowania, argumentując, że cena ta jest stała dla wszystkich członków grupy licencyjnej. Często też zdarza się, że cena ta nie jest ceną stałą, ale wzrasta w danym okresie (np. w przeciągu roku) o jakiś procent, ze względu na wprowadzane w tym czasie modyfikacje. Oznacza to, że cena modułów zakupionych np. w rok po podpisaniu umowy może być większa od ceny oferowanej w chwili jej podpisania.

Cena udostępnionych modułów często kształtuje wartość innych świadczeń, np. wynikających z tytułu udostępnienia kodu źródłowego, "podtrzymywania" oprogramowania, przeniesienia oprogramowania na bardziej zaawansowaną technologicznie platformę hardwerową, czy teź rozszerzenia klauzuli lokacyjnej.

Zwykłe świadczenia licencjobiorcy rozłożone są na raty, wymagane od chwili realizacji poszczególnych etapów umowy (podpisania umowy, instalacji, akceptacji itd). Licencjodawca dąży do koncentracji terminów płatności tzn. uzyskania jak największej ilości rat w jak najkrótszym okresie licząc np. od chwili podpisania umowy. Natomiast z punktu widzenia interesów licencjobiorcy istotnym jest, aby jak największa część ceny płatna była po zakończeniu okresu w którym licencjodawca podnosi odpowiedzialność za wady oprogramowania.

Odpowiedzialność za wady

Odpowiedzialność za wady udostępnionego oprogramowania może wystąpić jako odpowiedzialność za wady prawne (np. licencjodawca nie był uprawniony do udzielenia licencji) oraz jako odpowiedzialność za wady "fizyczne" (np. gdy program nie funkcjonuje na wskazanej umową platformie hardwerowej). Odpowiedzialność za wady obejmuje również opisy programu i materiały pomocnicze. W przypadku umów licencyjnych udostępniających oprogramowanie komputerowe stosowanie uregulowań odpowiedzialności za wady wynikające z mocy prawa jest kwestią dyskusyjną. Większość systemów prawnych skłania się jednak do stosowania w omawianym przypadku przepisów dotyczących rękojmi.

Podstawę konstrukcji umowy licencyjnej, udostępniającej oprogramowanie, stanowi oświadczenie licencjodawcy, że jest on uprawniony do dokonania takiego udostępnienia. W przypadku zaistnienia wad prawnych treść umowy może przewidywać następujące rozwiązania: A/ zapewnienie licencjobiorcy prawa do dalszego używania oprogramowania (np. w wyniku zezwolenia otrzymanego od osoby trzeciej, której prawa zostały naruszone). B/ dokonania, przez licencjodawcę modyfikacji oprogramowania tak, aby w wyniku tych modyfikacji program nie naruszał praw osób trzecich. C/ wymiany udostępnionego oprogramowania na inne, odpowiadające potrzebom licencjobiorcy. D/ usunięcie oprogramowania z platformy hardwerowej połączone ze zwrotem świadczeń i ewentualnie utraconych korzyści, co zwykle skutkuje rozwiązaniem umowy licencyjnej oraz innych związanych z nią umów (np. "o podtrzymywanie" programu).

Wybór możliwości powinien zależeć od decyzyji licencjobiorcy, a koszty wynikających stąd czynności powinny obciążać licencjodawcę.

Odpowiedzialność za wady "fizyczne" oprogramowania jest problemem bardziej skomplikowanym. Wada fizyczna w zasadzie dotyczy przedmiotów materialnych (np. braku w dokumentacji, odpowiednich broszur lub instrukcji). Jednak już uznanie braku precyzji w treści opisu programu jako wady "fizycznej" jest kwestią dyskusyjną. Podobnie samo oprogramowanie jest dobrem niematerialnym, ustalonym na danym nośniku; wada nośnika jest wadą "fizyczną". Otwartą pozostaje kwestia wady "fizycznej" samego oprogramowania. Warto też podkreślić, że w umowach licencyjnych, udostępniających oprogramowanie często licencjobiorca godzi się z możliwością występowania błędów w oprogramowaniu.

Zarówno w systemie prawa powszechnego (common law) jak i prawa cywilnego można obserwować tenedencję do stosowania rękojmi za wady fizyczne odnośnie oprogramowania. W rozwiązaniu tym przesłanką odpowiedzialności z tytułu rękojmi za wady "fizyczne" jest brak możliwości wykonywania przez dany program funkcji określonych w jego specyfikacji (warranty of fitness) oraz fakt, że dany program nie spełnia powszechnie przyjętych w tej dziedzinie standardów użytkowych.

Praktycznie w każdej umowie licencyjnej licencjodawca dąży do ograniczenia odpowiedzialności za wady udostępnionego oprogramowania. W przypadku wad "fizycznych" ograniczenie to wynika z wyznaczenia okresu w którym licencjodawca zobowiązany jest np. do bezpłatnego usunięcia występujących błędów. Błędy wykryte później usuwane są odpłatnie w ramach "podtrzymywania" programu. Licencjodawca zwykle dąży do minimalizacji tego okresu, gdyż po jego upływie licencjobiorca korzysta z odpłatnego "podtrzymywania". W przypadku, gdy ostatnia rata związana jest z upływem tego okresu znaczącą rolę odgrywa także omówiona uprzednio tendencja do koncentracji rat. Obserwowana jest także tendencja do wyłączania jakiejkolwiek odpowiedzialności licencjodawcy za wady "fizyczne" w przypadku licencji pakietu dostosowanego lub produktu dostosowanego.

Okres bezpłatnego "podtrzymywania" powinien rozpoczynać się z chwilą akceptacji programu przez licencjobiorcę. Z punktu widzenia interesów licencjobiorcy okres nieodpłatnego "podtrzymywania" programu powinien być dłuższy w przypadku pakietu lub produktu dostosowanego (np. 6 miesięcy) niż w przypadku samego pakietu (np. 3 miesiące).

W przypadku wad prawnych i wad fizycznych ograniczenie odpowiedzialności wynika także z klauzul ograniczających odpowiedzialność finansową licencjodawcy w stosunku do licencjobiorcy. Z punktu widzenia interesów licencjobiorcy istotnym jest, aby w przypadku istnienia takich klauzul ograniczały one wzajemną odpowiedzialność stron, a nie wyłącznie odpowiedzialność licencjodawcy w stosunku do licencjobiorcy.

Inne postanowienia umowy

Ochrona praw licencjodawcy do udostępnianego oprogramowania (także do jego dokumentacji) wynika z mocy prawa oraz z treści samego kontraktu (ochrona kumulowana). W umowie kształtowana jest ona poprzez postanowienia dotyczące: A/ zachowania przez licencjobiorcę tajemnicy odnośnie informacji o programie i jego dokumentacji, a także używania programu i dokumentacji w sposób umożliwiający zachowanie tej tajemnicy (np. klauzule określające liczbę kopii oraz sposób przechowywania nośników, na których kopie zostały umieszczone). Tajemnicą może być objęta treść samej umowy, a w szczególności specyfikacje dotyczące obiektu softwerowego w niej zawarte. B/ nie dokonywania jakichkolwiek ingerencji technicznych odnośnie oprogramowania bez zgody licencjodawcy. Obejmuje to także ingerencję techniczną w chwili, gdy oprogramowanie przestaje funkcjonować lub funkcjonuje wadliwie. Rozwiązania takie są dyskusyjne w świetle regulacji dotyczących ochrony i obrotu oprogramowaniem komputerowym (np. problem dekompilacji). Rozwiązaniem alternatywnym jest dopuszczalność ingerencji licencjobiorcy w celu np. modyfikowania programu. W tym przypadku implikuje to wyłączenie odpowiedzialności licencjodawcy za wady oprogramowania. Licencjobiorca może dowolnie modyfikować program i ustalać związane z nim know- how, gdzie elementy te są przedmiotem jego praw, o ile treść umowy licencyjnej nie stanowi inaczej. Natomiast udostępnianie tych elementów osobom trzecim zależne jest od zgody licencjodawcy. C/ podjęcia czynności przewidzianych umową licencyjną przez licencjobiorcę w chwili, gdy osoba trzecia narusza prawa licencjodawcy. Zwykle dotyczy to powiadomienia tego podmiotu o fakcie naruszenia jego praw oraz współuczestnictwa w czynnościach z tego faktu wynikających (np. czynnościach procesowych). Obowiązek taki powinien dotyczyć obydwu stron umowy gdyż w przyszłości licencjobiorca może wytworzyć np. know-how lub modyfikacje udostępnionego oprogramowania będące przedmiotem jego praw. D/ umożliwienia licencjodawcy dostępu do miejsca lokalizacji w celu kontroli realizacji postanowień umowy. E/ nie zatrudniania personelu licencjodawcy w trakcie trwania umowy. Zwykle obowiązek taki dotyczy każdej ze stron danej umowy.

Warto także zauważyć, że liczba personelu informatycznego zatrudnionego przez licencjobiorcę ma wpływ na zachowanie tajemnicy handlowej licencjodawcy. W zasadzie umowy licencyjne nie określają liczby osób wchodzących w skład personelu licencjobiorcy, która może mieć dostęp do oprogramowania i dokumentacji. W trakcie praktycznej realizacji umowy oraz używania programu personel ten wytwarza know-how zwykle nie ustalone na konkretnych nośnikach. W początkowym etapie tzn. uruchomiania systemu może być potrzebna większa ilość personelu niż w etapie późniejszym tzn. do bieżącego nadzoru nad tym systemem. Pojawia się więc kwestia zatrudniania zbędnej ilości personelu, którego zwolnienie powoduje w praktyce udostępnienie nabytej wiedzy i doświadczeń osobom trzecim.

Problem ten rozwiązywany jest poprzez ograniczenie przez samego licencjobiorcę liczby personelu informatycznego do poziomu sugerowanego mu przez licencjodawcę lub innych członków grupy licencyjnej tzn. poziomu niezbędnego do nadzoru nad systemem w etapie późniejszym. Natomiast w początkowym etapie licencjobiorca częściowo bazuje na personelu licencjodawcy. Innym rozwiązaniem jest zatrudnianie zbędnej części personelu licencjobiorcy przez licencjodawcę w celu dokonywania dalszych implementacji oprogramowania na danym rynku. Możliwa jest także współpraca stron umowy przy dalszych implementacjach np. połączona z udostępnianiem modyfikacji programu dokonanych przez licencjobiorcę dalszym klientom licencjodawcy. Jednak każda następna licencja oprogramowania powoduje powstanie podobnego problemu. Stąd jedynym rozwiązaniem wydaje się być ustalenie składu zespołu informatycznego licencjobiorcy na poziomie odpowiadającym jego długofalowemu zapotrzebowaniu.

Rozwiązanie umowy

Umowy licencyjne udostępniające oprogramowanie komputerowe są umowami długoterminowymi lub zawieranymi na czas nieokreślony. Powszechnie stosowanym rozwiązaniem jest możliwość wypowiedzenia umowy przez licencjodawcę w każdym czasie, gdy licencjobiorca naruszy postanowienia umowy lub, gdy w opinii tego podmiotu, dąży do naruszenia tych postanowień. Możliwość rozwiązania umowy istnieje również, gdy licencjobiorca zagrożony jest postępowaniem upadłościowym. W wyniku rozwiązania umowy licencjobiorca zwykle zobowiązany jest do: A/ wydania programu komputerowego oraz jego kopii, opisu programu oraz wszelkich materiałów pomocniczych licencjodawcy lub osobom trzecim przez niego wskazanym. B/ zniszczenia wszelkich innych informacji dotyczących obiektu softwerowego, z możliwością zachowania tych informacji, które niezbędne są licencjobiorcy do przeniesienia jego danych na inne oprogramowanie. C/ wydania pisemnego oświadczenia o dokonaniu wyżej wymienionych czynności licencjodawcy lub osobom trzecim przez niego wskazanym.

Umowy licencyjne udostępniające oprogramowanie komputerowe o znacznej wartości rynkowej są zróżnicowane w swej treści. Powszechność stosowania tych umów w ramach transakcji oprogramowaniem komputerowym może uprawniać do pewnych uogólnień takich jak np. rozkład rat licencyjnych uwzględniający interesy obydwu ze stron umowy. Jednak zdaniem autora w przypadku oprogramowania o znacznej wartości rynkowej, większość problemów pojawiających się w np. w trakcie negocjacji kontraktu nie podlega tak jednoznacznej formalizacji. Stąd prezentowany artykuł stanowi wyłącznie ilustrację wybranych zagadnień występujących często w praktyce zawierania i realizacji tych umów.