Sviluppo software: il contratto

Il contratto di sviluppo software è un contratto atipico con il quale un soggetto (committente) incarica una software house o un singolo sviluppatore (fornitore) di progettare e realizzare un programma informatico che si adatti alle sue particolari esigenze.

L’oggetto del contratto di sviluppo software

L’aspetto più importante del contratto riguarda la disciplina della cessione dei diritti d’autore.

Talvolta il committente ha interesse a diventare l’esclusivo titolare del software e ad acquistarne i diritti di sfruttamento economico. Un contratto di questo tipo attribuisce al committente dei diritti di esclusiva sul software ma ha un costo decisamente più elevato.

Più spesso, il committente è interessato soltanto ad usare il software, senza averne l’esclusiva. In questo caso, il prezzo sarà minore e lo sviluppatore potrà riutilizzare il lavoro fatto per il committente anche in favore di altri clienti. Inoltre manterrà i diritti d’autore sui codici sorgente ed oggetto e potrà riutilizzarli e modificarli per realizzare programmi simili.

In questo secondo caso, lo sviluppatore deve riservarsi ogni diritto di proprietà sul programma e cederlo al cliente in licenza d’uso

[vc_posts_grid post_layout=”small” loop=”size:10|order_by:date|by_id:1118″]

La forma scritta del contratto è fondamentale, in quanto richiesta ad probationem della cessione dei diritti d’autore.

Nell’oggetto del contratto di sviluppo software occorre descrivere le funzionalità richieste e precisare le esigenze del committente. Il soddisfacimento di queste esigenze rappresenterà il parametro per valutare l’adempimento da parte dello sviluppatore.

Le fasi della contrattazione

L’attività che conduce allo sviluppo di un software si distingue generalmente in tre fasi:

  1. studio di fattibilità;
  2. progettazione;
  3. sviluppo.

Lo studio di fattibilità consiste nell’analisi delle esigenze concrete esposte dal committente. Talvolta, a conclusione di questa prima fase le parti stipulano un primo accordo scritto, dove disciplinano la fase della progettazione.

La progettazione si conclude con la redazione delle specifiche funzionali del software da realizzare, dei requisiti da soddisfare, dei tempi di consegna, delle condizioni particolari, del costo etc. In questa fase si definiscono gli obiettivi da raggiungere e si specifica l’oggetto del contratto.

Quando le parti accettano il progetto, il contratto di sviluppo può considerarsi perfezionato. A questo punto, lo sviluppatore potrà iniziare la fase esecutiva vera e propria, che si concluderà con il collaudo e l’accettazione del software.

In alcuni casi, soprattutto quando il budget non è molto alto, si riducono le fasi a due: progettazione ed esecuzione. In questo caso, il contratto di sviluppo software si riduce ad una singola scrittura privata, sottoscritta dalle parti al termine o nel corso della fase di progettazione.

Collaudo e accettazione

Lo sviluppo software viene spesso assimilato ad un contratto di appalto o di opera. Lo sviluppatore ha dunque un obbligo di risultato. Affinché il risultato possa ritenersi raggiunto è necessaria l’accettazione del software da parte del committente, all’esito di un collaudo positivo.

In caso di esito negativo del primo collaudo, generalmente si concede allo sviluppatore un termine per correggere i difetti riscontrati. I collaudi potrebbero essere quindi più di uno, sino a quando il risultato specificato nel progetto non viene raggiunto ed il software accettato. È possibile inserire una clausola penale con riduzione del prezzo ad ogni collaudo negativo e prevedere un numero massimo di collaudi negativi, al cui superamento il contratto potrà essere risolto.

Garanzie e clausole di esclusione di responsabilità

È comune inserire nei contratti di sviluppo software della clausole che escludano la garanzia per il committente e la responsabilità per lo sviluppatore in caso di danni diretti o indiretti derivanti dall’uso del programma. Lo sviluppatore risponderà comunque dei danni causati con dolo o per colpa grave e sono nulle le clausole volte ad escludere anche tale responsabilità.

Come sopra accennato, il contratto di sviluppo software viene spesso assimilato ad un contratto di appalto. Conseguentemente, in caso di vizi o difformità dal progetto, il committente potrà chiederne la rimozione o pretendere la riduzione del prezzo. Nel caso in cui il software sia del tutto inidoneo all’uso pattuito, potrà chiedere la risoluzione. La garanzia non opera quando il software è stato accettato ed i vizi erano riconoscibili al momento del collaudo, a meno che non vengano taciuti in mala fede dallo sviluppatore.

Generalmente, la garanzia di legge viene sostituita con una garanzia contrattuale. Lo sviluppatore si impegna ad eliminare difetti ed eventuali bug del programma che si manifestino entro un periodo stabilito di tempo.

Assistenza e manutenzione

Al contratto di sviluppo software vero e proprio si aggiunge un contratto di assistenza e manutenzione, con il quale il fornitore si impegna per un determinato periodo a fornire assistenza, ad eliminare eventuali bug o comunque a fornire gli aggiornamenti necessari.


Nota: quanto sopra esposto rappresenta soltanto un breve riassunto degli aspetti da valutare al fine di redigere un contratto di sviluppo software. La negoziazione e redazione del contratto necessita dell’assistenza di un professionista esperto. 

Per richiedere un preventivo per assistenza e/o consulenza relativi ad un contratto di sviluppo software o fissare un appuntamento si prega di utilizzare il modulo contatti, oppure scrivere all’indirizzo e-mail massimobacci@legalicappellinicarlesi.it o telefonare allo Studio Legale. La richiesta di preventivo è gratuita e nessun costo verrà addebitato al cliente in assenza di un formale conferimento dell’incarico.