giovedì, Marzo 28, 2024
Uncategorized

Il contratto di sviluppo software

Summary: 1. Cos’è un software  2. I contratti di sviluppo software  2.1.  Contratto riconducibile al contratto d’opera  2.2.  Contratto riconducibile al contratto d’appalto  3.  Breve accenno alle fasi di sviluppo del contratto  3.1. Premessa  3.2. Le fasi  4. Contratto di sviluppo software e diritto d’autore

1. Cos’è un software?

Si definisce software o programma per elaboratore il bene immateriale che si presenta come “espressione di un insieme organizzato e strutturato di istruzioni o simboli contenuti in qualsiasi forma o supporto, capace direttamente o indirettamente di far eseguire e far ottenere una funzione, un compito o un risultato particolare per mezzo di un sistema di elaborazione elettronica dellinformazione”[1]. Viene tutelato come opera dell’ingegno ed in particolare l’art. 2 legge 633/1941, la c.d. Legge sul Diritto d’Autore[2], specifica che […] sono compresi nella protezione […] i programmi per elaboratore, in qualsiasi forma espressi purché originali quale risultato di creazione intellettuale dell’autore. Restano esclusi dalla tutela le idee e i principi che stanno alla base di qualsiasi elemento di un programma, compresi quelli alla base delle sue interfacce. Il termine programma comprende anche il materiale preparatorio per la progettazione del programma stesso”. Si ricorda inoltre che secondo l’art. 45 del D. Lgs. n. 30/2005[3], Codice della proprietà industriale, è escluso che tali opere possano costituire oggetto di brevetto.

Si ammettono tre modalità di sfruttamento del software, quali: a) cessione del software b) licenza del software c) contratti di sviluppo software. In particolare, è su questa ultima modalità che si concentra il presente articolo.

2. I contratti di sviluppo software

Si parla di contratto di sviluppo software riferendosi ad un contratto atipico volto a disciplinare il rapporto tra un soggetto che richiede la realizzazione di un custom made software, detto committente, e un professionista sviluppatore, freelance o software house, detto concedente, incaricato della realizzazione del progetto.[4] Il software, che presenterà le specifiche caratteristiche richieste dal cliente, dovrà essere consegnato entro un termine fissato dalle parti di comune accordo. Questo aspetto fa sì che il contratto di sviluppo software non possa essere utilizzato per regolare rapporti di fornitura di servizi continuativi, quali manutenzione di un software, assistenza tecnica o bug fixing[5] continuativo, nei quali la consegna finale non è prevista[6].

In riferimento ai soggetti coinvolti si possono individuare:

  • il cliente che richiede e andrà ad utilizzare il software;
  • la software house incaricata del progetto di sviluppo;
  • il professionista, dipendente di agenzia ovvero un soggetto terzo, incaricato della realizzazione;

Questo aspetto può sensibilmente influenzare l’applicazione della L. 633/1941.

Fra le parti non si instaura un rapporto di subordinazione e l’obbligazione consiste nella realizzazione di opere dotate di originalità in cambio del pagamento di un prezzo.[7] Ferma restando l’adozione di cautele nella formulazione del contratto (es. definire il numero di modifiche in corso d’opera e la loro entità, la tempistica relativa alla denuncia di eventuali vizi e il limite di tempo entro il quale gli stessi verranno risolti, l’ interesse del committente ad avere l’esclusiva di utilizzo, la durata della garanzia del prodotto), si impone altresì il rispetto della forma scritta ad probationem (art. 110 l.d.a.[8]). In ogni caso, entrambe le parti contrattuali sono investite dell’obbligo di collaborare.

Come anticipato, l’ordinamento giuridico italiano non offre una disciplina contrattuale specifica della fattispecie e questo aspetto ne rende senza dubbio particolarmente complessa la stesura, considerando anche la necessità di applicare la legge sul diritto d’autore in ragione della qualifica del software come opera dell’ingegno.

La natura giuridica è determinata dalla natura soggettiva del programmatore e di conseguenza si perfezionerà un contratto riconducibile:

  • al contratto d’opera regolato dall’articolo 2222 e seguenti cod. civ. qualora si tratti di un professionista;
  • al contratto di appalto regolato dall’articolo 1655 cod. civ. e seguenti qualora si tratti di una società;

