Internet Law: In Diffusione Il Contratto Di Escrow; Brevi Osservazioni
Roma – Il termine escrow (o, piu’ precisamente, Escrow agreement o Source code escrow) individua quel tipo particolare di contratto che si perfeziona tra un’azienda produttrice di software (il licenziante o fornitore), un cliente (il licenziatario) ed un terzo soggetto imparziale, detto “agente di escrow”. Il licenziante, secondo lo schema tipico di questo contratto, concede verso un corrispettivo l’utilizzo di un programma per elaboratore di propria produzione al licenziatario, senza trasmettergli il codice sorgente, e deposita, nel contempo, una copia del programma stesso, completa del codice sorgente, presso l’agente di escrow, con l’accordo che, nel caso in cui il fornitore non sia piu’ in grado di adempiere alle prestazioni previste nel contratto (in genere manutenzione e assistenza), il licenziatario possa ottenere dall’agente di escrow il rilascio del codice sorgente. Ma cosa si intende per codice sorgente? Il codice sorgente, che distinguiamo dal codice oggetto, viene definito come quella sequenza di istruzioni indirizzate all’elaboratore e che, una volta applicate dall’elaboratore stesso, “sostanziano e materializzano il programma”. Il codice oggetto, al contrario, non e’ altro che la traduzione in linguaggio macchina del codice sorgente, che l’elaboratore effettua servendosi di un apposito programma traduttore. Per fare un paragone, si potrebbe pensare ad un codice segreto che, per essere compreso, necessita di una chiave crittografica. L’elaboratore, in altre parole, si serve delle proprie chiavi di decrittazione per decifrare il codice sorgente e permettere, in tal modo, il funzionamento del programma “comprensibile”. Ora, va sottolineato che, per intervenire sulla struttura del programma, non basta conoscere il codice oggetto, ma occorre la piena disponibilita’ del codice sorgente, che costituisce il vero “nocciolo” del programma stesso: senza quest’ultimo, non e’ possibile effettuare quelle operazioni di adattamento, di modifica o di “riparazione” di cui il software puo’ necessitare. Nel contratto di escrow, come abbiamo sottolineato, vengono generalmente previste l’assistenza e la manutenzione a carico del fornitore, che rimane in possesso del codice sorgente e puo’ cosi’ agevolmente intervenire sul software per effettuare le operazioni che si rendono opportune per il suo funzionamento ottimale, per la correzione degli errori originari, per l’aggiornamento e l’implementazione dello stesso. Tali operazioni, peraltro, vengono praticate piuttosto di frequente, visto che i programmi di cui parliamo sono, di norma, “personalizzati”, ossia costruiti sulle esigenze della impresa licenziataria o, molto spesso, creati appositamente per quest’ultima e che, pertanto, abbisognano di continui adattamenti e correzioni. Cio’ significa che, nel caso in cui il fornitore non potesse, per le piu’ varie cause (cessazione dell’attivita’, fallimento, e cosi’ via), continuare ad assistere il cliente, questi si troverebbe nell’impossibilita’ di usare correttamente il prodotto acquistato. In tali casi, l’unica via per il licenziatario (che, giova ricordarlo, non dispone del codice sorgente) e’ costituita dal reverse engineering. Con questo termine si intende quell’attivita’ di “decompilazione” del programma, ovvero quella serie di operazioni che, partendo dal codice oggetto, portano alla “decifrazione” del codice sorgente. Si pongono, a tal punto, due tipi di problemi. Il primo e’ che il reverse engineering e’ estremamente dispendioso e complesso, e richiede una enorme quantita’ di lavoro (oltremodo qualificato), in modo da compromettere del tutto l’economicita’ del contratto di fornitura di software. In altre parole, non vi e’ convenienza nel sottoporre un programma a decompilazione per modificarne le caratteristiche: e’ quasi sempre piu’ opportuno dotarsi di un programma “nuovo”. In secondo luogo, non dobbiamo dimenticare che la legge sul diritto d’autore, che tutela il software come opera dell’ingegno, consente la decompilazione senza autorizzazione del licenziante soltanto allo scopo di consentire l'”interoperabilita'” del software (art. 64quater) o, secondo un’interpretazione estensiva, al fine di correggere quegli errori che non permettono il corretto uso del programma (art. 64ter). Tali possibilita’, ovviamente, presuppongono l’inadempimento del fornitore, il quale non voglia (o non possa) riparare o adattare il software licenziato. In questo caso, comunque, l’utente potrebbe operare una messa in mora del produttore e, in caso di inerzia di quest’ultimo, provvedere alla decompilazione del programma . Ma va segnalato che, di regola, i contratti di licenza di software prevedono espressamente il divieto di praticare il reverse engineering : cio’ chiude al licenziatario ogni possibilita’ di provvedere da se stesso, nei rari casi in cui risulti conveniente, alla riparazione o all’adattamento del programma acquistato. E’ proprio qui che si evidenzia, in tutta la sua portata risolutrice, la funzione del contratto di escrow. La posizione del fornitore viene tutelata da facili abusi da parte del cliente, posto che i codici sorgente costituiscono il patrimonio di maggior valore di qualsiasi casa di software mentre, d’altro canto, anche il licenziatario si sottrae ai rischi di possibili danni derivanti da un inadempimento del produttore.]]>
Scritto da
Commenta!