[Diritto] reverse engineering e open source

Carmine Malice instarvega_capitanlug at yahoo.it
Thu Mar 25 14:09:22 CET 2004


Simo Sorce ha scritto:

> On Wed, 2004-03-24 at 13:57, Carmine Malice wrote:
> 
>>Purtroppo non ho ne' esperienza ne' tempo da dedicare sul caso.
>>
>>Ma osservo che bisogna non perdere di vista il concetto che in generale 
>>il diritto d'autore da' all'autore un *potere* di disporre della propria 
>>creazione *eventualmente* limitato in *certi* casi (interoperabilita' 
>>ecc. ecc.): p.e. nelle calusole delle licenze Microsoft normalmente e' 
>>espressamente vietato il reverse engeneering;
> 
> 
> E questa è una clausola non necessariamente valida, anzi probabilmente
> di tipo vessatorio che la rende nulla già di per se. Inoltre va in
> contrato con la legge sul diritto d'autore, e in questi caso, credo che
> la legge abbia precedenza su qualsiasi clausola contrattuale.
> 

Se ho appena illustrato che la *legge* sul diritto d'autore in
*generale* da' un potere *assoluto* dell'autore sulla propria opera e
solo in via *eccezionale* pone certi limiti non vedo proprio dove sia il
fondamento della vessatorieta'.
La clausola Microsoft non fa altro che l'esercizio di tale potere assoluto.
Tra l'altro le clausole che citi tu sono quelle che pongono pesi
all'adempimento della controparte (imposte tradizionalmente nelle
condizioni generali di contratto in accordi conclusi per moduli e
formulari: la licenza Microsoft e' un modulo o formulario, ma quella non
e' una clausola vessatoria).

Questo in generale, poi ci sono le disposizioni particolari per i
programmi per elaboratore.

> 
>> il reverse engeneering 
>>generalmente e' vietato, la possibilita' di farlo costituisce 
>>l'eccezione:
> 
> 
> Il reverse engineering è perfettamente legale se effettuato a scopo di
> interoperabilità.

Questa affermazione dovrebbe rifarsi agli art. 64-bis 64-ter e 64-quater
della Legge n. 633/1941 anche in rapporto a quanto posto all'attenzione
da Bud P. Bruegger.

In particolare:

"Art. 64-bis
Fatte salve le disposizioni dei successivi articoli 64-ter e 64-quater,
i diritti esclusivi conferiti dalla presente legge sui programmi per
elaboratore comprendono il diritto di effettuare o autorizzare:
a) la riproduzione, permanente o temporanea, totale o parziale, del
programma per elaboratore con qualsiasi mezzo o in qualsiasi forma.
Nella misura in cui operazioni quali il caricamento, la visualizzazione,
l'esecuzione, la trasmissione o la memorizzazione del programma per
elaboratore richiedano una riproduzione, anche tali operazioni sono
soggette all'autorizzazione del titolare dei diritti;
b) la traduzione, l'adattamento, la trasformazione e ogni altra
modificazione del programma per elaboratore, nonché la riproduzione
dell'opera che ne risulti, senza pregiudizio dei diritti di chi modifica
il programma;
c) qualsiasi forma di distribuzione al pubblico, compresa la locazione,
del programma per elaboratore originale o di copie dello stesso. La
prima vendita di una copia del programma nella comunità economica
europea da parte del titolare dei diritti, o con il suo consenso,
esaurisce il diritto di distribuzione di detta copia all'interno della
comunità, ad eccezione del diritto di controllare l'ulteriore locazione
del programma o di una copia dello stesso."

cioe' all'autore e' dato un *potere* *totalizzante*;

"Art. 64-ter
1. Salvo patto contrario, non sono soggette all'autorizzazione del
titolare dei diritti le attività indicate nell'art. 64-bis, lettere a) e
b), allorché tali attività sono necessarie per l'uso del programma per
elaboratore conformemente alla sua destinazione da parte del legittimo
acquirente, inclusa la correzione degli errori.
2. Non può essere impedito per contratto, a chi ha il diritto di usare
una copia del programma per elaboratore di effettuare una copia di
riserva del programma, qualora tale copia sia necessaria per l'uso.
3. Chi ha il diritto di usare una copia del programma per elaboratore
può, senza l'autorizzazione del titolare dei diritti, osservare,
studiare o sottoporre a prova il funzionamento del programma, allo scopo
di determinare le idee ed i principi su cui é basato ogni elemento del
programma stesso, qualora egli compia tali atti durante operazioni di
caricamento, visualizzazione, esecuzione, trasmissione o memorizzazione
del programma che egli ha il diritto di eseguire. Le cause contrattuali
pattuite in violazione del presente comma 2 sono nulle."

