Il deposito del codice sorgente presso un terzo, sul mercato noto come escrow del software, risponde a un timore ragionevole: il fornitore che ha costruito e gestisce il vostro sistema critico chiude, e voi restate con qualcosa da cui dipendete e che non sapete manutenere. Un contratto di escrow affida il codice sorgente a un soggetto terzo, che ve lo consegna se accade davvero.

Il timore è legittimo. Lo strumento, invece, viene spesso frainteso, e dalla distanza fra le due cose nascono contratti che costano denaro ogni anno e che non aiuterebbero nel giorno in cui servissero.

La domanda scomoda da porsi prima di firmare: se il codice vi venisse consegnato domani, qualcuno saprebbe davvero farlo girare? Un deposito di codice sorgente senza istruzioni di compilazione, senza definizione dell’infrastruttura, senza credenziali per i servizi di terze parti che richiama e senza dati non è un piano di continuità. È una cartella. I contratti di escrow mai verificati rilasciano regolarmente esattamente questo.


Che cosa copre il deposito del codice sorgente

Un contratto a tre fra voi, il fornitore e un agente di escrow. Il fornitore deposita il materiale presso l’agente, l’agente lo custodisce, e condizioni di rilascio definite stabiliscono quando lo ricevete.

Le condizioni di rilascio sono la parte che vale la pena negoziare. L’insolvenza è il caso ovvio e il più semplice da documentare. Altri contano di più nella pratica: il fornitore che smette di manutenere il prodotto, che non rispetta gli obblighi di assistenza, oppure che viene acquisito da un vostro concorrente. Un elenco ristretto di eventi scatenanti significa che l’agente rifiuterà il rilascio proprio nelle situazioni ambigue in cui volete quel materiale più che mai.

Il deposito in sé deve contenere più del solo codice. Come minimo: istruzioni di compilazione abbastanza precise da produrre un sistema funzionante, le versioni delle dipendenze, la configurazione dell’infrastruttura, la documentazione dei servizi esterni con l’indicazione di dove stanno le credenziali, e un referente tecnico con nome e cognome. Senza tutto questo, il codice sorgente vale quasi nulla.

E il deposito va aggiornato. Una copia presa alla firma e mai rinfrescata è il ritratto fedele di un software che nessuno manda più in esecuzione.

Perché quasi tutti gli escrow falliscono al rilascio

Perché nessuno ha controllato.

Il contratto standard è un documento giuridico che dà per buono il contenuto tecnico. Gli agenti di escrow offrono servizi di verifica che vanno dalla conferma che il supporto sia leggibile fino alla compilazione del deposito e alla sua esecuzione in un ambiente pulito. La fascia economica non dimostra quasi nulla. La fascia costosa è l’unica versione che risponde alla domanda che state davvero facendo.

Riscontri frequenti quando un deposito viene verificato sul serio: non compila senza uno strumento che nessuno ha documentato, dipende da un repository di pacchetti privato che non esisterà più dopo il fornitore, richiede credenziali per servizi mai elencati, oppure è semplicemente una versione più vecchia di quella in produzione.

Se pagate per un escrow, pagate per la verifica. Un contratto non verificato trasferisce la sensazione del rischio senza trasferire il rischio, e la differenza di prezzo è minore del costo di scoprirlo nel momento peggiore.

Il problema del SaaS

L’escrow tradizionale presuppone che il software lo gestireste voi. Per il software in hosting quel presupposto di solito non regge.

Ricevere il codice sorgente di una piattaforma a cui accedevate via Internet vi lascia con il bisogno di infrastruttura, strumenti di rilascio, competenze operative e dei vostri stessi dati, e gran parte di tutto ciò non sta nel deposito. Anche con un pacchetto completo, metterlo in piedi richiede settimane che un’azienda dipendente da quel sistema raramente ha.

Ecco perché le tutele utili per il software in hosting sono di altro tipo. I diritti di estrazione dei dati contano più del codice: un diritto contrattuale a un export completo in un formato documentato, esercitato con regolarità invece che soltanto promesso. Un impegno di continuità, con cui il fornitore accetta di erogare il servizio per un periodo di preavviso definito dopo la cessazione, compra il tempo di migrazione che il codice da solo non dà. Un export verificato che avete davvero provato vale più di qualsiasi deposito che non avete mai aperto.

Per gran parte del software in hosting il contratto di escrow è lo strumento sbagliato, comprato per abitudine, e il denaro rende di più speso in export periodici che avete dimostrato di saper leggere.

