eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plPrawoPrawo dla biznesuCzym jest depozyt kodu źródłowego? Co zawrzeć w umowie?

Czym jest depozyt kodu źródłowego? Co zawrzeć w umowie?

2022-01-15 00:33

Czym jest depozyt kodu źródłowego? Co zawrzeć w umowie?

Czym jest depozyt kodu źródłowego? © pixabay.com

Software escrow to określenie umowy depozytu kodu źródłowego, którą stosuje się w Stanach Zjednoczonych już od 50 lat. Od początku wykorzystywano ją po to, aby zabezpieczyć oprogramowanie tworzone przez firmy z branży IT. W pierwszych latach XXI wieku umowa depozytu kodu źródłowego stawała się coraz powszechniejsza w Europie. Mimo to, w Polsce taka konstrukcja wciąż jest mało znana. W jakim celu deponuje się kod źródłowy? Co powinna zawierać umowa?

Przeczytaj także: Co musi zawierać umowa EULA?

Depozyt kodu źródłowego – na czym polega?


W czasach, w których niemal wszystkie firmy korzystają z komputerów, rośnie potrzeba tworzenia specjalnie dostosowanego oprogramowania. Taki dedykowany program jest w stanie spełnić potrzeby danego przedsiębiorstwa i ułatwia prowadzenie biznesu. Czasem jednak twórcy danego software’u przestają funkcjonować na rynku, co dzieje się z różnych przyczyn, np. upadłości lub decyzji o zaprzestaniu działalności.

Wówczas w interesie każdej ze stron – ale przede wszystkim podmiotu, który używa danego oprogramowania – jest zabezpieczenie dostępu do kodu źródłowego. W ten sposób firma zachowuje funkcjonalność swojej struktury informatycznej.

Definicja kodu źródłowego


Kod źródłowy to zbiór poleceń napisanych w języku programowania. Pozwala on na zarządzanie wprowadzonymi danymi. Do jego prawidłowego działania konieczna jest kompilacja, a więc przekształcenie w kod wynikowy. Później taki kod może być zastosowany przez procesor, co powoduje, że użytkownik widzi efekt tego działania w monitorze komputera.

Najczęściej kod źródłowy ma formę pliku tekstowego, który można zapisać na trwałym nośniku, np. pamięci nieulotnej typu Flash czy płycie CD.

Zawarcie umowy depozytu kodu źródłowego


Po co strony zawierają umowę depozytu kodu źródłowego? Po to, aby zabezpieczyć raz stworzone oprogramowanie. Cały proces polega na tym, że licencjodawca (twórca oprogramowania) składa u depozytariusza (osoby trzeciej) kod źródłowy. Zazwyczaj jest on utrwalony na trwałym nośniku.

Tym samym daje licencjobiorcy prawo (firmie, dla której software został utworzony) do uzyskania dostępu do deponowanego materiału, jeśli dojdzie do okoliczności wymienionych w umowie. Z tego względu sporządzenie takiego kontraktu warto zlecić kancelarii prawnej wyspecjalizowanej w prawie IT. Dzięki temu zyskamy pewność, że jego treść nie pominie większości potencjalnych problemów.

Kiedyś depozytariuszem mogły być wyłącznie instytucje zaufania publicznego, np. banki i notariusze. Wtedy depozyt miał formę dysku zamykanego w skrytce bankowej. Dziś liczne firmy świadczące usługi IT oferują depozyt kodu źródłowego jako jedną ze swoich usług. To pozytywna zmiana, gdyż specjaliści od IT z łatwością zweryfikują także kompletność, działanie kodu i dokumentację.

Umowa depozytu kodu źródłowego może być sporządzona jako kontakt dwustronny lub trójstronny.
  • Umowa dwustronna – konieczna jest odrębna umowa z depozytariuszem.
  • Umowa trójstronna – nie wymaga się odrębnej umowy z depozytariuszem.

