Ako vaše poslovanje zavisi od softvera koji niste vi napisali, zavisite od kompanije koja jeste. Vi posjedujete objektni kod i licencu; dobavljač posjeduje izvorni kod, proces izgradnje i znanje. Ta asimetrija je podnošljiva dok je dobavljač solventan i kompetentan, a prestaje biti takva u trenutku kada to više nije. Softverski escrow je standardno rješenje, ali funkcioniše samo ako je sastavljen imajući u vidu holandski zakon o insolventnosti - a većina aranžmana to nije.
Šta je escrow i koji rizici se njime rješavaju
Dobavljač pohranjuje izvorni kod i prateće materijale kod nezavisne treće strane, koja ih drži dok se ne dogodi određeni događaj, a zatim ih predaje kupcu, koji može koristiti i mijenjati kod kako bi softver nastavio raditi. Rizik je kontinuitet, a ne vlasništvo: kupac koji obrađuje narudžbe, vodi evidenciju pacijenata ili planira proizvodnju na proizvodu jednog dobavljača ne može se prebaciti preko noći, jer migracija traje mjesecima i obično zahtijeva pomoć odlazećeg dobavljača. Escrow kupuje vrijeme za uredan izlazak. Tri situacije su važne:
- Nesolventnost. Dobavljač je proglašen bankrotiranim, imenovan je stečajni upravnik, osoblje odlazi i podrška prestaje. Scenarij za koji je napisan escrow i gdje holandski zakon ima najviše učinka.
- Prekid. Dobavljač povlači proizvod, ukida vašu verziju ili ga preuzima neko ko nema interesa za vašu implementaciju. Češće od bankrota i često se izostavlja iz klauzule o oslobađanju od odgovornosti.
- Uporni neuspjeh u održavanju. Dobavljač i dalje postoji i još uvijek fakturiše, ali više ne ispravlja nedostatke, ne šalje sigurnosne zakrpe niti održava proizvod kompatibilnim sa svojim zavisnim komponentama.
Dvostranački i trostranački aranžmani
Dvostrani aranžman je obećanje u glavnom ugovoru da će dobavljač predati izvorni kod ako se dogodi definisani događaj. Jeftin je i slab: niko nezavisno ne provjerava da li je išta deponovano ili ažurirano, i - odlučno - u slučaju bankrota tražite od stečajnog upravnika da ispuni obavezu stečajne mase, što on nije obavezan da učini.
Trostrani aranžman dodaje escrow agenta kao ugovornu stranu. Agent preuzima starateljstvo, provjerava depozit, zadržava ga i ima direktnu obavezu da ga vrati. To je glavni razlog zašto platiti za jednog: vraćanje postaje izvršenje od strane solventne treće strane prema vlastitom ugovoru, a ne od strane stečajne mase. Agent također odlučuje da li je došlo do događaja vraćanja, oduzimajući to od stečajnog upravnika bez ikakvog podsticaja da vam pomogne.
Šta se zapravo deponuje
Najčešći kvar nije legalan. To je depozit koji sadrži izvorni kod i ništa drugo. Sam izvorni kod se ne kompajlira: ako se preda programeru bez instrukcija za izgradnju i bez liste zavisnosti, velika baza koda može zahtijevati sedmice reverznog inženjeringa prije nego što da pokrenuti binarni fajl - vrijeme koje nemate kada sistem već nije podržan. Depozit bez instrukcija za izgradnju je bezvrijedan.
| sastavni | Zašto je to potrebno |
|---|---|
| Izvorni kod, kompletan i verzioniran | Mora odgovarati izdanju koje je zapravo u produkciji, a ne razvojnoj grani. |
| Upute za izgradnju i implementaciju | Verzije kompajlera i vremena izvođenja, skripte za izgradnju, varijable okruženja, koraci implementacije. Bez ovoga, kod ne može postati funkcionalan softver. |
| Tehnička i funkcionalna dokumentacija | Arhitektura, model podataka, interfejsi, poznati nedostaci. Odlučuje da li treća strana može održavati kod ili ga samo izvršavati. |
| Komponente trećih strana i komponente otvorenog koda | Lista zavisnosti sa verzijama i uslovima licence. Neke komercijalne komponente zahtijevaju posebnu licencu od svog dobavljača. |
| Licencni ključevi, certifikati, akreditacije | Softver koji se javlja neispravnom serveru licenci nije kontinuitet. |
Dodajte obavezu ažuriranja. Depozit uplaćen jednom prilikom potpisivanja zastarijeva unutar jednog ili dva ciklusa objavljivanja. Povežite depozite s rasporedom objavljivanja - svako veće izdanje ili fiksni interval - i uzmite pravo da budete obaviješteni kada zakasnite.
Verifikacija: za šta plaćate
Kupite srednju opciju ispod kao standard, i puni test gdje bi prekid bio egzistencijalan. Sama provjera na nivou datoteke je skoro kao da ne kupujete ništa.
- Provjera na nivou datoteke. Agent potvrđuje da je depozit čitljiv, bez virusa i da se podudara s listom datoteka. To dokazuje da je nešto stiglo, a ne da radi.
- Pregled potpunosti i dokumentacije. Agent provjerava instrukcije za izgradnju i zavisnosti u odnosu na depozit i prijavljuje praznine. Ova srednja opcija je prava za većinu korisnika: otkriva uobičajene greške - nedostajuće korake izgradnje, nedokumentovane zavisnosti, komponentu koju nemate pravo koristiti - po cijeni koja je znatno niža od cijene potpunog testiranja.
- Potpuno testiranje izgradnje i pokretanja. Agent kompajlira depozit u čistom okruženju i upoređuje ga sa testnim podacima. Jedini nivo koji dokazuje da depozit funkcioniše, ali je sporiji, skuplji i potrebno ga je ponavljati kako se softver mijenja.
Događaji objavljivanja, nacrtani tako da se oko njih ne može raspravljati
Klauzula o oslobađanju od odgovornosti je okidač koji escrow agent mora primijeniti pod pritiskom i bez pravnog savjeta. Svaki događaj treba biti utvrđen iz dokumenta ili protoka vremena, a ne iz procjene o ponašanju dobavljača.
| Događaj izdavanja | Kako to učiniti objektivno odredivim |
|---|---|
| Stečaj dobavljača | Presuda suda ili zapis iz registra insolventnosti. |
| Obustava plaćanja ili postupak restrukturiranja | Imenovanje stečajnog upravnika ili stručnjaka za restrukturiranje, prema upisu u registar. |
| Raspuštanje ili prestanak poslovanja | Odjava iz trgovačkog registra ili odluka o raspuštanju. |
| Prekid proizvodnje proizvoda ili verzije koja je u upotrebi | Pismena obavijest o kraju životnog vijeka ili istek određenog perioda nakon što dobavljač prestane izdavati dozvole. |
| Uporni neuspjeh u održavanju | Neuspjeh u otklanjanju kvara definirane težine unutar ugovorenog roka za odgovor, nakon obavještenja i perioda za ispravljanje, ponovljen određeni broj puta u određenom vremenskom okviru. |
| Prijenos softvera trećoj strani | Nije bilo pismenog preuzimanja obaveza izdržavanja od strane sticaoca u određenom roku. |
Dvije tačke obavljaju najveći dio posla. Stavite teret prigovora na dobavljača: kupac obavještava agenta s dokazima, dobavljač ima kratak fiksni rok za prigovor, a u slučaju prigovora, agent ga prestaje rješavati. I unaprijed odredite put rješavanja spora - stručno odlučivanje ili arbitraža u kratkom roku - tako da prigovor kupuje dane, a ne mjesece.
Pitanje holandske insolventnosti
Sve gore navedeno je dizajn ugovora. Ono što slijedi odlučuje da li on važi kada dobavljač bankrotira.
Šta stečajni upravnik može odbiti
Prema članu 37 Fw, u slučaju da nijedna strana nije u potpunosti ispunila recipročni ugovor u trenutku donošenja rješenja o stečaju, druga strana može stečajnom upravniku odrediti razuman pisani rok za izjavu o tome hoće li ga ispuniti; ako to ne učini, gubi pravo da zahtijeva ispunjenje zauzvrat. Ono što član 37 Fw ne čini jeste da raskida ugovor niti daje stečajnom upravniku ovlaštenje za raskid. Ugovor ostaje na snazi; stečajni upravnik jednostavno nije obavezan da ga ispuni, a druga strana ostaje sa potraživanjem u stečaju prema članu 37a Fw.
Za softver to znači da povjerenik može odbiti održavanje, podršku, ažuriranja, hosting i daljnje depozite: aktivne performanse koje koštaju imovinu. Očekujte odbijanje. Pitanje je da li se može ići dalje i spriječiti vas da koristite ono što već imate.
Nebula, Berzona i Credit Suisse/Jongepier
Deset godina ovo je bilo zaista neizvjesno. U predmetu Nebula (Hoge Raad, 3. novembar 2006., ECLI:NL:HR:2006:AX8838) Vrhovni sud je presudio da, iako stečaj sam po sebi ne raskida postojeće ugovore, druga strana koja ima pravo korištenja ne može nastaviti da ga vrši protiv stečajnog upravnika kao da stečaj nije ni nastupio; to bi omogućilo jednom povjeriocu da zanemari stečaj na štetu ostalih. To se široko tumačilo kao omogućavanje stečajnom upravniku da poništi prethodno postojeće pravo korištenja, što je uznemirilo nosioce licenci.
To tumačenje nije sačuvano. U predmetu ABN AMRO/Berzona (Hoge Raad, 11. juli 2014., ECLI:NL:HR:2014:1681) Vrhovni sud je presudio da stečaj nema utjecaja na postojeće recipročne sporazume ili obaveze koje iz njih proizlaze, te da stečajnom upravniku ne daje nikakvo ovlaštenje koje mu ne daje zakon ili ugovor - na primjer, ne može raskinuti ugovor o zakupu koji je još uvijek u toku.
Situacija je riješena u predmetu Credit Suisse/Jongepier qq (Hoge Raad, 23. mart 2018., ECLI:NL:HR:2018:424). Stečajni upravnik može pasivno odbiti izvršenje, ali stečaj mu ne daje ovlaštenje da poništi izvršenje koje je dužnik dao prije stečaja, niti da prekine tekuće izvršenje ukoliko se ono sastoji od tolerisanja ili uzdržavanja od nečega.
Ta fraza je ono što je važno za softver. Licenca je u suštini obaveza nosioca prava da toleriše upotrebu koja bi inače kršila autorska prava - kontinuirana izvedba koja se sastoji od tolerisanja. Dakle, prema važećem zakonu, licenca koja je valjano data prije stečaja nastavlja da važi, a stečajni upravnik je ne može opozvati. Stečajni upravnik može odbiti sve što je aktivno, ali ne može isključiti pravo korištenja koje posjedujete.
Šta to znači za vaš aranžman
Slijede dvije stvari. Obaveza oslobađanja treba da ostane na escrow agentu, a ne na dobavljaču: postavljeno kao nezavisno starateljstvo koje drži treća strana, oslobađanje je vlastito izvršenje agenta, a ovlaštenje povjerenika prema članu 37 Fw odnosi se na izvršenja koja duguje stečajna masa, a ne na solventnog agenta, dok dvostrano obećanje zahtijeva izvršenje od strane stečajne mase, što povjerenik može odbiti. I dati licencu unaprijed, a ne prilikom oslobađanja - najvažnija tačka nacrta, o kojoj će biti riječi u nastavku.
U restrukturiranju, a ne u stečaju, član 373 Fw ograničava oslanjanje na ipso facto klauzule - odredbe koje dozvoljavaju drugoj strani da izmijeni, suspenduje ili raskine ugovor samo zato što je započeo postupak restrukturiranja. To ograničenje se primjenjuje u postupku sheme, a ne u stečaju, a odgovor na njega je ponovo strukturnog karaktera: tamo gdje je aranžman sastavljen kao nezavisno čuvanje od strane treće strane, okidač za oslobađanje djeluje na osnovu vlastite obaveze agenta i ne predstavlja ipso facto odredbu koja se može poništiti, ni u restrukturiranju WHOA ni u stečaju.
Kako licenca mora biti strukturirana
Escrow vam daje kopiju izvornog koda, ali ne i pravo da s njim bilo šta radite. Izvorni kod je zaštićeno djelo; njegovo kompajliranje, modificiranje i pokretanje rezultata su ograničene radnje. Bez licence koja ih pokriva, oslobođeni depozit je mapa koju ne smijete otvoriti. Spojite escrow s licencom koja izričito dozvoljava kupcu, nakon oslobađanja, da koristi, kompajlira, modificira i dalje razvija izvorni kod, te da to uradi treća strana - u praksi nećete sami obavljati posao.
Zatim, vrijeme. Dozvola izdata prilikom oslobađanja je krhka. Ako je događaj za oslobađanje sam stečaj, dodjelu bi morao dati dužnik koji je, od dana donošenja rješenja o stečaju, izgubio ovlaštenje da raspolaže imovinom u stečaju; članovi 23. Zakona o stečaju i 35. Zakona o stečaju stoje na putu, a stečajni upravnik vam neće dati dozvolu. Credit Suisse/Jongepier znači da stečajni upravnik ne može opozvati licencu koju ste već imali - ali nema se šta opozvati ako je nikada niste imali.
Dodijeliti ga u samom ugovoru, prije bilo kakve insolventnosti, podložno prethodnom uslovu: dodijeljeno sada, stupa na snagu događajem oslobađanja. Pravo postoji od datuma ugovora; samo je njegovo dejstvo odloženo. Holandsko pravo je generalno prijemčivo za ovu strukturu. U slučaju Rabobank/Reuser (Hoge Raad, 3. juni 2016., ECLI:NL:HR:2016:1046) Vrhovni sud je prihvatio da tamo gdje je uslovno pravo stvoreno prije stečaja, ispunjenje uslova nakon toga stupa na snagu bez ikakvih daljnjih radnji dužnika. Taj slučaj se odnosio na uslovni prenos robe i zalog nad uslovnim pravom. Primjena na uslovno dodijeljenu licencu za autorska prava je ekstrapolacija koju podržava pravna literatura, a ne pitanje koje su riješili sudovi, i treba je kao takvu predstaviti.
Također potvrdite da za korištenje objavljenog materijala nije potrebna daljnja saglasnost dobavljača ili njegovog povjerenika i da je dozvoljeno podlicenciranje nasljednom programeru.
SaaS i cloud: izvorni kod nije dovoljan
Za softver koji sami pokrećete, izvorni kod plus upute za izgradnju plus licenca su blizu potpunog rješenja. Za uslugu nije. Ako platforma dobavljača postane nedostupna, izgubili ste aplikaciju, okruženje u kojem je radila i svoje podatke - a izvorni kod obnavlja samo prvi dio, polako. Aranžman za kontinuitet SaaS-a mora dodati tri stvari:
- Operativno okruženje. Slike kontejnera, definicije infrastrukture kao koda, konfiguracija, mrežne i sigurnosne postavke, zavisnosti vremena izvođenja - dovoljno da platforma bude konkurentna i na drugim platformama.
- Podaci. Redovni izvoz vaših podataka u dokumentiranom, nezaštićenom formatu, sa shemom. Podaci koje ne možete pročitati nisu podaci koje posjedujete, a izvoz bi trebao funkcionirati tokom cijelog ugovora, a ne samo prilikom objavljivanja.
- Odnos domaćinstva. Način za ulazak u ugovor dobavljača s njegovim provajderom hostinga ili obavještenje tom provajderu da možete preuzeti račun i direktno platiti.
Alternative i ko plaća
Escrow nije uvijek najbolja vrijednost, posebno za standardne proizvode gdje ste jedan kupac među hiljadama i realan rizik je prije zalazak sunca nego neuspjeh. Tri lakše opcije su često korisnije: pravo na izlazak podataka - periodični izvozi u dokumentiranom formatu, testirani barem jednom - koji pokrivaju veći dio izloženosti gotovo bez ikakvih troškova; pravo na aktivnu kopiju , sliku koju možete koristiti tokom prelaznog perioda, vraćanje usluge mnogo brže od ponovne izgradnje; i direktno plaćanje provajderu hostinga , održavanje okruženja u radu dok migrirate - najjeftiniji kontinuitet u oblaku, a najčešće se zanemaruje.
Tamo gdje koristite escrow, očekujte jednokratnu naknadu za postavljanje, godišnju naknadu za čuvanje i odvojene troškove po verifikaciji koji se skaliraju s dubinom čeka. Trošak snosi onaj ko želi zaštitu, obično kupac, iako dobavljač koji nudi escrow kao prodajnu prednost može to i učiniti, a aranžman s više korisnika koji pokriva nekoliko kupaca jednog proizvoda ga širi - uobičajena tačka slijetanja gdje se dobavljač opire. Učinite neplaćanje nečim o čemu vas agent mora obavijestiti, uz pravo da plati umjesto toga.
Kontrolna lista za pregovore o escrow aranžmanu
- Da li se radi o istinskom trostranom aranžmanu s nezavisnim agentom koji vam duguje obavezu direktnog oslobađanja od odgovornosti?
- Da li je odobrena licenca za korištenje, kompajliranje, modifikaciju i daljnji razvoj izvornog koda sada, podložno preduslovu, umjesto obećanom prilikom puštanja na slobodu?
- Da li lista depozita uključuje upute za izgradnju, zavisnosti, licencne ključeve i dokumentaciju, ne samo izvorni kod, ažurirane za svako izdanje?
- Koji je nivo verifikacije ugovoren i koliko često se ponavlja?
- Da li se događaji objavljivanja mogu utvrditi iz dokumenta ili protoka vremena, s kratkim periodom za prigovore i brzim putem za rješavanje spora?
- Za SaaS: da li su okruženje, podaci i odnos hostinga obuhvaćeni ili samo kod?
- Ko plaća, šta se dešava ako dobavljač prestane plaćati i da li se ugovor o escrow računu uklapa u mjerodavno pravo glavnog ugovora i klauzule o intelektualnom vlasništvu?
Može li holandski stečajni upravitelj spriječiti escrow agenta da objavi izvorni kod?
Ne direktno. U trostranom aranžmanu, obavezu oslobađanja duga prema vama ima escrow agent prema vlastitom ugovoru, a agent nije bankrotirao. Ovlaštenje stečajnog upravitelja prema članu 37 Fw je da odbije izvršenja koja se duguju stečajnoj masi, a ne da da instrukcije agentu. To je glavni razlog za preferiranje trostranog aranžmana u odnosu na obećanje dobavljača.
Da li moja softverska licenca ostaje na snazi nakon bankrota dobavljača?
Licenca koja je valjano izdata prije stečaja ostaje na snazi i stečajni upravnik je ne može opozvati. U predmetu Credit Suisse/Jongepier qq (Hoge Raad, 23. mart 2018., ECLI:NL:HR:2018:424) Vrhovni sud je potvrdio da stečajni upravnik ne može prekinuti kontinuiranu radnju koja se sastoji od tolerisanja ili suzdržavanja, a licenca je takva radnja. Stečajni upravnik može odbiti sve što je aktivno: održavanje, podršku, ažuriranja, hosting.
Da li je presuda u slučaju Nebula i dalje prijetnja nosiocima licenci?
Ne u obliku koji se nekada strahovao. Nebula (Hoge Raad, 3. novembar 2006, ECLI:NL:HR:2006:AX8838) je široko tumačena kao da dozvoljava povjereniku da zanemari postojeće pravo korištenja. Berzona i Credit Suisse/Jongepier su ograničili to tumačenje. Povjerenik može odbiti izvršenje, ali nema ovlaštenje koje mu zakon ili ugovor ne daju, a opoziv licence nije takvo ovlaštenje.
Zašto je problem izdavanje licence tek po puštanju u promet?
Zato što bi dodjela morala biti izvršena nakon stečaja, kada dužnik izgubi ovlaštenje da raspolaže imovinom stečajnog upravnika i stečajni upravnik nema obavezu da djeluje u vaše ime. Sudska praksa štiti licence koje već posjedujete; ona ih ne stvara. Dodijelite je sada, pod uslovom da prethodni uslov stupi na snagu nakon oslobađanja od stečaja.
Da li escrow pomaže kod SaaS dobavljača?
Samo djelimično. Izvorni kod ne vraća u rad uslugu. Funkcionalni SaaS aranžman mora također pokrivati operativno okruženje - slike kontejnera, definicije infrastrukture, konfiguraciju - redovni izvoz vaših podataka u dokumentiranom formatu i put za preuzimanje ili plaćanje provajderu hostinga. Bez toga, to vam daje projekat obnove umjesto kontinuiteta.
Da li se zaista isplati platiti za verifikaciju?
Da, na srednjem nivou. Provjera na nivou datoteke potvrđuje samo da je nešto stiglo. Pregled potpunosti u odnosu na instrukcije za izgradnju i listu zavisnosti otkriva bitne greške - nedostajuće korake izgradnje, nedokumentovane zavisnosti, komponente koje nemate pravo koristiti. Potpuni test izgradnje i pokretanja je jedina uvjerljiva opcija, vrijedna svoje cijene tamo gdje bi prekid bio egzistencijalan.