cioe' il comma 1 dispone che *"salvo patto contrario"* e quindi salva
diversa clausola contrattuale "non sono soggette all'autorizzazione" e
*condizionatamente* a che "tali attività sono necessarie per l'uso del
programma per elaboratore conformemente alla sua destinazione da parte
del legittimo acquirente", ed e' da analizzare se tanto sostanzia una
clausola vessatoria; mentre (irrilevante a questa discussione il co. 2)
il co. 3 pone *l'eccezione* della facolta' di "osservare, studiare o
sottoporre a prova il funzionamento del programma, allo scopo di
determinare le idee ed i principi su cui é basato ogni elemento del
programma stesso, qualora egli compia tali atti durante operazioni di
caricamento, visualizzazione, esecuzione, trasmissione o memorizzazione
del programma che egli ha il diritto di eseguire": qui e' da analizzare
se tale attivita' sostanzi l'operazione nota in gergo come "reverse
engeneering" oppure un'azione di portata inferiore e *comunque* tale
attivita' e' *limitata* "allo scopo di determinare le idee ed i
principi" e non altro quale p.e. rielaborarlo e riproporlo diversamente
al pubblico;

"Art. 64-quater
1. L'autorizzazione del titolare dei diritti non é richiesta qualora la
riproduzione del codice del programma di elaboratore e la traduzione
della sua forma ai sensi dell'art. 64-bis, lettere a) e b), compiute al
fine di modificare la forma del codice, siano indispensabili per
ottenere le informazioni necessarie per conseguire l'interoperabilità,
con altri programmi, di un programma per elaboratore creato
autonomamente purché siano soddisfatte le seguenti condizioni:
a) le predette attività siano eseguite dal licenziatario o da altri che
abbia il diritto di usare una copia del programma oppure, per loro
conto, da chi é autorizzato a tal fine;
b) le informazioni necessarie per conseguire l'interoperabilità non
siano già facilmente e rapidamente accessibili ai soggetti indicati alla
lettera a);
c) le predette attività siano limitate alle parti del programma
originale necessarie per conseguire l'interoperabilità.
2. Le disposizioni di cui al comma 1 non consentono che le informazioni
ottenute in virtù della loro applicazione:
a) siano utilizzate a fini diversi dal conseguimento
dell'interoperabilità del programma creato autonomamente;
b) siano comunicate a terzi, fatta salva la necessità di consentire
l'interoperabilità del programma creato autonomamente;
c) siano utilizzate per lo sviluppo, la produzione o la
commercializzazione di un programma per elaboratore sostanzialmente
simile nella sua forma espressiva, o per ogni altra attività che violi
il diritto di autore.
3. Le cause contrattuali pattuite in violazione dei commi 1 e 2 sono nulle.
4. Conformemente alla convenzione di Berna sulla tutela delle opere
letterarie ed artistiche ratificata e resa esecutiva con legge 20 giugno
1978, n. 399, le disposizioni del presente articolo non possono essere
interpretate in modo da consentire che la loro applicazione arrechi
indebitamente pregiudizio agli interessi legittimi del titolare dei
diritti o sia in conflitto con il normale sfruttamento del programma."

cioe' la legge concede una superiore facolta' di "riproduzione del
codice del programma di elaboratore e la traduzione della sua forma"
svincolata da autorizzazione *ma* condizionatamente a che "siano
indispensabili per ottenere le informazioni necessarie per conseguire
l'interoperabilità, con altri programmi, di un programma per elaboratore
creato autonomamente" *e anche* *non* "siano utilizzate a fini diversi
dal conseguimento dell'interoperabilità del programma creato
autonomamente" *e non* "siano comunicate a terzi, fatta salva la
necessità di consentire l'interoperabilità del programma creato
autonomamente" *e non* "siano utilizzate per lo sviluppo, la produzione
o la commercializzazione di un programma per elaboratore sostanzialmente
simile nella sua forma espressiva, o per ogni altra attività che violi
il diritto di autore." *ed inoltre* "le disposizioni del presente
articolo non possono essere interpretate in modo da consentire che la
loro applicazione arrechi indebitamente pregiudizio agli interessi
legittimi del titolare dei diritti o sia in conflitto con il normale
sfruttamento del programma".

Ora: se *pubblicizzo* oltre le dette misure il risultato della mia
interpretazione deduttiva ricostruttiva e' ragionevolmente ipotizzabile
che stia violando i diritti dell'autore, oltrepassando le mie facolta';
e la GPL questo fa (sempre in relazione al tema del reverse engeneering).

> Questa non è un'eccezione è la regola.
> 

Affermazione affrettata, non ponderata e non argomentata.
Consiglio calma, ponderazione ed argomentazione

> 
>> porre il risultato di un reverse engennering in un 
>>programma sotto GPL che per definizione e' in regime di pubblicita' 
>>significherebbe ricondurre a generalita' cio' che e' eccezionalita'.
> 
> 
> Una affermazione del genere andrebbe argomentata, secondo me è priva di
> sostanziale fondamento.
> 

