Tecniche di protezione del software




Il presente articolo è stato pubblicato per la prima volta sul numero 111 (Giugno 2000) della rivista:


Potete trovare gli articoli inediti di Enigma Amiga Life al seguente indirizzo: http://www.amigalife.info.


A differenza di altre categorie, contro il reato di plagio, il programmatore, sia per motivi antimonopolitaristici e sia per la facilità con cui si può eludere ogni controllo, è poco tutelato. Solo da qualche anno l'Italia, recependo la direttiva CEE 91/250, ha varato disposizioni legislative, attraverso le quali si è introdotta finalmente la tutela del software. La direttiva traccia una linea guida, secondo la quale il software non viene considerato, dal punto di vista legale, un'opera di ingegno, cosa che automaticamente lo farebbe ricadere nelle norme di tutela dei brevetti, oltre tutto queste esplicitamente vietano la brevettabilità di programmi per elaboratore, almeno in Italia, ma viene equiparato ad un'opera letteraria o figurativa, facendolo così ricadere nel campo di applicazione delle norme sul diritto di Autore. Questa particolare interpretazione ha interessanti effetti collaterali, infatti per ottenere un brevetto è necessario descrivere minuziosamente la propria invenzione, rendendo pubbliche tutte le conoscenze ad essa connesse, ma allo stesso tempo si impedisce ad altri di sfruttarle senza averne la licenza d'uso; invece come prodotto coperto dal Diritto di Autore non è possibile proteggere l'idea che sta dietro l'invenzione, e che quindi ha portato alla creazione del software, ma la sua particolare realizzazione, inoltre non si è tenuti a rilasciare pubblicamente alcuna informazione tecnica. In altre parole, con il Diritto di Autore non è possibile impedire ai concorrenti di sviluppare un prodotto simile, purché questo venga realizzato ex-novo e soprattutto senza utilizzare porzioni del codice protetto o informazioni ottenute attraverso le tecniche di Reverse Engineering, ovvero è vietato qualunque uso improprio o non autorizzato del codice operativo, mettendo, allo stesso tempo, al riparo anche dalle contraffazioni. Il decreto legislativo, varato nel 1992, tra le altre cose, istituì un registro, specifico per il software, gestito dalla Società Italiana degli Autori e degli Editori, più nota con l'acronimo S.I.A.E. Vediamo sommariamente quale sia la funzione del registro e della S.I.A.E. Una volta realizzato un prodotto software, automaticamente il produttore ne detiene tutti i diritti, ma può accadere che nel caso si verifichi una violazione da parte di terzi, non si riesca, in tribunale, a dimostrare l'effettiva paternità del software, rischiando di passare dalla parte del torto. In passato sono stati ideati una serie di espedienti, come depositare presso uno studio notarile una copia del programma, o spedire a se stessi un pacco sigillato contente una copia del proprio lavoro, in modo che in caso di controversia legale, l'atto di deposito o il timbro postale potessero testimoniare indirettamente la paternità. Queste sono soluzioni facilmente confutabili, specialmente la seconda, e proprio a questo punto che entra in gioco il registro ufficiale gestito dalla S.I.A.E., organismo al di sopra delle parti e legalmente riconosciuto. Una volta completato il software va memorizzato su un qualsiasi supporto non modificabile, come il CD-R, ed inviato alla sede di Roma della S.I.A.E., allegando un modulo descrittivo e la ricevuta di un versamento a favore dello stesso ente. In caso di controversia legale, la S.I.A.E. fornisce tutti gli estremi per valutare l'effettiva paternità, e la legge prevede delle aggravanti se sui supporti o sulla confezione era presene il marchio S.I.A.E.

Ciò nonostante l'onere maggiore della tutela del software compete proprio alla softwarehouse, o al singolo programmatore. Così facendo si finisce con lo distogliere, sprecandole inutilmente, ingenti risorse umane ed economiche nel vano tentativo di rendere induplicabile il software prodotto. Tali risorse potrebbero essere investite, con maggior profitto e con grandi vantaggi anche per gli utenti, in altri campi, come per esempio migliorando l'applicativo o eliminando i bug residui che lo affliggono, semplicemente spendendo più tempo in fase di debugging, ciò potrebbe portare anche ad un sensibile abbattimento del costo del pacchetto, in base alla seguente equazione:

meno ore di lavoro = meno costi di produzione
Purtroppo la protezione del software, nel clima attuale di pirateria dilagante, che in passato ha reso possibile il boom dei computer ed oggi risulta estremamente dannosa, soprattutto nei mercati di nicchia, è un'esigenza imprescindibile. Una forma di protezione universalmente valida ed affidabile non esiste data l'elevata casistica, e bisogna di volta in volta inventarsi nuovi schemi per adeguarsi alle esigenze del software da proteggere, ma soprattutto ciò ha l'indubbio vantaggio di rendere più difficile la vita del cracker (termine con il quale viene indicato chi rimuove o rende inefficaci le tecniche di protezione presenti in un applicativo).

In passato, si è innescata una sorta di battaglia, combattuta a colpi di nuovi schemi, tra i programmatori ed i cracker, il cui unico risultato è stato quello di far progredire le conoscenze tecniche di entrambi gli schieramenti. Spesso chi rimuove una protezione lo fa, non per guadagnare alle spalle della softwarehouse, ma solo per il gusto della sfida; il dimostrare di essere più bravo degli altri programmatori è il vero tarlo patologico che spinge il cracker a non dichiararsi vinto e continuare ad armeggiare con tutti gli attrezzi del mestiere. Sono pochi coloro che lo fanno per la facilità con cui si può raggranellare del denaro rivendendo ad altri il software sprotetto, infatti i crack vengono spesso rilasciati gratuitamente. Il pirata, colui che rivende il software sprotetto, quasi sempre di programmazione e di crack non ne capisce nulla, ma sa solo come copiare i supporti sprotetti da altri, ed ha messo su una bella rete di distribuzione da far invidia ai canali ufficiali.