La principale conseguenza sarà un diverso regime di responsabilità del programmatore.

2.1. Contratto riconducibile al contratto d’opera

In questo caso il professionista è chiamato ad impegnarsi nello sviluppo del programma con “lavoro prevalentemente proprio” e con maggiore autonomia. Nonostante le controversie a riguardo, si ritiene possa instaurarsi una obbligazione di mezzi. Le stesse discussioni non si verificano ad esempio rispetto a molte altre tipologie di contratti per il web, dove tendenzialmente la natura di obbligazione di mezzo non è motivo di dubbo[9]. Ad ogni modo, la qualificazione è rilevante ai fini della responsabilità dello sviluppatore, il quale in questo caso sarà chiamato a rispondere per le sole ipotesi di danni derivanti da dolo o colpa grave secondo quanto enunciato dall’articolo 2236 cod. civ.[10].

2.2.  Contratto riconducibile al contratto d’appalto

Quando il programmatore è una società, il contratto atipico di sviluppo software è riconducibile al contratto di appalto nel quale si prevede che tale specialista elabori il software sulla base delle esigenze tecniche del cliente[11]. Si instaura un’obbligazione di risultato e la società procede nello sviluppo del software “con organizzazione dei mezzi necessari e con gestione a proprio rischio”. Principalmente utilizzato per commissionare software personalizzati[12], la responsabilità si estende alla conformità del software realizzato rispetto alle suddette specifiche richieste ed esigenze tecniche precisate dal committente nel contratto. Inoltre, trova applicazione la garanzia per vizi e difformità ex art. 1667[13] e 1668[14] cod. civ.. È chiaro che quando si configura un’obbligazione di risultato il committente avrà maggiori tutele nel caso di inadempimento.

3. Breve accenno alle fasi di sviluppo del contratto 

3.1. Premessa

L’attività di sviluppo può avvenire sia prendendo le mosse da un nucleo già esistente (un codice semi-lavorato) sia procedendo in un’attività di sviluppo ex novo.

La stipula del contratto prevede una serie di step fondamentali. Ad una fase di progettazione segue una fase di esecuzione e per entrambe è possibile procedere mediante due contratti diversi e autonomi[15].

Prima di ripercorrere queste fasi si rende necessaria una breve premessa. In occasione della comunicazione delle esigenze sulla base delle quali il software deve essere elaborato, il cliente potrebbe dover rivelare informazioni riservate. Per questo motivo si sottolinea l’importanza di valutare, ancor prima dell’inizio della fase di contrattazione, la sottoscrizione di un contratto di riservatezza[16].

3.2. Le fasi

a) Lo studio di fattibilità rappresenta il primo importante passaggio e consiste in un’analisi effettuata dallo sviluppatore riguardante le richieste avanzate dal committente e in una successiva verifica della realizzabilità delle stesse. Qualora tali verifiche abbiano esito positivo, si procede con la presentazione di un preventivo comprensivo di informazioni quali i tempi di realizzazione e i costi. Le richieste del committente inoltre devono essere espressamente specificate nel contratto ai fini della enunciazione degli obiettivi da raggiungere.

b) La progettazione consiste nella traduzione delle richieste del cliente in un linguaggio scientifico, quale quello di programmazione. Si elabora la scheda tecnica del software che in seguito viene allegata al contratto. Al fine di semplificare la determinazione delle specifiche è ammesso altresì l’utilizzo di disegni, schemi e mockup commentati[17]. Questa fase in alcuni casi costituisce oggetto di autonomo contratto in grado di influenzare profondamente il successivo contratto di sviluppo software e altresì determinare l’instaurazione di un’obbligazione di mezzi o di risultato a seconda delle specifiche caratteristiche.

c) Il contratto rappresenta il terzo step. Con esso si regolamentano la fase di attuazione del progetto e la consegna.

