Celý seriál IT právo ve smluvní praxi bychom rádi zakončili článkem o smlouvě o úschově zdrojových kódů; v IT světě znám zejména v angličtině jako Source code escrow agreement. Předmětem smlouvy o úschově zdrojových kódů (Smlouva) je závazek schovatele uschovat a opatrovat zdrojový kód a v případě naplnění předem stanovených podmínek jej vydat oprávněné straně. Smlouva je, jak už to zejména v oblasti IT práva bývá, často smlouvou inominátní (nepojmenovanou) složenou z několika různých smluvních typů. Zejména půjde o smlouvu o úschově, licenční smlouvu (podmínky pro nakládání s kódem) a případně o příkazní smlouvu (pokud je součástí úschovy zajištění odborného posouzení třetí osobou apod.).
Výhody úschovy zdrojového kódu
Byť lze Smlouvu uzavřít i zcela mimo jakákoliv jiná smluvní ujednání, považujeme za vhodné vztáhnout uzavření takové smlouvy k implementační smlouvě a servisní smlouvě, o nichž jsme psali v předchozích článcích tohoto seriálu. Stranami implementační a servisní smlouvy jsou IT společnost (jako tvůrce anebo poskytovatel software) a zákazník (jako nabyvatel licence k software). Smlouva je tedy v uvedeném případě uzavírána nejčastěji mezi IT společností, zákazníkem a nezávislou třetí osobou jako schovatelem (tedy tím, u koho je zdrojový kód uschován). Již ze samotné povahy Smlouvy je zřejmé, že její uzavření má smysl pouze v případech, kdy IT společnost neuděluje zákazníkovi veškerá majetková práva autorská k software a nepředává mu spolu s vytvořením software i zdrojový kód.
Uzavření smlouvy přináší hned několik výhod pro IT společnost i zákazníka. Pro IT společnost se jedná o příležitost snížit riziko zničení anebo ztráty zdrojového kódu a snížení rizika zneužití zdrojového kódu v případě, kdyby dala kód přímo k dispozici zákazníkovi. Naproti tomu pro zákazníka je výhodné mít uložen kód u nezávislé třetí osoby pro případ zániku IT společnosti anebo pro případ závažného porušení SLA (kvality servisních služeb poskytovaných dle servisní smlouvy)ze strany IT společnosti, kdy v takových případech může mít k dispozici zdrojový kód a software dále vyvíjet vlastními silami nebo prostřednictvím dalších dodavatelů. V tuzemsku není dosud uzavírání Smluv běžným zvykem, nicméně například v zámoří jde o poměrně častou praxi. Byť úschova je zpravidla poskytovaná za odměnu v řádu tisíců ročně, jedná se také o prostředek ke snížení nákladů zákazníka. To zejména z toho důvodu, že zákazník v takovém případě zpravidla platí odměnu za užší licenci a může se software nakládat pouze v omezené míře, samozřejmě do naplnění podmínek pro uvolnění kódů viz níže, což s sebou obvykle nese nižší odměnu za licenci.
Provázání úschovy kódu a ostatních smluv
Jelikož pro potřeby tohoto článku uvažujeme o Smlouvě uzavírané v souvislosti s implementační a servisní smlouvou, je vhodné Smlouvu se zmíněnými ostatními smlouvami provázat. Jednak je vhodné existenci Smlouvy zmínit v preambuli ostatních smluv, a to z důvodu výkladu vůle smluvních stran (k tomuto viz naše předcházející články zabývající se implementačními a servisními smlouvami). Dále je vhodné Smlouvu uzavřít současně s ostatními smlouvami anebo současně se servisní smlouvou, a to zejména z toho důvodu, aby byla jasná práva a povinnosti stran ve vztahu ke zdrojovému kódu a nevznikaly případné neshody v průběhu plnění ostatních smluv. Zároveň je vhodné, je-li to technicky možné, dohodnout předávání zdrojového kódu po jednotlivých funkčních částech v návaznosti na provedení akceptace jednotlivých částí software anebo jeho aktualizace. Akceptační procedura by měla být součástí obou ostatních smluv (opět viz předcházející články) a Smlouva by měla na ni navazovat v tom smyslu, že jakmile bude akceptována dílčí funkční část nebo i větší aktualizace či modernizace na základě servisní smlouvy, bude aktualizován i zdrojový kód v úschově. Tak by mělo být zajištěno, že v úschově bude uložen vždy úplný a aktuální zdrojový kód. Rovněž by zdrojový kód měl být ukládán ve formátu vývojového prostředí, opatřen komentáři a postupem pro kompilaci, je-li nezbytná, a včetně dokumentace a přípravných a koncepčních materiálů. Zároveň by kód měl odpovídat programu ve strojovém kódu, který je skutečně nasazen u zákazníka. Kód by měl být předáván na datovém nosiči, kdy lze doporučit využívat vždy alespoň dvou různých nosičů, například DVD a USB disk, a to kvůli tomu, že každý z nosičů je náchylný na jiný typ manipulace, a uložením na dvou různých typech nosičů dojde ke snížení rizika zničení kódu.
Uvedená pravidla je možné dohodnout už v implementační anebo servisní smlouvě, nebo v samotné Smlouvě. Pro úplnost pouze uvádíme, že Smlouva nemusí být separátní smlouvou uzavíranou zvlášť, ale může být přímo součástí textu ostatních smluv nebo k nim přiložena jako příloha apod.
Úschova podle osoby schovatele
Smlouva a její podmínky se mohou poměrně podstatně lišit podle toho, kdo je schovatelem, tedy u koho budou kódy uschovány. Schovatelem může být osoba, která je, nebo naopak není odborníkem v IT. Pokud schovatel není odborníkem v IT, zpravidla nebude schopen sám posoudit, zdali uschovávaný kód odpovídá software a kvalitě dohodnuté v rámci Smlouvy, či nikoliv a takové posouzení bude muset učinit někdo jiný. Jelikož jsou IT smlouvy nezřídka vytvářeny, vyjednávány a uzavírány za pomoci advokátů, jeví se jako poměrně vhodné, aby schovatelem zdrojového kódu byl advokát jedné ze smluvních stran (nebo například také banka advokáta). Advokát však zpravidla nebude sám schopen posoudit, zdali uschovávaný kód odpovídá svým obsahem dohodě IT společnosti a zákazníka. Pak lze danou situaci řešit zejména dvěma způsoby, a to posouzením ze strany třetí nezávislé osoby, znalce, dohodnutého ze strany schovatele nebo některé ze smluvních stran, nebo pokud je i zákazník odborníkem v IT (což se stává častěji, než by se mohlo zdát), prozkoumání kódu zákazníkem. IT společnost a zákazník tedy mohou dohodnutým způsobem prozkoumat kód, například na izolovaném prostředí nebo za přítomnosti schovatele, a tak ověřit, že zdrojový kód předávaný schovateli skutečně odpovídá dohodnuté kvalitě a má všechny dohodnuté náležitosti. Samozřejmě pokud si smluvní strany důvěřují, nemusí předání zdrojového kódu do úschovy předcházet jeho prozkoumání (nejlépe při akceptační proceduře v rámci ostatních smluv viz výše), a lze dané překlenout čestným prohlášením IT společnosti. Tento způsob ovšem přináší nutně určitou nejistotu pro zákazníka.
Omezení nakládání s uschovaným kódem
Uvolnění zdrojového kódu z úschovy je zpravidla vázáno na naplnění konkrétních podmínek. V této souvislosti je vhodné uvést, že dané podmínky by měly být takové, aby je schovatel dokázal sám (případně za pomoci odborníka v IT viz výše) objektivně a nestranně posoudit. Bude-li schovatelem advokátní kancelář, zpravidla budou podmínky vázány například na jednoznačné porušení ostatních smluv nebo právně-ekonomický stav IT společnosti (insolvence, likvidace) apod. Uvolnění kódu z úschovy velmi často navazuje například na prohlášení úpadku IT společnosti, dlouhé prodlení v dokončení díla dle implementační smlouvy, dlouhodobé nebo opakované neplnění SLA nebo také na zaplacení dodatečné částky umožňující rozšíření licence a získání zdrojových kódů.
Součástí Smlouvy, i s ohledem na jednotlivé podmínky, na které je vázáno uvolnění kódu z úschovy, často bývají i licenční ujednání. Jednak licenční ujednání zakazující jakékoliv nakládání s kódem do naplnění podmínek pro jejich uvolnění, dovolující užití pouze pro potřeby ověření správnosti kódu (pro znalce za účelem ověření). Dále pak případně ujednání omezující možnost nakládat se zdrojovým kódem, přičemž taková omezení se mohou vztahovat i na konkrétní podmínky, které byly důvodem pro uvolnění kódů. Například je obvyklé, že pokud je důvodem pro uvolnění kódů neplnění SLA, může zákazník užít kód pouze pro vlastní vnitřní potřebu za účelem nahrazení IT společnosti jiným poskytovatelem servisních služeb. Nebo naopak, je-li důvodem pro uvolnění kódu zaplacení konkrétní částky, dochází například k postoupení výkonu majetkových práv na zákazníka a tím k rozšíření licenčních ujednání, která byla sjednána v servisní a implementační smlouvě. Rozsah licence uvedený ve Smlouvě lze tak libovolně vhodným způsobem kombinovat s podmínkami pro uvolnění kódu.
Smlouva by rovněž měla řešit kvalitu úschovy, tedy jak bude kód zabezpečen proti zneužití. Obvyklý je nájem schránky v bance, kde bude kód uložen a zabezpečení nosiče dat heslem (pinem), které zná pouze schovatel nebo třetí nezávislá osoba. Zabezpečení heslem však zpravidla není potřeba, pokud je kód uschován v bankovní bezpečnostní schránce a schovatelem je advokát nebo jiná důvěryhodná osoba. Naopak pokud není kód uschován v bezpečnostní schránce v bance, pak lze zabezpečení datového nosiče heslem doporučit.
Ukončení Smlouvy
Dovolíme si zopakovat a zdůraznit, že Smlouva by neměla řešit pouze podmínky pro uvolnění kódu, licence a podmínky zabezpečení úschovy, ale i podmínky pro ukončení úschovy a nakládání s kódem v případě ukončení Smlouvy. Okamžik ukončení Smlouvy se stanovuje pouze pro případ, kdy nedojde k naplnění podmínek pro uvolnění kódu a zákazník přestane užívat počítačový program, jehož zdrojový kód je uschován. Pokud dojde k naplnění podmínek, končí Smlouva zpravidla předáním kódu zákazníkovi. Je třeba mít na paměti, že úschova je zpravidla za odměnu placenou schovateli, a proto je vhodné trvání Smlouvy vázat na konkrétní období (např. dobu trvání ostatních smluv), vznik konkrétního okamžiku (např. nahrazení dodaného software jiným software), nebo pokud je na dobu neurčitou (není vázána na trvání ostatních smluv), potom optimálně stanovit podmínky pro ukončení (výpověď, odstoupení). Trvání Smlouvy je vhodné vázat na dokončení implementace software, pokud nenavazuje servisní smlouva, ukončení poskytování servisních služeb, pokud navazuje servisní smlouva, nebo na konkrétní dobu od dokončení implementace software, pokud je podmínkou uvolnění kódu zaplacení dodatečné odměny za zdrojový kód. Samozřejmě lze zvolit jakýkoliv jiný okamžik, který smluvním stranám vyhovuje. Smlouva by měla dále jasně stanovit, co se děje s datovými nosiči jednak při aktualizaci kódu, jednak po skončení trvání Smlouvy. Jedním z nejvhodnějších způsobů je navrácení datových nosičů IT společnosti, ať s nimi naloží dle svého uvážení. Dalším vhodným řešením je protokolární zničení ve vhodném zařízení (speciální zařízení pro likvidaci nosičů dat) nebo za přítomnosti smluvních stran. Možností, jak postupovat v případě nenaplnění ani jedné z podmínek pro uvolnění kódu v určité době, je velké množství a Smlouvu tak lze nastavit ke spokojenosti IT společnosti i zákazníka.
Doufáme, že jsme Vám v tomto článku přiblížili náležitosti a možné podmínky úschovy zdrojových kódů. Zároveň věříme, že Vám celý seriál přinesl cenné informace pro uzavírání IT smluv. Budete-li mít zájem o zodpovězení dalších otázek týkajících se práva IT nebo duševního vlastnictví, neváhejte kontaktovat redakci časopisu, případně přímo autory.
Článek byl publikován v časopise IT Systems – https://www.systemonline.cz/
JUDr. Jan Diblík, advokát a partner
HAVEL&PARTNERS s.r.o, advokátní kancelář
JUDr. Samuel Král, advokát, HAVEL&PARTNERS s.r.o, advokátní kancelář