Blog

Tuesday 04 January 2011

read/add comments (2)

Tra i vari regali di laurea ho ricevuto anche un delizioso Sony Reader Touch Edition, che sto adorando in ogni modo immaginabile. Se vi piace leggere e avete un po’ di soldi da spendere, consideratelo un investimento a lungo termine e compratene uno subito. Se ve lo regalano è anche meglio, ovviamente ;)

Finora mi sono concentrato principalmente su classici in inglese per i quali il copyright è scaduto (scaricati da Project Gutenberg) e libri con licenze permissive come quello scritto dall’amico Ivan in occasione del NaNoWriMo 2010 o quelli di Cory Doctorow. Tutta roba in formato EPUB e priva di DRM, il che rende il trasferimento sul Reader una semplice questione di copia del file.

Ora, ho acquistato dei libri su uno store online, e qui sono cominciati i casini: perché i libri che si acquistano sono quasi sempre protetti da DRM Adobe, il che significa che bisogna utilizzare ADE per caricarli sul Reader.

ADE ovviamente non è disponibile per GNU/Linux, ma gira sotto Wine; tuttavia, sotto Wine non è in grado di riconoscere il Reader e di caricarci sopra i libri. Il modo migliore per procedere è quello di rimuovere il DRM dai libri, in modo che si possano semplicemente copiare sul dispositivo. Inutile dire che questa procedura va effettuata esclusivamente su libri che sono stati acquistati in maniera legale; anche perché sono sicuro ci siano modi molto più semplici per ottenere copie piratate, nel caso uno lo desideri.

ADE non si riesce nemmeno a scaricare con GNU/Linux, quindi le alternative sono modificare gli header inviati dal proprio browser o usare il link diretto alla versione 1.7.2. Una volta installato bisogna creare un account Adobe per attivarlo.

La rimozione del DRM si effettua utilizzando inept, un piccolo tool scritto in Python. Per farlo funzionare servono Python 2.7 per Windows e PyCrypto, sempre da installare sotto Wine.

Il tool ineptkey va eseguito la prima volta per estrarre la chiave di cifratura; la riga di comando

wine ~/.wine/drive_c/Python27/pythonw.exe ineptkey.pyw

ha come risultato la creazione di un file chiamato adeptkey.der nella directory corrente.

Ora, supponendo di aver acquistato un libro online, ci si trova tra le mani con un file .acsm che ADE si rifiuta di aprire. Fantastico. Il file contiene dell’XML, e a prima vista sembra che l’elemento <src> contenga esattamente quello che ci interessa; in realtà le altre informazioni contenute nel file vengono usate in qualche modo per recuperare il file EPUB, quindi non si può fare a meno di usare ADE per il download.

Per convincere ADE ad aprire il file bisogna specificarlo sulla sua riga di comando come path in formato Windows: il che significa che, se il file si trova in /home/andrea/URLLink.acsm, bisognerà usare il comando

wine ~/.wine/drive_c/Program\ Files/Adobe/Adobe\ Digital\ Editions/digitaleditions.exe 'z:\home\andrea\URLLink.acsm'

dove il path di digitaleditions.exe potrebbe essere diverso, e il drive z: sotto Wine fa riferimento alla root del filesystem.

A questo punto ADE ha scaricato il libro, che viene salvato in ~/My\ Digital\ Editions. Per decifrare il file, si usa ineptepub, al quale bisogna dare in pasto il file adeptkey.der creato precedentemente e l’EPUB. Il risultato è un EPUB privo di DRM che si può, finalmente, copiare sul Reader.

Tutta la faccenda del DRM è insomma una grandissima fregatura. Una volta che ho acquistato un libro, lo posso caricare su massimo sei dispositivi, che devo aver autorizzato tramite ADE, dichiarandoli di fatto “miei”.

E se volessi fare qualcosa di assurdo e totalmente insensato come, che so, prestare uno dei libri che ho acquistato alla mia ragazza, che possiede a sua volta un Reader? L’unico modo che ho di farlo è condividendo un unico account Adobe. E se per caso un giorno (ciclopica toccata di palle) ci lasciassimo? E se invece che alla mia ragazza volessi per caso prestarlo ad un amico? Me ne rendo conto, sono solo speculazioni prive di fondamento. È ridicolo: chi mai potrebbe voler prestare un libro ad un amico?

Paradossalmente, mentre prestare un libro elettronico ad un amico è impossibile, rimuovere ogni protezione dallo stesso libro, e potenzialmente condividerlo con decine di migliaia di sconosciuti, è poco più complicato che tenerlo per sé, come appena dimostrato. Quindi il DRM non fa nulla per impedire la pirateria – visto che chi distribuisce copie piratate solitamente ha conoscenze molto maggiori di quelle necessarie per far girare uno script Python – e limita solamente la libertà di chi ha acquistato legalmente un libro.

Per quanto mi riguarda, cercherò sempre di acquistare libri da negozi che li offrono privi di DRM, cercando nel mio piccolo di favorire il trend. Se Cory Doctorow è diventato un autore di successo regalando i propri libri, forse il problema non è il numero di persone a cui presto i libri che ho acquistato, indipendendemente da quello che dicono le case editrici.