d) Il collaudo è la fase di verifica delle funzionalità prevista dallo stesso contratto e si concretizza in un test finalizzato all’individuazione di possibili errori su cui intervenire. Se il collaudo ha esito positivo, il committente deve procedere con l’accettazione del programma informatico. Qualora ciò non sia possibile per la presenza di vizi, il programmatore procede con le opportune modifiche. Tuttavia, nei casi in cui i difetti risultino talmente gravi da determinare l’inidoneità del software, il committente può esercitare il diritto di richiedere la risoluzione del contratto oltre al risarcimento danni. Da ultimo, sia nella fase in esame che nella fase di accettazione è buona norma procedere con la stesura di verbali scritti i quali avranno rilevanza probatoria, specie nel caso di inadempimento.

e) L’ ultima fase di regola non si realizza con la consegna bensì con la frequente previsione di un periodo di garanzia che si configura come fase ulteriore.[18] Tale prerogativa a favore del committente, suggerita dalla stessa disciplina dell’appalto, si estende per due anni dalla consegna del software. Tuttavia, si richiede che i vizi vengano denunciati entro 60 giorni dalla scoperta[19].

4. Contratto di sviluppo software e diritto d’autore 

La titolarità dei diritti d’autore sull’opera realizzata dallo sviluppatore rappresenta uno degli aspetti più critici che si legano a questa fattispecie. È fondamentale chiarire che il contratto di sviluppo software non necessariamente comporta il riconoscimento del diritto di acquisire diritti di proprietà intellettuale sul risultato dell’attività di sviluppo. Tale concetto trova conferma nell’art. 4 della L. 81/2017[20] ai sensi del quale, laddove non vi sia una espressa pattuizione in tal senso, in presenza di rapporti di lavoro autonomo e a condizione che l’attività creativa non sia espressamente oggetto del contratto[21] tali diritti possono rimanere direttamente in capo al creatore di una soluzione od opera autoriale.

Alla luce della disciplina che regola i diritti del titolare del diritto d’autore si rileva che in ogni caso lo sviluppatore non può cedere il diritto morale, poiché intrasmissibile, e di conseguenza manterrà la possibilità di rivendicare la paternità dell’opera in qualsiasi momento nonché il diritto di vietarne le modifiche. Può però legittimamente cedere il diritto di sfruttamento economico dell’opera.

Qualora il committente sia interessato ad ottenere l’esclusiva di utilizzo, tale aspetto dovrà essere fatto oggetto di contratto e ovviamente considerato nella quantificazione del prezzo da corrispondere per l’esecuzione del programma informatico. Di regola infatti lo sviluppatore non è obbligato a procedere in tal senso.

Meritevole di attenzione è anche il tema dell’accesso al codice sorgente, aspetto cruciale nel momento in cui vi sia un passaggio di diritti di proprietà intellettuale che consegue l’attività di sviluppo vera e propria. Al contrario, potrebbe non esserlo qualora l’utilizzo del software a valle dello sviluppo venga disciplinato in maniera diversa. In ogni caso, una tipologia di risoluzione di eventuali controversie rispetto alla messa a disposizione del codice sorgente, anche laddove si pongano a carico dello sviluppatore attività ulteriori rispetto allo sviluppo vero e proprio (ad esempio di manutenzione o di assistenza su quanto oggetto di sviluppo), può essere il ricorso ad un contratto come anche a clausole di source code escrow. Queste tipologie di contratto o di clausole prevedono la possibilità di mettere a disposizione di un terzo fiduciario il codice sorgente a cui il committente può avere accesso a fronte del presentarsi di determinate condizioni tassativamente predeterminate a monte[22].

In conclusione un’ulteriore criticità di ordine pratico è data dalla possibilità di utilizzare in fase di progettazione alcuni singoli elementi, quali free software e/o open source software, come parte o componente di un software più complesso. Infatti, questa tipologia di software potrebbe essere soggetta a licenze ben precise, disponibili e consultabili, che occorre valutare attentamente in ragione della possibile presenza di clausole virali. In particolare, queste ultime si configurano come impegni ed obblighi che impongono di rendere disponibile anche il software realizzato sulla base di questi singoli componenti a condizioni analoghe a quelle del software open source originario. Tutto ciò potrebbe determinare a carico dei committenti che conseguono diritti su questo software anche la necessità di rendere disponibile il codice sorgente[23].

[1] Art. 1 WIPO Model Provisions on the Protection of Computer Software, 1978

[2] Art. 2 legge 633/1941, la c.d. Legge sul Diritto d’Autore, http://www.interlex.it/testi/l41_633.htm#2.