Porozumienie z osobą trzecią powinien zawierać licencjobiorca, gdyż w sytuacji ogłoszenia upadłości licencjodawcy umowy przechowywane z mocy prawa ulegają rozwiązaniu.

Co powinna zawierać umowa depozytu kodu źródłowego?


Poza elementami przedmiotowo istotnymi, w umowie depozytu kodu źródłowego powinny znaleźć się również klauzule zabezpieczające interesy stron. Jakie zapisy są szczególnie ważne?
  • Przedmiot i zakres umowy – zazwyczaj nie będzie to tylko kod źródłowy oprogramowania, ale też wszystko, czego może potrzebować licencjobiorca, aby samodzielnie z niego korzystać, tj. czytniki czy dokumentacja. Zdeponowane materiały muszą pozwalać na pełną kompilację kodu źródłowego.
  • Zobowiązanie licencjodawcy do regularnego aktualizowania oprogramowania u depozytariusza (pod warunkiem, że podczas współpracy powstają następne wersje). Inaczej po latach może okazać się, że zdeponowany materiał to nośnik z wczesną wersją alpha oprogramowania, która nie ma już wartości dla licencjobiorcy.
  • Umowa musi zawierać także warunki na podstawie których licencjobiorca jest upoważniony do żądania od depozytariusza tzw. zwolnienia kodu – czyli wydania kodu źródłowego. Będą to zazwyczaj: ogłoszenie upadłości, likwidacji lub restrukturyzacji licencjodawcy; odmowa usunięcia awarii albo wstrzymanie usługi utrzymaniowej przez dostawcę oprogramowania; wystąpienie awarii, której dostawca oprogramowania nie chce lub nie potrafi usunąć; zaprzestanie rozwijania oraz oferowania wsparcia technicznego oprogramowania przez jego dostawcę lub też oparcie go na architekturze innej niż początkowo strony zakładały; wystąpienie zmiany warunków współpracy ponad ustalony zakres (np. drastyczne zawężenie lub rozszerzenie zakresu współpracy).

Warunki zwolnienia kodu źródłowego wymagają szczegółowego dopracowania. Tylko w ten sposób można uniknąć sytuacji, w której licencjobiorca nie będzie mógł wyegzekwować swoich praw. Z tego powodu przed podpisaniem umowy najlepiej skonsultować się z prawnikiem.

Poza tym w kontrakcie depozytu kodu źródłowego mogą znaleźć się prawa licencjobiorcy po otrzymaniu nośnika. Strony mogą ustalić, kiedy można modyfikować kod (np. aby usunąć błędy) oraz czy można go dalej rozwijać. Postanowienia kontraktowe mogą uwzględniać też dodatkowe obowiązki depozytariusza, np. rozbudowę software’u czy weryfikowanie kompletności oprogramowania.

Dodatkowo istnieje możliwość zawarcia zakazu konkurencji po otwarciu skrytki. Wówczas dostawca software’u zabezpieczy się przed zatrudnieniem jego pracowników przez firmę korzystającą z oprogramowania oraz przed utratą swojego know-how. Każda ze stron może też przewidzieć w umowie system kar umownych, co stanowi popularną formę zabezpieczenia interesów w Polsce. Trzeba jednak pamiętać, że według polskiego prawa nie można zastrzec kary umownej w razie niespełnienia świadczenia pieniężnego.

Co istotne, w orzecznictwie polskich sądów strona, która domaga się zapłaty z tytułu kary umownej, najczęściej nie musi wykazywać wystąpienia szkody. Wystarczające jest wystąpienie przesłanek zapłaty kary. Można zastrzec je m.in. za nieuprawniony dostęp do kodu albo korzystanie z nośnika w inny sposób, niż przewidziano w umowie.

Zawarcie takiego kontraktu wiąże się zwykle z wynagrodzeniem dla depozytariusza – będzie ono tym wyższe, im szersze okażą się jego obowiązki. Koszty może pokryć jeden podmiot lub mogą zostać podzielone między stronami.

Przykładowa dokumentacja


