Start pagina | Aantekeningen |  NederlandsHulpbronnen | Zoek
Home page | CommentsNetherlandsResources | Search
 
 
 


Io proteggo, lui copia...

Questa settimana ho avuto un paio di interessanti scambi di opinioni (via mail) con alcune persone oltreoceano, riguardanti sistemi anti-copiatura per software commerciale.

Il tutto e' nato da una mia affermazione perpetrata su un NG che suonava piu' o meno come "proteggere i programmi e' una perdita di tempo". La cosa ha scatenato una serie di mail private.

Se c'e' una cosa che mi piace dei NG stranieri e' che le persone di solito si rendono subito conto di quando un discorso e' OT e lo proseguono in privato, mentre nei NG della gerarchia IT si vedono thread infiniti in cui il succo principale viene perso dopo le prime 3 mail... Inoltre le varie persone in genere sono piu' interessate a conoscere l'opinione altrui piuttosto che tentare di vendere la propria, il che e' sempre positivo.

Il succo del discorso comunque era il seguente: un programmatore stava cercando informazioni riguardanti meccanismi di protezione da copia del software della propria societa', siccome tempo addietro mi sono occupato dello stesso problema ho pensato di metterlo al corrente dei miei studi sull'argomento e delle mie conclusioni.

All'epoca avevamo appena scoperto che il nostro software era stato piratato (avevamo scovato per la precisione almeno 5 copie pirata), la cosa ci aveva da una parte reso euforici (yu-uuuu! abbiamo un software che è talmente buono che qualcuno lo copia!) dall'altra parte pero' ci aveva preoccupato, quindi, nella mia veste di Capo Dipartimento Sicurezza & Qualita' (dipartimento che era composto da una sola persona: ME), ero stato incaricato dal Consiglio Direttivo (composto da una sola persona: il mio capo) di studiare un qualche accrocchio protettivo per il software.

Dopo un'intenso periodo di studi (ricerca di schemi anti-copiatura, ricerca di prodotti, testing ed altre cose varie), presentai le mie conclusioni: lasciare perdere, e' una battaglia persa in partenza.

Di fronte alla faccia un po' così del mio capo procedetti a spiegare il ragionamento logico che mi aveva portato a tale conclusione, ragionamento che riporto qu' (forse un po' piu' ordinato).

Lo scopo di un programmatore o di una software house e': scrivere software che funzioni e che svolga determinati compiti per un "cliente". Il software deve funzionare in modo ragionevolmente coerente e, possibilmente, essere sufficientemente facile da usare da non richiedere una laurea in Ingegneria Nucleare o il continuo riferimento al manuale d'uso (che non sempre c'e').

Questo 'goal' non si raggiunge sempre facilmente, soprattutto bisogna tenere conto delle idee balzane che possono saltare fuori all'utente, e tentare o di prevenirle o di assecondarle a seconda delle possibilita' tecniche e dell'orientamento della ditta stessa.

D'altra parte, lo scopo di un pirata e' quello di copiare il software, punto.

E' questo che fa la differenza, mentre il programmatore ha molteplici obiettivi da raggiungere, il pirata ne ha uno solo. E non gli interessano cose come cosa e' il software che vuole copiare, o cosa fa. Si tratta di una gara di intelligenza tra chi ha inventato il sistema di protezione e lui stesso. e' un modo per dimostrare che "sono piu' furbo di te". E' come risolvere il cubo di Rubik.

Diciamo la verita': il 99% dei pirati non ha alcun interesse a rivendere la "refurtiva", non gli interessa farlo.

Viene poi il discorso delle "chiavi hardware", che sono (per chi non ne avesse mai vista una) quegli scatolotti che si attaccano di solito alla parallela del computer e permettono il funzionamento di un certo programma.

Il primo di quegli arnesi che vidi lo usava una delle prime versioni di Autocad (la 2.sadiocosa) che avevano installato fresco fresco presso il mio Istituto Tecnico. Dopo una settimana (1 settimana) c'erano copie pirata craccate in tutto l'istituto... wow, avevamo 16 anni all'epoca!!!

All'epoca della mia presentazione, uno dei miei (oggi ex) colleghi puntualizzo' che "nessuno ha mai copiato una chiave hardware!". Infatti non viene copiato l'hardware, viene spaccato il software che la usa.

Purtroppo, tutti gli schemi di protezione, per quanto incasinati, o sofisticati siano, alla fine si riducono a verifica il maledetto codice, il codice è giusto, fai questo, il codice è sbagliato fai quest'altro. E per "spaccare" il sistema basta attaccare un debugger, trovare il maledetto test e fare in modo che entrambi i rami puntino alla posizione "giusta". Finito.

Per non parlare del fatto che molte volte (non sempre, ma e' capitato), la maledetta chiave hardware risulta incompatibile con qualche cosa nel Bios della macchina, ed e' piuttosto difficile dire al cliente che, no, sorry, non puo' usare quel bellissimo e nuovissimo PC da 4Milionierotti per il nostro ##@%%!!&* programma...

Ora, e' possibile creare un sistema anti-copiatura a prova di bomba nucleare, solo che questo renderebbe inutilizzabile il software per il 99% degli utenti "normali", mentre a noi (programmatori) interessa il 100% degli utenti (anche quelli anormali). Uno degli scopi dei programmatori infatti e' quello di fare sì che il "cliente" decida anche oggi di cacciare fuori l'assegno.

Non solo vendere il software la prima volta, ma continuare a venderlo. Ora questo è un po' difficile da fare se devi dire al "cliente" o aspirante tale che no, dopo che l'avra' installato non potra' piu' disinstallarlo e no, non si possono fare copie di sicurezza e che no, non puo' avere i dischi o il CD.

Di fronte ad un atteggiamento del genere io stesso direi "tenetevelo il vostro ##@!!% software!".

Quello che puntualizzai all'epoca (e che faccio ancora) e' che il "cliente" che acquista il software non acquista solamente un pezzo di codice compilato, acquista un "prodotto" che e' composto da varie parti, UNA di queste e' il software. Altre parti (altrettanto importanti) sono l'assistenza tecnica, gli aggiornamenti dello stesso sofwtare, la documentazione e quant'altro e' necessario.

Il succo e' che una volta "acchiappato" bisogna tenerlo, chi tenta di vendere software come se fosse un pacchetto di caramelle (glielo dai e chi se' visto se' visto), non e' ne' un programmatore ne' un professionista.

La mia opinione personale e' che il software verra' sicuramente copiato, e che non e' il caso di preoccuparsi di questo perchè e' normale, e' una cosa da tenere conto come i supermercati che sanno benissimo che il 5% della merce verra' rubata, concentrarsi sul produrre del buon software, fornire una buona assistenza all'utente finale, procedere a degli aggiornamento regolari, risolvere i problemi, correggere i bug, distribuire una documentazione utile e leggibile. Perche' queste cose chi copia il software non le ha. E che creda pure di essere piu' intelligente, a me basta l'assegno del cliente.

30/04/2000
Davide Bianchi

Davide Bianchi
22/03/2008 00:00

Torna all'elenco Previous  Next


No messages this document does not accept new posts