[3] Art. 45 del D. lgs. n. 30/2005, Codice della proprietà industriale, https://www.brocardi.it/codice-della-proprieta-industriale/capo-ii/sezione-iv/art45.html.

[4] Avv. A. Vercellotti, Contratto di sviluppo software:la mini-guida, su LegalforDigital, Ottobre 2019, disponibile qui: https://legalfordigital.it/contratti/contratto-sviluppo-software/.

[5] Nell’ambito del testing software, una correzione di bug o in inglese bug fix è una modifica a un sistema o prodotto progettato per gestire un bug e malfunzionamenti dovuti ad un’errato sviluppo del software stesso.  Per approfondimenti visita il sito https://vitolavecchia.altervista.org/che-cose-e-a-cosa-serve-il-bug-fix/

[6] Contratti di sviluppo software, sito web o app, Maggio 2020disponibile qui: https://www.lexdo.it/modello/contratto-sviluppo-software-siti-web-app/

[7] Ibid.

[8] Art. 110 Legge sul Diritto d’Autore, https://www.brocardi.it/legge-diritto-autore/titolo-iii/capo-ii/sezione-i/art110.html

[9] Avv. A. Vercellotti, Contratto di sviluppo software:la mini-guida, su LegalforDigital, Ottobre 2019, disponibile qui: https://legalfordigital.it/contratti/contratto-sviluppo-software/

[10] Art. 2236 cod. civ. https://www.brocardi.it/codice-civile/libro-quinto/titolo-iii/capo-ii/art2236.html.

[11] A. Storari, Contratti di software: licenza, compravendita e sviluppo, Novembre 2020, disponibile qui: .

[12] Avv. Alessandro Balduzzi in occasione del Webinar BEHIND THE SCREEN: Tutela Autoriale del Software, Contratti di Sviluppo Software e Licenze «Open Source», Bugnion, Bologna, 16 Novembre 2020.

[13] Art. 1667 cod. civ. https://www.brocardi.it/codice-civile/libro-quarto/titolo-iii/capo-vii/art1667.html?q=1667+cc&area=codici.

[14] Art. 1668 cod. civ. https://www.brocardi.it/codice-civile/libro-quarto/titolo-iii/capo-vii/art1668.html?utm_source=internal&utm_medium=link&utm_campaign=articolo&utm_content=nav_art_succ_top.

[15] Avv. Alessandro Balduzzi in occasione del Webinar BEHIND THE SCREEN: Tutela Autoriale del Software, Contratti di Sviluppo Software e Licenze «Open Source», Bugnion, Bologna, 16 Novembre 2020.

[16] Ibid.

[17] Contratti di sviluppo software, sito web o app, Maggio 2020, disponibile qui: https://www.lexdo.it/modello/contratto-sviluppo-software-siti-web-app/

[18] Avv. A. Vercellotti, Contratto di sviluppo software: la mini-guida, su LegalforDigital, Ottobre 2019, disponibile qui: https://legalfordigital.it/contratti/contratto-sviluppo-software/.

[19] Art. 1667 commi 2 e 3 cod. civ. https://www.brocardi.it/codice-civile/libro-quarto/titolo-iii/capo-vii/art1667.html.

[20] L. 81/2017, disponibile qui: https://www.gazzettaufficiale.it/eli/id/2017/06/13/17G00096/sg

[21] Avv. Alessandro Balduzzi in occasione del Webinar BEHIND THE SCREEN: Tutela Autoriale del Software, Contratti di Sviluppo Software e Licenze «Open Source», Bugnion, Bologna, 16 Novembre 2020.

[22] Ibid.

[23] Ibid.

Tamara D'Angeli

Trademark Attorney Trainee presso il dipartimento di Intellectual Property and Technology di DLA Piper Studio Legale Tributario Associato, sede di Milano. Si laurea in Giurisprudenza presso la LUISS Guido Carli di Roma, profilo Diritto ed Economia delle imprese, discutendo una tesi in Diritto Industriale intitolata: "Artificial intelligence generated artworks: copyright protection and the issue of authorship". E' collaboratrice dell'area di Proprietà Intellettuale di Ius In Itinere e Diritto al Digitale. Indirizzo email: tamaradangeli21@icloud.com

Lascia un commento