Článek:

Úschova zdrojových kódů (tzv. software escrow)

15.06.2020

Plánujete nasazení nového informačního systému? Hodláte investovat do rozšíření stávajícího řešení? Obáváte se omezené životnosti software? Hledáte zajištění dlouhodobého rozvoje pořízeného informačního systému? Postrádáte jistotu dlouhodobé podpory? Obáváte se závislosti na dodavateli vašeho informačního systému? Pokud jste na některou z předchozích otázek odpověděli souhlasně, pak by Vás měla zajímat služba úschovy zdrojových kódů.

Vaše investice do informačních systému a dostupnost Vašich dat jsou zcela závislé na fungování a součinnosti vývojářů Vašich informačních systémů. Pouze s přístupem ke kompletním zdrojovým kódům můžete zajistit technickou podporu a dlouhodobý rozvoj informačního systému. A to je základní funkcí tzv. software escrow: bezpečné uschování kódu a jeho vydání po splnění podmínek definovaných ve smlouvě mezi výrobcem software, zákazníkem a escrow agentem. Velmi zjednodušeně je možné software escrow přirovnat k pojištění majetku, jejím prostřednictvím pojišťujete své investice v oblasti IT a data Vaši společnosti.

Úschova zdrojových kódů je v zahraniční tradiční a běžně využívanou službou (v dnešní době přes 90 % firem v žebříčku Fortune 500 využívá pro své informační systémy právě úschovu zdrojových kódů). V ČR se jedná o poměrně málo známý institut. Úschova zdrojových kódů je také běžnou součástí projektů financovaných z evropských dotací, v případech podpory začínajících vývojářů, u kritických informačních systémů (např. bankovní a nemocniční informační systémy).

Riziko investic

Obecně je hlavním přínosem nasazení informačního systému zvýšení efektivity firemních procesů a fungování firmy. Intenzita vašeho očekávání je přímo úměrná objemu vynaložených prostředků, který od určité výše vytváří oprávněnou obavu z návratnosti. Diskontinuita rozvoje a podpory informačního systému je nejsilnějším rizikem ohrožujícím návratnost investic věnovaných do jeho pořízení a implementace, a v případě významných a kritických informačních systémů může ohrožovat i samotné fungování firmy a přístup k jejím datům, přičemž vy zpravidla nemáte možnost ovlivnit riziko vzniku takové situace. Nejčastější příčinou bývá nedodržování smlouvy o podpoře, jejíž podmínky jsou často diktovány dodavatelem software, který si je obvykle velmi dobře vědom toho, že vy jako uživatel máte jen velmi omezené možnosti nahradit jeho řešení jiným. Také zánik dodavatele software je velice reálnou hrozbou neplánovaného ukončení podpory a dalšího rozvoje dodaného informačního systému.

Požadavek na zdrojové kódy

Eliminace popsaných rizik spočívá v zajištění pokračování vývoje a podpory informačního systému v případě vzniku problému s jeho dodavatelem, a tím i v případech, kdy se jedná z hlediska zákazníka o významný nebo kritický informační systém, zajištění „business continuity“ a chodu firmy. To lze zajistit pouze na základě přístupu ke kompletním zdrojovým kódům a dokumentaci příslušného informačního systému. Jedině tak může mít investor/uživatel jistotu, že v případě, kdy dodavatel nebude schopen dostát svých závazků, zajistí si další vývoj a podporu za pomoci třetí strany.

Zdrojový kód je označení zápisu počítačového programu v čitelné a upravitelné formě. V případě potřeby úprav nebo rozvoje počítačového programu je možné ve zdrojovém kódu provádět změny, které jinak nejsou možné.

Pouze s přístupem ke kompletním zdrojovým kódům lze zajistit technickou podporu a dlouhodobý rozvoj informačního systému, případně možnost převzetí správy a údržby informačního systému jiným dodavatelem.

