Risposta
Bisogna prima di tutto verificare il titolo in base al quale si utilizza il software: se open source oppure in base a d una licenza. Nel caso esista una licenza di uso bisogna controllare attentamente le clausole della stessa per accertarsi di non violare i termini del contratto. Con la licenza d'uso l'utilizzatore non acquista infatti la proprietà del software, ma solo il diritto di usarlo in modo limitato, in base alle condizioni d'uso previste nella licenza stessa. Per la giurisprudenza europea in argomento non costituiscono una forma di espressione di un programma per elaboratore e non sono, a tale titolo, tutelati dal diritto d’autore sui programmi per elaboratore né la funzionalità di un progra, né il linguaggio di programmazione e il formato di file di dati utilizzati nell’ambito di un tale programma per sfruttare talune delle sue funzioni;colui che ha ottenuto su licenza una copia di un programma per elaboratore può, senza l’autorizzazione del titolare del diritto d’autore, osservare, studiare o sperimentare il funzionamento di detto programma al fine di determinare le idee e i principi su cui si basa ogni elemento di tale programma, allorché egli effettua operazioni coperte da tale licenza nonché operazioni di caricamento e svolgimento necessarie all’utilizzazione del programma e a condizione che non leda i diritti esclusivi del titolare del diritto d’autore sul programma di cui trattasi; la riproduzione, in un programma per elaboratore o in un manuale d’uso di tale programma, di taluni elementi descritti nel manuale d’uso di un altro programma per elaboratore tutelato dal diritto d’autore può costituire una violazione del diritto d’autore su quest’ultimo manuale se tale riproduzione costituisca l’espressione della creazione intellettuale propria dell’autore del manuale d’uso del programma per elaboratore protetto dal diritto d’autore. l’utilizzo del reverse engineering è legale in Italia (art. 64 della legge 22 aprile 1941, n. 633 modificata dall’art. 5 del D.Lgs. 518/1992), ma solo se utilizzato per permettere l’interoperabilità tra i programmi.




