Czym jest depozyt kodu źródłowego / software escrow

Schemat depozytu kodu źródłowego

Depozyt kodu źródłowego (software escrow) to sposób, jak zapewnić, że krytyczne oprogramowanie może działać dalej także wtedy, gdy jego dostawca zakończy działalność, zmieni właściciela, zakończy wsparcie albo naruszy umowę.

Do bezpiecznego repozytorium trafiają kody źródłowe, dokumentacja oraz inne materiały potrzebne do utrzymania i odtworzenia systemu informacyjnego.

Na podstawie trójstronnej albo dwustronnej umowy escrow niezależny depozytariusz (software escrow agent) przejmuje materiały do depozytu i wydaje je wyłącznie w jasno określonych przypadkach.

Jeżeli warunki wydania nie zostaną spełnione, przechowywane dane są trwale usuwane zgodnie z ustalonym procesem.

Dlaczego kody źródłowe są tak ważne?

Kod źródłowy jest techniczną podstawą całego systemu informacyjnego.

Bez niego nie da się:

  • usunąć błędu,
  • dodać nowej funkcjonalności,
  • przenieść systemu na nowe środowisko,
  • utrzymać systemu technicznie przy życiu.

Dostawcy zwykle przekazują klientom tylko skompilowaną aplikację, co przy długoterminowym utrzymaniu krytycznego systemu jest niewystarczające.

Dlaczego dostawca nie chce przekazać kodów źródłowych

Dostawca chroni kody źródłowe, ponieważ są jego tajemnicą przedsiębiorstwa, know-how i przewagą konkurencyjną.

Bezpośrednie przekazanie kodu mogłoby oznaczać utratę kontroli nad bezpieczeństwem i dalszym rozwojem systemu.

Escrow pozwala przechować kod bezpiecznie: klient otrzyma go tylko po spełnieniu precyzyjnie określonych warunków, więc interesy obu stron pozostają chronione.

Bezpieczeństwo i wiarygodność

  • Świadczymy nasze usługi już od 2009 roku.
  • Dane przyjmowane do depozytu są zawsze silnie szyfrowane i chronione hasłami.
  • Stosujemy nowoczesne technologie oraz procesy archiwizacji danych.
  • Nasze procedury opierają się na zasadach europejskiego rozporządzenia eIDAS.
  • Procesy są w pełni audytowalne i dowodowe.

Co może być przedmiotem depozytu

  • kody źródłowe aplikacji, biblioteki i moduły
  • skrypty build, pliki konfiguracyjne, CI/CD pipeline
  • schematy baz danych i skrypty migracyjne
  • dokumentacja instalacji i wdrożenia
  • lista zewnętrznych zależności

Weryfikacja techniczna / audyt zawartości

  • Przyjęcie i identyfikacja zawartości depozytu
  • Kontrola integralności i kompletności danych
  • Analiza struktury projektu i zależności
  • Weryfikacja odtwarzalności build albo wdrożenia
  • Techniczna walidacja działania aplikacji
  • Testy funkcjonalne wybranych funkcji

Opis szczegółowy

Umowa escrow

Umowa określa kluczowe elementy:

  • Strony umowy
  • Zakres i zawartość depozytu
    Określenie przechowywanych materiałów, sposobu aktualizacji i odpowiedzialności stron.
  • Warunki wydania depozytu
    Jednoznacznie zdefiniowane zdarzenia, takie jak zakończenie działalności dostawcy, naruszenie umowy albo brak wsparcia.
  • Powiązanie z pozostałą dokumentacją umowną