L'argomentazione la offro sopra mediante l'interpretazione della legge.

> 
>>La LGPL - se non erro - serve a consentire la ricomprensione di 
>>programmi liberi entro programmi non liberi, non a spingere in regime di 
>>pubblicita' cio' che e' in regime di proprieta'.
> 
> 
> La LGPL serve a tutt'altro, e non vedo il motivo di citarla, visto che
> qui si parla di licenze libere in generale.
> 

Era stata citata da Bud P. Bruegger, per l'appunto avevo posto
all'attenzione la sua portata.

> 
>>Ma e' all'ordine del giorno trastullarsi con programmi a sorgenti aperti 
>>derivati dalla forzatura di segreti industriali: p.e. il driver di Linux 
>>per l'NTFS...
> 
> 
> Forzatura di segreti industriali ... mi sembra una affermazione dal tono
> piuttosto negativo. La legge, e giustamente, affrema che
> l'interoperabilità deve essere garantita. Quindi non ci vedo alcuna
> "forzatura".

Si devono considerare i limiti delle facolta' concesse dalla legge, come
sopra ho esposto.

> Inoltre non è certo detto che per realizzare un driver NTFS
> sia necessario fare reverse engeneering di codice Microsoft visto che la
> struttura del filesystem la si può ricavare direttamente da una analisi
> logica del disco e le operazioni effettuate con altri sistemi che
> intercettino le operazioni su disco usando per esempio macchine
> virtuali.

Non sono un professionista completo del settore informatico, ma mi
permetto di osservare che quando tu dici "analisi logica del disco"
appunto dici di una analisi della struttura delle informazioni sul disco
(*logica*!), non della struttura fisica del disco (come faresti se ti
occuperesti di studiare le celle magnetiche - o come vuoi chiamare tu i
settori - realizzate dal costruttore del disco): ed una certa
strutturazione delle informazioni sul disco e' direttamente determinata,
condizionata e derivante dalla concezione del filesystem.
Questo puo' essere ricondotto al concetto di reverse engeneering.

> Che poi è la stessa cosa che facciamo per Samba, non abbiamo
> mai fatto reverse engeneering sul codice di Microsoft ma abbiamo solo
> sniffato la comunicazione tra due macchine MS e da li ricostruito il
> protocollo utilizzato.
> 

Stessa cosa: non vi siete "accontetati" di "usare" le informazioni
*offerte* dal prorocollo, avete *dedotto* la *strutturazione*
particolarissima delle informazioni (dati) creata dal protocollo.
Bisogna intendersi sul reverse ingeneering.

Ma del resto vedo che nel frattempo gia' Andrea Rossato ha dato
indicazioni nella stessa direzione da me illustrata.

> 
>> Scrupoli? Dovremmo averne, pero' accompagnati da una ferma 
>>volonta' di vincere una causa per monopolio, abuso di posizione 
>>dominante e necessita' della nazionalizzazione di tali risorse di 
>>pubblica utilita'.
> 
> 
> Non vedo perchè avere scrupoli di utilizzare un diritto sancito per
> legge.

Questa affermazione non e' sufficientemente giustificata, stante
l'articolarsi degli articoli proposti.

> Il diritto al reverse engineering per scopo di interoperabilità è
> garantito e allora va sfruttato senza remore.
> 

Idem come sopra.
Bisogna intendere le misure ed i limiti delle facolta' concesse dalla legge.

> 
> Simo.
> 

Per affrontare la questione cosi' come e' stata da ultimo proprosta ho
dovuto analizzare "in fretta e furia" alcuni articoli di legge e solo
quelli: questo non e' il metodo piu' indicato per ricavare il senso
dell'ordinamento giuridico, la disciplina giuridica e' un qualcosa di
molto molto complesso, molto piu' probabilmente di certi sistemi
studiati in alcuni settori di alcune scienze naturali come la fisica,
per cui per ogni problematica e' richiesto uno studio molto lungo e
circostanziato.

Il mio consiglio a Bud P. Bruegger - per quello che puo' valere - e' di
andare molto cauto in considerazione della portata "pubblicistica" della
GPL a fronte dell'ambito "misurato" che hanno le facolta' concesse dalla
legge; e del resto egli stesso ha intuito i termini del problema e vedo
che da ultimo ha scritto "Io ho sempre un dubbio sulla clausola che non
si po communicare il trovato a terzi.": appunto.

Se poi si vogliono considerare i casi dell'NTFS e simili come
"confortanti"...

In chiusura: Don Chisciotte si lanciava senza remore contro i mulini a
vento, ma almeno in lui c'era molta poesia... Consiglio piu' poesia.

Ciao.




More information about the Diritto mailing list