Quanto costa e a chi conviene

L’escrow è un costo annuo, di norma da qualche centinaio a qualche migliaio di sterline all’anno a seconda della dimensione del deposito, del numero di beneficiari e del livello di verifica. La verifica si paga a parte, ed è lì che sta la spesa che conta davvero.

Conviene davvero: ai sistemi la cui interruzione danneggerebbe concretamente l’attività, ai fornitori abbastanza piccoli perché il dissesto sia una possibilità reale, al software installato in casa o auto ospitabile che potreste plausibilmente gestire, e ai casi in cui lo impone un’autorità di vigilanza o un contratto con un cliente.

Conviene meno: al software in hosting il cui codice non gestireste comunque, ai sistemi standardizzati con sostituti immediati, e ai fornitori piccoli per i quali il costo annuo è una quota visibile del valore del contratto.

L’alternativa da valutare per prima è semplicemente possedere il codice. Se il lavoro è su misura e lo avete commissionato voi, negoziate la cessione della proprietà intellettuale e una copia del repository a ogni rilascio. Questo elimina il bisogno di un agente, e i punti della nostra guida alla due diligence tecnica sono gli stessi che rendono utilizzabile un passaggio di consegne del genere.

Come renderlo utile se lo comprate comunque

Negoziate gli eventi che attivano il rilascio invece di accettare l’elenco standard, e includete l’abbandono del prodotto da parte del fornitore oltre all’insolvenza.

Specificate il contenuto del deposito nel contratto, non in un allegato che nessuno legge. Istruzioni di compilazione, definizione dell’infrastruttura, manifesto delle dipendenze, inventario dei servizi esterni e un referente con nome e cognome.

Pretendete aggiornamenti a cadenza definita oppure a ogni rilascio principale, e pretendete la prova che siano davvero avvenuti.

Pagate la verifica al livello in cui l’agente compila ed esegue il materiale, e leggete il rapporto. Una verifica che ha trovato problemi sta facendo esattamente il suo lavoro.

E mettete alla prova la vostra prontezza. Se il materiale arrivasse domani, chi lo riceverebbe dalla vostra parte, e che cosa farebbe per prima cosa? Un contratto di escrow senza un responsabile interno è una fattura, non un piano. Il ragionamento della nostra guida al disaster recovery si applica in modo diretto.

Mecanik ha sia depositato codice in escrow sia aiutato clienti a capire se ne avessero bisogno, come parte del nostro lavoro di sviluppo software. Il più delle volte la risposta onesta è che gli stessi soldi comprano più protezione se vanno in backup verificati e in una proprietà intellettuale chiaramente assegnata.



Domande frequenti

Che cos’è l’escrow del software? Un contratto a tre fra un cliente, un fornitore di software e un agente di escrow. Il fornitore deposita il codice sorgente e il materiale di supporto presso l’agente, che lo rilascia al cliente al verificarsi di condizioni definite, di solito l’insolvenza del fornitore o l’abbandono della manutenzione del prodotto.

Perché i contratti di escrow falliscono al rilascio? Perché il deposito non è mai stato verificato. I riscontri più comuni sono materiale che non compila senza uno strumento non documentato, dipendenze da un repository di pacchetti privato che sparisce con il fornitore, credenziali mancanti per servizi esterni, o una versione più vecchia di quella in produzione. Solo una verifica che compila ed esegue il deposito risponde alla domanda vera.

L’escrow del software funziona per il SaaS? Male. Ricevere il codice sorgente di una piattaforma in hosting vi lascia comunque il bisogno di infrastruttura, strumenti di rilascio, competenze operative e dei vostri dati, e metterlo in piedi richiede settimane. Diritti di estrazione dei dati, un periodo di continuità contrattuale dopo la cessazione ed export testati con regolarità proteggono un servizio in hosting molto meglio di un deposito di codice.

Quanto costa l’escrow del software? Di norma da qualche centinaio a qualche migliaio di sterline all’anno a seconda della dimensione del deposito, del numero di beneficiari e del livello di verifica, con la verifica fatturata a parte. È nella verifica che sta la spesa che conta, e un contratto senza di essa trasferisce la sensazione del rischio anziché il rischio.

Esiste un’alternativa all’escrow? Per il lavoro su misura che avete commissionato, negoziare la cessione della proprietà intellettuale più una copia del repository a ogni rilascio elimina del tutto il bisogno di un agente. Per il software in hosting, un export documentato che avete davvero provato a leggere di solito vale più di qualsiasi deposito che non avete provato.