Gli elementi che stabiliscono di chi è la proprietà di un’app, se dello sviluppatore o del committente, sono sostanzialmente due: la distribuzione sugli store e il codice sorgente.
Ogni progetto di app mobile deve basarsi su un contratto di sviluppo che tenga conto di diritti e doveri delle parti coinvolte, ovvero clienti e sviluppatori.
Concordare la paternità delle app per la distribuzione sugli store è solitamente la scelta migliore.
Accade che Apple o Google pongano veti alla pubblicazione perché il nome del distributore è poco affine a quello dell’app da approvare.
Diviene necessario quindi creare degli account che siano di proprietà dei clienti: in questo modo l’assegnazione di un’applicazione (come detentore del prodotto e non come proprietario del codice sorgente) avviene proprio con la creazione dell’account per la pubblicazione sugli store.
Una volta creata e sviluppata l’app quindi i diritti del software e la licenza d’uso e distribuzione, apparterranno così al cliente che ne ha richiesto lo sviluppo.
Come si fa a stabilire di chi è la proprietà del codice sorgente
Di solito il codice sorgente è attribuito allo sviluppatore perché è considerato proprietà intellettuale, che non può essere trasferita. Nel caso in cui si voglia intervenire ampliando le funzioni di una determinata app, questo è comunque possibile.
Hai bisogno di una consulenza? Contattami
Cos’è il codice sorgente? È il punto di partenza di tutto il processo di esecuzione, la struttura di base. Può essere definito un insieme di istruzioni scritte necessario per sviluppare tutte le funzionalità di un programma.
Insieme di istruzioni scritte in un linguaggio di programmazione che, per essere eseguite, devono essere compilate. Di conseguenza, il codice sorgente può essere letto e interpretato, nonché corretto o modificato
Ogni programma per il tuo computer o app per il tuo smartphone o tablet è scritto usando un linguaggio di programmazione (che sia Java, C++ o altro). Per creare un programma possono volerci poche o tante linee di testo (composto dalle istruzioni scritte nel linguaggio stesse), tutte quelle che sono necessarie per sviluppare tutte le funzionalità del programma stesso e per gestire tutte le situazioni possibili.
L’insieme di tutte queste righe di testo – o righe di codice – viene chiamato codice sorgente di un programma.
Codice Common e Uncommon
Alcune aziende di sviluppo software distinguono tra codice sorgente in Common (di proprietà dell’azienda e non condivisibile) e Uncommon, codice scritto per ogni nuovo progetto.
Su richiesta del committente è possibile inserire, all’interno del contratto di vendita, il codice Uncommon e la licenza d’uso del codice Common. Quest’ultimo quindi non va modificato né ceduto o venduto. Naturalmente la cessione del codice sorgente comporta un aumento del prezzo di sviluppo perché, avendolo a disposizione, è possibile sviluppare un’app identica, evitando mesi e mesi di lavoro.
Il codice Common non viene venduto perché altrimenti non potrebbe essere utilizzato in progetti futuri e si potrebbero creare precedenti legali.
La proprietà effettiva del codice sorgente è spesso causa di dibattito, infatti è stata anche oggetto di cause in tribunale
Cause che hanno come oggetto la proprietà del codice sorgente
Una società aveva sottoscritto un contratto di collaborazione con un libero professionista per lo sviluppo di un software e il tribunale ha dichiarato la risoluzione per inadempimento del contratto professionale, condannando il professionista a restituire alla società il codice sorgente e non utilizzarlo più.
Qual era l’accordo tra la società e il professionista? Avevano stipulato un contratto con una ripartizione del fatturato derivante dalle licenze del software pari al 60% a favore della società e 40% al professionista.
Hai bisogno di una consulenza? Contattami
Lo sviluppatore ha invece trattenuto per sé tutto il fatturato senza trasferire alla società i ricavi pattuiti, portando alla risoluzione del contratto per scioglimento del vincolo contrattuale.
Di conseguenza il venir meno del contratto ha permesso l’applicazione della regola che da il diritto esclusivo di sfruttamento economico del software alla società committente.
Nell’ambito della legge sul diritto d’autore (L. 633/1941) la tutelabilità dei software è disciplinata dagli articoli 1 e 2 ma non è inclusa l’ipotesi in cui lo sviluppo di un software venga commissionato ad un libero professionista.
In questo ultimo caso vengono applicate le disposizioni previste per i lavoratori subordinati (art. n.12 bis della Legge sul diritto d’autore e n.64 del Codice della Proprietà Industriale).
Il committente che acquista quindi è l’unico titolare del diritto esclusivo di sfruttamento economico patrimoniale del software anche se lo sviluppatore rimane autore materiale dell’opera.
Un altro caso in cui il codice sorgente è stato oggetto di un processo è con la sentenza del 15 Gennaio 2020 in cui il tribunale si è pronunciato in merito all’attribuzione dei diritti sul software sviluppato da un lavoratore autonomo.
Una società ha fatto causa ad uno sviluppatore per la mancata consegna del codice sorgente. Lo sviluppatore sosteneva che la proprietà e quindi i diritti di utilizzo spettassero a lui.
Il contratto prevedeva che il committente sarebbe diventato “titolare di tutti i diritti di proprietà industriale e/o intellettuale relativi ad eventuali risultati derivanti o comunque connessi allo svolgimento dei servizi”, quindi proprietario dei risultati fruibili non del codice sorgente.
In alcuni casi il tribunale aveva ritenuto applicabili le disposizioni per il lavoratore subordinato, in altri avevano dato rilievo a ciò che era stato stabilito nel contratto.
I giudici hanno sottolineato che “va affermato il principio per cui nel caso di attività inventivo-creativa del lavoratore autonomo, per regola generale i diritti di utilizzazione economica dell’invenzione/opera dell’ingegno spettano al committente se oggetto del contratto è l’attività inventiva/creativa e salvo patto contrario”.
Per evitare situazioni del genere, è fondamentale prestare molta attenzione al contratto che dovrà essere formulato in modo chiaro ed esauriente per evitare problemi come quelli appena descritti.
Un caso di concorrenza sleale
A Dicembre del 2019, il tribunale di Milano ha adottato un provvedimento cautelare interessante. Una nota app destinata a micropagamenti attraverso trasferimenti di denaro tramite smartphone lamentava che il prodotto di una società concorrente uscito da poco sul mercato era la replica del proprio prodotto.
Dal punto di vista intellettuale il tribunale ha deciso che l’implementazione delle stesse funzioni, laddove non derivi dal plagio del codice sorgente o della banca dati, non può essere ritenuto illecito, cioè non viola il diritto d’autore.
I giudici hanno però riconosciuto un caso di concorrenza sleale, un’ipotesi di condotta parassitaria (imitazione di iniziative imprenditoriali) che ha dato vita quindi ad un’attività concorrenziale scorretta illecita.
Tante sono la variabili e le condizioni di cui tenere conto quando si decide di sviluppare un’app, perciò è bene decidere bene come e in che modalità, descrivendo dettagliatamente il tutto nel contratto stipulato.
Come stipulare un contratto di sviluppo app correttamente
Oltre alla titolarità dell’app sviluppata, oggetto del contratto di sviluppo sono quelle caratteristiche in comune con il contratto di sviluppo software ma con altre specificità e problematiche.
I risultati del lavoro di programmazione vengono infatti influenzati dalle condizioni delle grandi multinazionali che fanno girare le app sugli smartphone: Apple, Android, Google, Windows etc.
Ogni applicazione deve essere compatibile con il sistema operativo prescelto e ammessa negli store ufficiali.
Oggetto del contratto deve essere anche la capacità delle app di garantire il rispetto delle normative. Gran parte delle applicazioni non sono conformi ai requisiti per la tutela degli utenti e danno accesso a molte più informazioni i quelle richieste per esclusivo funzionamento. Per queste ultime vanno individuate dei responsabili del trattamento dei dati.
È necessario disporre di un server dove memorizzare i dati inseriti dagli utilizzatori come password e altre informazioni e i server devono poter comunicare con gli smartphone.
L’app sarà sottoposta ad un processo di certificazione, una volta accettata dovrà poi essere aggiornata nel tempo, tutte circostanze che dovranno essere specificate nel contratto e dovrà essere costruita in modo da tutelare il committente.
Il contratto deve prevedere anche eventuali modifiche in caso di problemi e fasi tecniche essenziali per la realizzazione e il funzionamento dell’applicazione.
Nel contratto si dovranno individuare le necessità del committente, le caratteristiche tecniche, l’interfaccia grafica e le funzionalità dell’app. È preferibile allegare al contratto anche una scheda tecnica con le principali caratteristiche dell’applicazione in modo che il programmatore traduca correttamente le richieste del committente in linguaggio di programmazione durante la fase di sviluppo.
Una volta sviluppata l’applicazione si passa al collaudo, come una macchina che dopo costruita viene testata.
Si esamina il funzionamento dell’app, l’interazione con il sistema operativo e con gli utenti e se tutto funziona correttamente il committente dovrà accettare il lavoro e versare la somma pattuita allo sviluppatore.
In caso di malfunzionamenti, invece, sarà cura del programmatore attuare le dovute modifiche. In caso di non idoneità il committente potrà richiedere la risoluzione del contratto e un risarcimento.
L’applicazione dovrà essere munita di licenza d’uso e si dovrà inoltre determinare la titolarità dei diritti d’autore, il contratto deve sempre specificarla.
Di solito il committente acquista i diritti patrimoniali e all’autore spettano i diritti morali.
Tutti questi passaggi vanno descritti nei particolari nel contratto di realizzazione.