Zdrojový kód nebývá ve většině případů součástí dodávky informačního systému, protože z jeho obsahu je možné vyčíst veškeré technologické know-how dodavatele, jehož význam zdaleka přesahuje hodnotu hotové funkční aplikace, ale například i bezpečnostní prvky informačního systému. Cena poskytnutí exkluzivity v podobě vydání zdrojových kódů může proto dosahovat několikanásobku ceny software. V případě, že dodavatel plánuje využít jím dodaný informační systém i pro další zákazníky, tak vydání zdrojových kódů by znamenalo „otevření karet“ před konkurencí a ohromné bezpečnostní riziko pro všechny uživatele informačního systému.

Řešení: software escrow

Podstata služby spočívá v bezpečné úschově zdrojových kódů aplikace u nezávislé strany - escrow agenta na základě podmíněné trojstranné dohody mezi uživatelem, dodavatelem software a escrow agentem. Při naplnění dohodnutých podmínek (zánik dodavatele, porušení SLA apod.) smlouva opravňuje escrow agenta k vydání zdrojových kódů uživateli za účelem pokračování v podpoře a vývoji software s jiným partnerem.

Nejedná se tedy o pouhé uložení kopie kódu, kterou nemá tvůrce software pod kontrolou, u zákazníka, ale o komplexní službu zajišťující potřebné právní úkony spojené s uschováním (nikoli jen uložením) zdrojového kódu a jeho případným vydáním na základě předem stanovených podmínek.

Proces úschovy

Podívejme se na fáze naší služby zabezpečeného software escrow.

1. Konzultace smluvních vztahů

Poskytneme právní konzultaci k novým či existujícím smlouvám o vývoji a údržbě software a vhodně navrhneme software escrow smlouvu (smlouva o úschově zdrojových kódů).

2. Vytvoření inventáře

Vypracujeme  a schválíme si s vámi seznam náležitostí pro plnohodnotnou údržbu a provoz (zdrojové kódy, vývojové prostředí, systémové komponenty). Kvalitní inventář je základním stavebním prvkem software escrow.

3. Základní verifikace nebo audit obsahu úschovy

Bez nutnosti čtení obsahu souborů se zdrojovými kódy ověříme, že uložený materiál odpovídá inventáři nebo provedeme audit obsahu úschovy podle sjednaného rozsahu.

4. Výdej zdrojových kódů

Po ověření naplnění podmínek výdeje z úschovy obdržíte zašifrovaný balík a dešifrujete ho privátním klíčem.

Využitím zabezpečené verze software escrow eliminujeme riziko vyzrazení zdrojových kódů během celého procesu úschovy.

Další možnosti ověření vašeho software

Základní funkcí software escrow je, jak je zřejmé z předchozích odstavců, bezpečné uschování kódu a jeho vydání po splnění podmínek definovaných ve smlouvě mezi dodavatelem software, uživatelem a escrow agentem. Nicméně před převzetím kódu do úschovy je vhodné provést kontrolu, zda neobsahuje bezpečnostní rizika a zda je možné jej skutečně převést do strojově čitelné formy. Takovouto kontrolu pravidelně poskytujeme klientům, kteří u nás využívají software escrow.

Audit obsahu úschovy

Audit obsahu úschovy výrazně zvyšuje její využitelnost a efektivitu postupu při vydání úschovy v definovaných situacích. Audit základní úrovně by měl být proveden v podstatě v každém převzetí úschovy. Úroveň auditu je možné zvolit zejména s ohledem na význam software pro uživatele - může totiž výrazným způsobem zjednodušit práci na straně dodavatele i uživatele v procesu implementace software.

Audit zdrojového kódu zahrnuje následující činnosti:

  • soupis souborů v úschově a ověření jejich integrity
  • identifikace nástrojů pro udržení a kompilaci zdrojových kódů
  • kompilace produktu a vytvoření spustitelných souborů
  • ověření možnosti instalace a nastavení aplikace
  • základní funkční testování aplikace
  • potvrzení validity zdrojových kódů

Řešení software escrow s BDO Digital

Máme desetiletou tradici v poskytování služeb úschovy zdrojových kódů a jsme jediným specializovaným poskytovatelem těchto služeb v České republice. Náš specializovaný tým a společnost Deponest, zajišťující právě službu software escrow, je celosvětově akreditovaným subjektem pro programy společnosti Microsoft.