Escrow aneb úschova zdrojových kódů.
Pravěk, Starověk, Středověk, Novověk, IT věk
Informační technologie dnes neplní pouze úlohu podpory podnikání, ale stále ve větší míře jsou přímo nezbytné pro výkon obchodní činnosti. Závislost firem na programovém vybavení roste s rozvojem a mírou nasazení informačních technologií. Výpadek tzv. business-critical aplikací může mít fatální následky. Závislosti na software se však v dnešní době nelze zbavit. Udržení konkurenceschopnosti vyžaduje jistou míru nasazení informačních systémů ve firmách všech velikostí i odvětví. Sama o sobě závislost na konkrétní aplikaci není skutečným problémem. Tím se může za jistých okolností stát závislost na konkrétním dodavateli, zvláště pokud se jedná o zákaznický systém programovaný na míru. Obchodní činnost uživatele software je totiž přímo ovlivněna schopností dodavatele zajišťovat údržbu a rozvoj systému v dlouhodobém horizontu.
Význam zdrojových kódů
Programátoři vytváří softwarovou aplikaci psaním zdrojového kódu – pro člověka srozumitelného zápisu. Zdrojový kód je následně počítačem přeložen do formátu čitelného pouze pro počítač – binární tvar. Zákazníkovi je předána pouze binární podoba aplikace, plně postačující pro její provoz a používání. Pokud si zákazník přeje v produktu nějaké změny nebo opravy, kontaktuje výrobce, který provede požadované úpravy ve zdrojovém kódu, vygeneruje novou binární verzi aplikace a tu opět předá zákazníkovi. Rozvojem software jsou zefektivňovány stávající a realizovány nové obchodní záměry.
Pouze s přístupem ke kompletním zdrojovým kódům lze zajistit plnohodnotnou technickou podporu a dlouhodobý rozvoj informačního systému.
Zdrojové kódy jsou úzkostlivě střeženým obchodním tajemstvím. Výrobci zakázkového software poskytují zdrojové kódy svým zákazníkům ve výjimečných případech. Zpravidla se pouze smluvně zavazují ke kontinuální podpoře a údržbě svého produktu. Jaké má však zákazník jako uživatel software možnosti, pokud se výrobce rozhodne ukončit podporu nebo z jiných důvodů není schopen produkt dále udržovat a vyvíjet? Při řešení toho skutečného problému má na výběr pouze omezené možnosti:
- náhrada jiným systémem – finančně i časově velice náročná;
- pokračování v provozu aplikace bez podpory – zpravidla přináší nepřijatelná rizika;
- zajištění údržby aplikace jiným výrobcem, případně vlastními zdroji – implikuje potřebu přístupu ke zdrojovým kódům.
Čtěte dále jak může software escrow minimalizovat rizika spojená s popsanou situací.
Řešení v podobě software escrow
Software escrow je úschova zdrojových kódů do depositu k nezávislé třetí straně. Úschova bývá zpravidla vyžadována vlastníkem licence, za účelem zajistit si podporu a údržbu software. Zdrojové kódy jsou nabyvateli vydány v okamžiku, kdy jsou naplněny podmínky smlouvy – výrobce neplní závazky smlouvy o údržbě, úpadek výrobce, apod. V roli nezávislé třetí strany vystupuje escrow agent, který kromě úschovy zdrojových kódů často nabízí další služby, jakými jsou technická verifikace kódu (code review), verifikace vývojového prostředí, softwarový audit a další.
Počátky poskytování software escrow služeb jsou zaznamenány v 70.letech v USA, kdy vznikly jako odpověď na požadavky pojistit aplikace, pro firmy kritické z hlediska zachování jejich obchodní činnosti. Šlo především o fyzickou úschovu zdrojových kódů a dat na záložních páskách u třetí důvěryhodné strany. Zapojení escrow agentů do vyjednávání o licenčních podmínkách se stalo samozřejmou součástí většiny softwarových projektů v USA a západní Evropě. V ČR dnes v pozici escrow agenta zpravidla vystupují advokátní kanceláře specializované na IT právo.
Escrow smlouva
Software escrow je dohoda mezi výrobcem software, uživatelem a escrow agentem, která zajistí uživateli přístup ke zdrojovým kódům a programovému vybavení při splnění definovaných podmínek vydání.
Licenční smlouva nebo smlouva o údržbě obvykle obsahuje klausuli, kterou se odkazuje na escrow smlouvu. Strana, která inicializuje úschovu zdrojových kódů, se dohodne na podmínkách s escrow agentem a poté přivádí k jednání i třetí stranu, která má možnost smlouvu připomínkovat.
Smlouva popisuje hlavní rysy procesu předání zdrojových kódů od výrobce software do úschovy k escrow agentovi, včetně popisu co vše a jak často bude uschováváno. Kromě zdrojových kódů odpovídajících verzi software, který je nasazen v živém provozu, bývá často uloženo i veškeré nezbytné programové vybavení nutné k provozu a správě aplikace. Dále je popsáno jakým způsobem obdrží uživatel software digitální materiál, dojde-li k naplnění podmínek výdeje.
Escrow smlouva musí řešit především následující aspekty trojstranné dohody.
Podmínky vydání zdrojových kódů
Smlouva přesně definuje podmínky výdeje zdrojových kódů z úschovy, mezi které zpravidla patří:
- krach výrobce software;
- porušení escrow smlouvy ze strany výrobce software;
- porušení závazků vyplývajících ze smlouvy o údržbě.
Záruky výrobce
Výrobce software jako poskytovatel licence se ve smlouvě zavazuje, že uschovaný zdrojový kód obsahuje veškeré programové vybavení nutné pro kompilaci kódu (build skripty, build návody, knihovny třetích stran, zprovoznění vývojového prostředí, apod.)
Technická verifikace zdrojových kódů
Technická verifikace patří mezi nadstandardní služby escrow agentů. Je jedinou reálnou možností jak opravdu dokázat, že:
- lze dodané zdrojové kódy stoprocentně zkompilovat a tak vytvořit provozuschopnou softwarovou aplikaci;
- zdrojové kódy a programové vybavení odpovídají verzi softwarového produktu, který je v danou chvíli provozován v živém provozu.
Licence pro zdrojové kódy
Součástí výdeje zdrojových kódů je i licence, která definuje způsob, jakým bude nakládáno se zdrojovými kódy:
pro jaké účely bude zdrojový kód používán (zpravidla pouze pro údržbu);
jak bude se zdrojovým kódem nakládáno (udržovat jej jako důvěryhodný, atd.).
Force Majeure
Escrow smlouva by měla také pamatovat na klausuli force majeure. Klausule zprošťuje povinností vyplývajících ze smlouvy všechny zúčastněné strany v případech jako jsou – války, živelné pohromy a další nepředvídatelné události.
Kdo benefituje ze software escrow?
Výrobce software může nabízet software escrow jako standardní součást svých softwarových služeb a tím získat výraznou konkurenční výhodu.
Podrobnosti…
Pro uživatele hraje software escrow nenahraditelnou roli při zajišťování investic do vývoje nových nebo údržby stávajících informačních systémů.
Podrobnosti…