Dokumentacja software’u może różnić się w zależności od dostawcy oprogramowania. Z tego powodu warto zadbać, aby w umowie wymienić wszystkie niezbędne elementy, które znajdą się u depozytariusza. Będą to:
  • zaktualizowana karta wersji wraz ze wskazaniem wszystkich wprowadzonych zmian,
  • opis struktur katalogów kodów źródłowych wraz ze wskazaniem standardu nazewnictwa plików źródłowych i wynikowych,
  • dokładny opis procedury kompilacji,
  • opis środowiska kompilacyjnego i zdefiniowane biblioteki programistyczne,
  • dokumentacja techniczna baz danych wraz ze wskazaniem nazw tabel i relacji między nimi oraz podaniem ewentualnych atrybutów,
  • narzędzia do przygotowania wersji instalacyjnej, czyli takiej, która będzie się nadawała do wgrania na twardy dysk oraz do samej instalacji.

Taki zapis daje licencjobiorcy gwarancję, że po zwolnieniu kodu uzyska wszystkie narzędzia, dzięki którym będzie mógł samodzielnie obsłużyć otrzymany kod źródłowy.

Kto powinien deponować kod źródłowy?


Wbrew pozorom nie tylko duże firmy, ale także mali przedsiębiorcy inwestujący w strukturę informatyczną dostosowaną do swoich potrzeb. Najczęściej z takich usług korzystają banki, sieci sklepów, firmy logistyczne i transportowe, firmy farmaceutyczne, a także firmy IT.

Mowa więc o wszystkich podmiotach, w których na sukces gospodarczy wpływa prawidłowo działający system informatyczny. W takich przypadkach zdecydowanie dobrym krokiem będzie wdrożenie rozwiązań chroniących interesy stron. Depozyt kodu źródłowego jest w tym ujęciu świadomym, rozsądnym obniżeniem ryzyka biznesowego.

Czy faktycznie warto?


Mówiąc o depozycie kodu źródłowego mamy na myśli umowę zabezpieczającą interesy każdej ze stron. W przypadku dostawców software’u zyskiem jest pewność, że klient nie będzie mieć dostępu do wiedzy leżącej u podstaw zaprojektowanego rozwiązania (know-how). W ten sposób deweloper eliminuje ryzyko, że jego mechanizmy zostaną skopiowane lub zmodyfikowane w sposób nieuprawniony.

Za to licencjobiorca zyskuje gwarancję spokoju o system informatyczny w swoim przedsiębiorstwie. Może zachować integralność środowiska IT, mając do tego odpowiednie narzędzia. Bywa też, że twórcy oprogramowania rozwijają je w innym kierunku lub wprowadzają rozwiązania, które nie są korzystne dla niektórych użytkowników. Wówczas depozyt pozwala na posiadanie zapasowej, własnej wersji software’u.

Ponadto zawarcie takiego kontraktu dodaje wiarygodności każdej z firm. Określa przedsiębiorców jako odpowiedzialnych gospodarczo partnerów biznesowych. Jeśli strony są w dobrych relacjach, depozyt kodu może wydawać się czymś zbędnym. Jednak umowy są podpisywane asekuracyjnie, na gorszy czas. Niektórych sytuacji nie sposób przewidzieć, zwłaszcza w biznesie, a takie umowy pozwalają działać z wyprzedzeniem.

Dlatego w celu uniknięcia utraty integralności środowiska IT oraz niepotrzebnych sporów, warto dokonać depozytu kodu źródłowego. Jest to zalecane zarówno firmom korzystającym z oprogramowania, jak i deweloperom, którzy tworzą zamówiony kod źródłowy.

Marcin Staniszewski

oprac. : eGospodarka.pl eGospodarka.pl

Skomentuj artykuł Opcja dostępna dla zalogowanych użytkowników - ZALOGUJ SIĘ / ZAREJESTRUJ SIĘ

Komentarze (0)

DODAJ SWÓJ KOMENTARZ

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: