1 – Il codice sorgente del software. Perché è importante tutelarlo?
Il codice sorgente è il testo di un algoritmo di un programma. Precisamente, si tratta di un testo scritto in un linguaggio di programmazione da parte di uno sviluppatore nella fase della progettazione del programma stesso.
Ogni applicazione, software, programma o sito web viene generato sulla base di un codice che ne costituisce la fonte, scritta in un linguaggio informatico (c.d. listato).
Questo codice rappresenta il progetto originale sviluppato dal programmatore e contiene tutto il materiale preparatorio unitamente ad una serie di istruzioni utili, che vengono poi elaborate per la creazione del software.
Ne consegue, allora, che il file sorgente contenga l’idea, la tecnica e il metodo propri di colui che provveda alla creazione di un software, di un sito web o di un’applicazione e – come visto – egli mantiene i diritti alla paternità del relativo codice, salvo diversa pattuizione con il committente.
Si ricorda che venire in possesso del codice sorgente di un software significa avere la possibilità di modificarlo o aggiornarlo, ovvero farlo modificare o aggiornare da terze persone con la facoltà di creare, successivamente alla modifica, lavori costruiti sulla base del progetto originario.
Dunque, al termine del lavoro di sviluppo di un software per il committente e al momento della consegna del software finito, il programmatore dovrà consegnare anche il relativo codice sorgente?
La risposta a tale quesito è vincolata alle intenzioni delle parti coinvolte e da ciò che le stesse hanno pattuito.
In generale, però, si può affermare che in assenza di una specifica indicazione del programmatore con cui questo presti il proprio consenso alla cessione del codice sorgente unitamente al software, sia prevista la sola consegna di quest’ultimo, senza che il committente possa pretendere
diversamente.
Pertanto, se non specificamente previsto dal contratto di sviluppo, il programmatore non sarà onerato anche della consegna del codice sorgente, da considerarsi come il vero e proprio valore intellettuale dell’opera.
Infatti, i codici sorgente dei programmi informatici sviluppati da esperti del settore costituiscono oggi il patrimonio di maggior valore di qualsiasi Software house e Software developer.
2 – Il contratto di deposito del codice sorgente (c.d. source code escrow)
Il contratto di deposito del codice sorgente, la cui natura è stata dettagliatamente analizzata nella Sentenza n. 14731/16 emessa dal Tribunale di Oristano, è lo strumento contrattuale che protegge il codice di un programma informatico con la funzione di garanzia a favore tanto del produttore (azienda o lavoratore autonomo) quanto del cliente (committente).
Il contratto in questione ha natura trilaterale e si perfeziona tra il programmatore del software, il cliente ed un terzo soggetto (fiduciario o anche detto “agente di escrow”).
Considerando che spesso le esigenze di queste categorie di soggetti sono opposte, la tutela del software e della riservatezza dei codici è bene che sfoci in strumenti contrattuali che siano in grado di conciliarle, mettere per iscritto ogni aspetto del rapporto tra le parti nonché porle in una condizione di consapevolezza circa le conseguenze scaturenti dalla violazione del contratto.
Questo strumento prende forma con l’escrow, figura negoziale caratterizzata da una funzione di custodia e garanzia, e prevede l’intervento di un terzo, imparziale e fiduciario delle parti – nella maggior parte dei casi un Notaio – presso cui eseguire il deposito del codice in garanzia.
In altre parole, mediante il source code escrow i soggetti coinvolti possono contrattualmente minimizzare i rischi di incomprensioni o futuri conflitti, disponendo il deposito presso il terzo di una copia del codice sorgente di un programma prodotto da una parte (licenziante) e concesso in utilizzo all’altra (licenziatario); nonché concordare la possibilità che il cliente possa ottenere dal terzo la consegna di una copia del codice sorgente al verificarsi di condizioni previste nel contratto.
Dunque, lo schema del contratto prevede che il licenziante (programmatore) conceda verso un corrispettivo l’utilizzo di un programma di propria produzione al licenziatario (cliente), senza trasmettergli il codice sorgente, e depositi, al contempo, una copia del programma stesso, completa del codice sorgente presso il terzo in qualità di figura super partes, con l’accordo che, nel caso in cui il programmatore non sia più 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.
3 – Perché stipulare un contratto di deposito è conveniente.
La stipulazione di contratti di deposito del codice sorgente è divenuta attività diffusa al giorno d’oggi ed ha assunto rilevanza tanto nel caso della commissione di sviluppo quanto nel caso di licenza d’uso del software.
Queste fattispecie – di norma – tutelano il programmatore prevedendo la sola consegna del programma eseguibile e non dei relativi codici, che consentirebbero di modificarne la struttura e il funzionamento.
Tuttavia, non sempre le volontà delle parti sono conciliabili ed è chiaro che le stesse intendano ricevere una tutela soddisfacente ed efficace rispetto all’attività che si impegnano a compiere.
Allora, la necessità della contrattazione nasce dal diverso punto di vista delle parti. Il punto di vista del programmatore è quello di consegnare – alla scadenza del termine previsto – esclusivamente il lavoro finito, così da mantenere la segretezza del codice sorgente che ne costituisce il valore originario e la cui libera conoscenza permetterebbe ad un numero indefinito di soggetti di fruirne a proprio vantaggio.
Il punto di vista del committente, naturalmente, è differente. Questo perché senza la consegna del codice sorgente che gli consente di modificare il programma, egli può risultare esposto al rischio di rimanere impotente in caso di danni derivanti da un inadempimento del produttore del software, qualora quest’ultimo, ad esempio, non fosse più in grado di garantire le prestazioni originariamente pattuite.
A fronte di tali situazioni, risulta conveniente affidarsi ad un soggetto terzo ed imparziale, per mezzo del quale giungere ad una pacifica conclusione della trattativa commerciale e prevenire eventuali conflitti.
Naturalmente, tali considerazioni acquisiscono maggior importanza in base alla natura, al valore e alla rilevanza sul piano internazionale dell’azienda coinvolta nonché del codice sorgente oggetto della trattativa.
Software house, multinazionali, enti, organizzazioni ed istituzioni culturali: tutte queste realtà necessitano di una soluzione efficace per salvaguardare i propri software e mantenere un vantaggio competitivo sul mercato, garantito in gran parte dai codici sorgenti dei programmi.
Al contempo, è importante tutelare il cliente da possibili rischi che la progettazione comporta.
Ebbene, l’equilibrio tra le due posizioni si trova tramite il contratto di deposito dei codici, tramite il quale si risponde all’esigenza di tutelare il valore della proprietà intellettuale e di impedire interruzioni nelle attività operative legate all’utilizzo dei software.
Il Notaio, nella sua veste di pubblico ufficiale imparziale, è in grado di garantire la segretezza e l’integrità nel tempo del codice sorgente.
In particolare, il cliente al quale il prodotto finale è destinato ottiene una tutela notevolmente maggiore rispetto a quella che otterrebbe in assenza del contratto di deposito.
Si evidenziano alcune delle condizioni che possono esporre il cliente a rischi, quali ad esempio:
- il mancato rispetto da parte del programmatore di una determinata previsione contrattuale;
- l’assorbimento dell’azienda produttrice da parte di altra azienda che non intende gestire il software licenziato;
- il verificarsi di errori nella manutenzione del software;
- il fallimento o la bancarotta del licenziante.
Dunque, al ricorrere di tali eventi – che l’agente di escrow provvederà a certificare – il cliente potrà ottenere il rilascio del codice sorgente del software.
DISCLAIMER
Gentile utente,
gli articoli e i contenuti del sito illustrano sinteticamente tematiche giuridiche, economiche e fiscali. Le informazioni contenute nel sito hanno solo carattere esemplificativo, informativo e non hanno carattere esaustivo, né possono essere intese come espressione di un parere legale. Nessuna responsabilità derivante da un utilizzo improprio dei contenuti del sito, da eventuali modifiche intervenute nella normativa o da possibili imprecisioni, potrà essere pertanto imputata al Notaio Edoardo Del Monte o agli estensori delle pubblicazioni medesime.
Software: the notary can be the custodian of the source code
1 – The source code of the software. Why is it important to protect it?
The source code is the text of an algorithm of a program. Specifically, it is a text written in a programming language by a developer in the design phase of the program itself.
Every application, software, program or website is generated on the basis of a code that constitutes its source, written in a computer language (so-called listing).
This code represents the original project developed by the programmer and contains all the preparatory material together with a series of useful instructions, which are then elaborated for the creation of the software.
It follows, then, that the source file contains the idea, technique and method of the person who creates a software, a website or an application and – as seen – he maintains the rights to the paternity of the relative code, unless otherwise agreed with the client.
Please remember that coming into possession of the source code of a software means having the possibility of modifying or updating it, or having it modified or updated by third parties with the right to create, after the modification, works built on the basis of the original project.
Therefore, at the end of the development work of a software for the client and at the time of delivery of the finished software, must the programmer also deliver the relative source code?
The answer to this question is bound to the intentions of the parties involved and what they have agreed.
In general, however, it can be said that in the absence of a specific indication from the programmer with which he gives his consent to the transfer of the source code together with the software, only the delivery of the latter is foreseen, without the client being able to claim
otherwise.
Therefore, if not specifically provided for in the development contract, the programmer will not also be required to deliver the source code, to be considered as the true intellectual value of the work.
In fact, the source codes of computer programs developed by industry experts are today the most valuable assets of any Software house and Software developer.
2 – The source code deposit contract (so-called source code escrow)
The source code deposit contract, whose nature has been analyzed in detail in Sentence no. 14731/16 issued by the Court of Oristano, is the contractual instrument that protects the code of a computer program with the function of guarantee in favor of both the producer (company or self-employed worker) and the customer (client).
The contract in question is trilateral in nature and is perfected between the software programmer, the customer and a third party (trustee or also called “escrow agent”).
Considering that the needs of these categories of subjects are often opposed, the protection of software and the confidentiality of codes should result in contractual instruments that are able to reconcile them, put in writing every aspect of the relationship between the parties and put them in a condition of awareness regarding the consequences arising from the violation of the contract.
This instrument takes shape with the escrow, a contractual figure characterized by a custody and guarantee function, and provides for the intervention of a third party, impartial and trustee of the parties – in most cases a Notary – with whom to deposit the code under guarantee.
In other words, through the source code escrow the subjects involved can contractually minimize the risks of misunderstandings or future conflicts, arranging for the deposit with the third party of a copy of the source code of a program produced by one party (licensor) and granted for use to the other (licensee); as well as agreeing on the possibility that the customer can obtain from the third party the delivery of a copy of the source code upon the occurrence of conditions set out in the contract.
Therefore, the contract scheme provides that the licensor (programmer) grants the licensee (customer) the use of a program of his own production for a fee, without transmitting the source code, and at the same time deposits a copy of the program itself, complete with the source code, with the third party acting as a super partes figure, with the agreement that, in the event that the programmer is no longer able to fulfill the services provided for in the contract (generally maintenance and assistance), the licensee can obtain the release of the source code from the escrow agent.
3 – Why is it convenient to stipulate a deposit contract.
The stipulation of source code deposit contracts has become a widespread activity nowadays and has become relevant both in the case of the development commission and in the case of software license.
These cases – as a rule – protect the programmer by providing for the delivery of the executable program only and not of the related codes, which would allow for modification of its structure and operation.
However, the wills of the parties are not always reconcilable and it is clear that they intend to receive satisfactory and effective protection with respect to the activity they undertake to carry out.
Then, the need for negotiation arises from the different points of view of the parties. The programmer’s point of view is to deliver – upon expiry of the expected term – only the finished work, so as to maintain the secrecy of the source code which constitutes its original value and whose free knowledge would allow an indefinite number of subjects to use it to their advantage.
The point of view of the client, of course, is different. This is because without the delivery of the source code that allows him to modify the program, he may be exposed to the risk of remaining helpless in the event of damages resulting from a breach of contract by the software manufacturer, if the latter, for example, is no longer able to guarantee the performance originally agreed.
In such situations, it is convenient to rely on a third party and impartial, through which to reach a peaceful conclusion of the commercial negotiation and prevent any conflicts.
Naturally, these considerations acquire greater importance based on the nature, value and international relevance of the company involved as well as of the source code that is the object of the negotiation.
Software houses, multinationals, entities, organizations and cultural institutions: all these entities need an effective solution to safeguard their software and maintain a competitive advantage on the market, guaranteed in large part by the source codes of the programs.
At the same time, it is important to protect the customer from possible risks that the design entails.
Well, the balance between the two positions is found through the code deposit contract, through which the need to protect the value of intellectual property and prevent interruptions in operational activities related to the use of software is met.
The Notary, in his role as an impartial public official, is able to guarantee the secrecy and integrity of the source code over time.
In particular, the customer to whom the final product is intended obtains significantly greater protection than that which he would obtain in the absence of the deposit contract.
Some of the conditions that may expose the customer to risks are highlighted, such as:
- the programmer’s failure to comply with a specific contractual provision;
- the absorption of the manufacturing company by another company that does not intend to manage the licensed software;
- the occurrence of errors in software maintenance;
- the failure or bankruptcy of the licensor.
Therefore, upon the occurrence of such events – which the escrow agent will certify – the customer will be able to obtain the release of the software source code.
DISCLAIMER
Dear user,
the articles and contents of the site briefly illustrate legal, economic and fiscal issues. The information contained in the site is for illustrative and informative purposes only and is not exhaustive, nor can it be considered as an expression of legal opinion. No liability arising from improper use of the contents of the site, from any changes in the legislation or from possible inaccuracies, can therefore be attributed to Notary Edoardo Del Monte or to the authors of the publications themselves.