Multe companii ajung să depindă de anumite soluții software de business din varii motive: fie ca urmare a utilizării îndelungate a acestora, fie ca urmare a unei adaptări (adeseori laborioase și de durată) a soft-ului la particularitățile respectivelor afaceri, fie pur și simplu pentru că softul în cauză este unul foarte bun în comparație cu celelalte soluții de pe piață.
Un exemplu poate fi cel al soluțiilor ERP (enterprise resource planning) adaptate în funcție de procesele de business ce prezintă interes pentru compania beneficiară. Aceste softuri ajung să fie particularizate și utilizate într-un asemenea grad ridicat, încât pentru unele companii este imposibil să-și desfășoare activitatea fără ele. (De exemplu: companiile de transport, companiile de distribuție, instituțiile financiare, etc.). Mai pot exista și alte exemple.
În acest mod se poate naște, în unele cazuri, un soi de simbioză între dezvoltatorul de aplicații și compania beneficiară.
Pentru dezvoltator, libertatea de alegere este ceva mai mare: faptul că un client nu își plătește facturile poate să nu fie o problemă atât de importantă, atât timp cât are fonduri suficiente pentru a-și continua activitatea.
Din perspectiva clienților, întreruperea dezvoltării sau a mentenanței de către dezvoltator poate fi o problemă mai serioasă. De exemplu, în cazul softurilor particularizate pentru susținerea businessului companiilor, o alternativă poate să nu fie accesibilă imediat, ceea ce poate duce la dificultăți majore și chiar la un blocaj al activității beneficiarului.
Se pune, deci, problema cum se pot proteja beneficiarii de asemenea soluții software, în situațiile în care dezvoltatorul își întrerupe serviciile. (De exemplu: în caz de faliment al dezvoltatorului, în caz de întrerupere a dezvoltării software-ului, în caz de nerespectare a obligației de mentenanță a softului, etc.)
O asemenea soluție de protecție poate fi software escrow-ul sau source-code escrow-ul. În esență, acest mecanism este același cu escrow-ul din tranzacțiile obișnuite. Pentru cine nu este familiarizat cu acesta, mecanismul poate fi rezumat în felul următor: vânzătorul și cumpărătorul unui bun desemnează o terță parte (de obicei o bancă), pentru a depozita o sumă de bani (prețul) în numele ambelor părți, și o mandatează să elibereze respectiva sumă de bani, în funcție de îndeplinirea anumitor condiții. (De exemplu: dacă cumpărătorul prezintă un anumit document stabilit de părți la bancă, aceasta îi va transfera banii; în caz contrar, aceștia se vor întoarce la vânzător.)
În mod similar funcționează și software escrow-ul, părțile contractuale implicate fiind de această dată dezvoltatorul aplicației, compania beneficiară și o companie specializată în servicii de software escrow - agentul escrow.
În cadrul aranjamentelor de software escrow, dezvoltatorul transmite către agentul escrow elementele esențiale ale aplicației - codul sursă și alte elemente software, precum și documentația aferentă acestora. În măsura în care aplicația este actualizată cu noi versiuni, se actualizează corespunzător și materialele depozitate de către agentul escrow.
Agentul escrow va fi însărcinat să păstreze materialele în condiții de securitate și confidențialitate și să le pună la dispoziția uneia dintre părți, în anumite cazuri foarte clar delimitate prin contract. Situația tipică este cea a intrării în faliment a dezvoltatorului, caz în care agentul escrow va pune aceste date și documente la dispoziția companiei beneficiare, pe baza unor documente oficiale cu privire la falimentul dezvoltatorului.
Prin acest mecanism, compania beneficiară are posibilitatea să dezvolte aplicația în mod independent, în cazul în care dezvoltatorul inițial nu se mai implică voit sau nu în această activitate.
Alegerea unui agent escrow poate fi destul de grea. Din căutările mele pe Internet, nu am reușit să găsesc o companie românească ocupându-se cu așa ceva; nimic nu împiedică să se apeleze la un agent escrow străin, mai ales că vorbim de transmiterea de informații pe suport electronic, când distanțele nu mai contează. Trebuie luate în calcul o serie de variabile: experiența agentului escrow în domeniu, capacitățile tehnice și infrastructura agentului, mediul de stocare a datelor și protocoalele de securitate, etc..
De asemenea, o atenție deosebită trebuie acordată contractului de escrow și asupra modului în care este formulat. De exemplu, dezvoltatorul va căuta să restrângă drastic cazurile în care materialele sunt transmise utilizatorului aplicației, în vreme ce clientul va avea o tendință contrară.
Desigur, dacă clauzele vi se par neclare sau prea tehnice, nu va sfiiți să apelați la un specialist cu experiență juridică în domeniul IT. În paranteză fie spus, SRL-urile "specializate" în domeniul juridic nu sunt o soluție (activitatea lor este chiar în afara legii), așa cum nici un avocat "ieftin" nu vă va face neaparăt o treabă bună.
În final, ne putem pune întrebarea (poate nu singura): ce se întâmplă dacă și agentul escrow nu mai poate să-și îndeplinească obligațiile (de exemplu, dacă dă și el faliment)? Răspunsul nu poate fi decât unul specific domeniului IT: facem back-up la back-up.
de Mihai Varga
de Călin Diniș , Mihai Tentis