La pirateria va comunque contrastata, anche se può rappresentate un valido mezzo per farsi pubblicità, come dimostra il successo di Excel ai danni dell'incopiabile, a suo tempo, Lotus 1-2-3, ma di casi simili ce ne sono tanti altri. Il software che entra nella spirale della copia pirata, alla fine, ha un costo quasi nullo, e non ci guadagna in realtà nessuno, nè il pirata, che compete con i suoi colleghi, ribassando sempre più il prezzo nè l'utente che si ritrova un software, nella migliore delle ipotesi, pienamente funzionante, ma privo della manualistica necessaria per il suo uso corretto o del supporto della casa produttrice. Purtroppo la sola a rimetterci è la softwarehouse, la quale vende solo poche copie, a chi è realmente intenzionato allo sfruttamento professionale del software in questione, che quindi ha bisogno, nel tempo, di aggiornamenti ed assistenza postvendita, e non può certo affidarsi ai sevizi occasionali dell'amico dell'amico, o peggio rischiare che il software dal quale dipende il proprio lavoro non venga più sviluppato!

Alla softwarehouse non resta che seguire tre strade:

1) abbandonare il progetto, per dedicarsi ad altri più remunerativi.
2) aumentare il costo del pacchetto, nel tentativo di riuscire a rastrellare dalle poche copie vendute il denaro necessario almeno per coprire le spese.
3) Continuare sperando nella generosità ed onestà degli utenti.

Quest'ultima strada è la più pericolosa ed ha portato diverse softwarehouse al fallimento.

Per ora è tutto, nella prossima puntata ripercorreremo brevemente le tappe più significative dell'evoluzione delle tecniche di protezione del software.


Francesco De Napoli




Trattato CEE sulla concorrenza
I concorrenti, una volta stabilito mediante un'analisi indipendente quali idee, regole o principi vengono usati, sono liberi di creare la loro applicazione delle idee, regole o principi onde realizzare prodotti compatibili. Essi possono basarsi su un'idea identica ma non possono usare la stessa espressione di altri programmi protetti; quindi non vi è monopolio sull'informazione in sé ma soltanto tutela della forma di espressione di quella determinata informazione. Nei casi in cui nei confronti dei programmi operativi si verificano somiglianze nel codice che applica idee o principi dovute all'inevitabilità di alcune forme di espressione, qualora le limitazioni derivanti dall'interfaccia siano tali da rendere impossibili in quelle circostanze un'applicazione diversa, normalmente non si configurerà una violazione del diritto d'autore perché in tali circostanze generalmente si considera che l'idea e l'espressione si sono fuse".



Sentenza del Tribunale di Torino datata 15 luglio 1983 (Atari contro Sidam)
"I videogiochi costituiscono un tipo particolare di opera cinematografica, possibile oggetto della tutela prevista per tali opere dalle norme sul diritto d'autore.
L'opera cinematografica, disciplinata da queste ultime, è un genus al quale appartengono non solo i film, ma anche altre forme di rappresentazione qualunque ne sia la tecnica di realizzazione e la forma di espressione.
Oggetto della tutela prevista dalle norme sul diritto d'autore non è solo l'opera d'arte, bensì l'opera dell'intelletto o della mente (opera dell'ingegno) che abbia il requisito oggettivo della novità, originalità e non banalità (carattere creativo).
Il livello di creatività di un'opera dell'ingegno non deve essere necessariamente elevato e, nel caso dei videogiochi, è sufficiente ai fini della tutela ex l. 633/1941 che l'autore si sia prodigato in uno sforzo di capacità professionale e di elaborazione intellettiva nel disegnare i personaggi, nel trovare una trama, nell'inventare le regole, nel trasferire il racconto in linguaggio elettronico e nel memorizzarlo nei circuiti, nel trovare una sintesi tra racconto e descrizione visiva. [omissis]
Costituisce copia pedissequa del videogioco originale quel videogioco che, pur differendo nelle istruzioni della componente causalità e nella visualizzazione dei medesimi personaggi sia in tutto il resto assolutamente identico al primo".



DIRETTIVA CEE 91/250 E LEGGE ITALIANA 633/41 SUL DIRITTO D'AUTORE: I PROGRAMMI PER ELABORATORE COME OPERE LETTERARIE
Art. 1. All'articolo 1 della legge 22 aprile 1941, n. 633, è aggiunto il seguente comma: "Sono altresì protetti i programmi per elaboratore come opere letterarie ai sensi della Convenzione di Berna sulla protezione delle opere letterarie ed artistiche ratificata e resa esecutiva con legge 20 giugno 1978, n. 399"

Art. 2. Dopo il n. 7) dell'art. 2 della legge 22 aprile 1941, n. 633, è aggiunto il seguente numero: "8) i programmi per elaboratore, in qualsiasi forma espressi purché originali quale risultato di creazione intellettuale dell'autore. Restano esclusi dalla tutela accordata dalla presente legge 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".

Art. 3. Dopo l'articolo 12 della legge 22 aprile 1941, n. 633, è inserito il seguente: "Art. 12-bis - Salvo patto contrario, qualora un programma per elaboratore sia creato da lavoratore dipendente nell'esecuzione delle sue mansioni o su istruzioni impartite dal suo datore di lavoro, questi è titolare dei diritti esclusivi di utilizzazione economica del programma stesso".