[Discussioni] quesito GPL

Paolo Molaro lupus a debian.org
Ven 23 Feb 2007 17:17:46 CET


On 02/23/07 Paolo Mascellani wrote:
> C'è una confusione di termini: io (e la legge, secondo me) distinguiamo
> tra "interfaccia" e "idee che stanno alla base dell'interfaccia". Le
> interfacce di cui sto parlando, l'ho detto e lo ripeto, sono ad esempio
> i prototipi delle funzioni C/C++ e le "interface" (parola chiave del
> linguaggio) di Java. Queste sono tutt'altro che idee astratte: sono
> realizzazioni concrete

Credo che la confusione nei termini la faccia tu: le interfacce per
definizione non sono "realizzazioni concrete" (i metodi del'interfaccia
non per niente sono marcati 'abstract').

> e completamente formalizzate delle "idee che vi
> stanno alla base" (tra l'altro, con una certa dose di ridondanza). È su
> queste che credo esista, per legge (da me condivisa), il diritto d'autore.

Quello che puoi dire di una interfaccia e' che sia una espressione
creativa e che pertanto nella sua espressione sia tutelata, per esempio
nello stesso modo in cui una particolare esecuzione di una sinfonia
dell'800 e' protetta da copyright (io personalmente penso che solo uno
squalo possa pensare che una interfaccia C/C++/java etc sia una
espressione creativa, ma esssendo una questione legale immagino tu ne
possa trovare tra gli avvocati quanti ne vuoi:-).

On 02/23/07 Alessandro Rubini wrote:
> Su questo ho anch'io dei dubbi. Per esempio, sto lavorando con i processori
> della famiglia LPC e ho un header cosi`:
> 
>    /* External Memory Controller (EMC) */
>    #define BCFG0          (*((volatile unsigned long *) 0xFFE00000))
>    #define BCFG1          (*((volatile unsigned long *) 0xFFE00004))
>    #define BCFG2          (*((volatile unsigned long *) 0xFFE00008))
>    #define BCFG3          (*((volatile unsigned long *) 0xFFE0000C))
> 
> Non ci sono licenze associate. Ovviamente i 600 registri hanno i nomi
> che stanno scritti sul manuale, quindi non c'e` molto da
> giocarci. Secondo te, cosa succede nei seguenti casi?
> 
>     A copio l'header e basta
> 
>     B lo copio e lo rendo come piace a me (hex minuscolo, una parentesi
>         in meno e un typedef in testa) con un query-replace-regexp
> 
>     C cambio anche l'ordine dei registri nel file come piace a me
> 
>     D stesso risultato ma ridigitando tutto da zero guardando il manuale
> 	e magari lasciando fuori i blocchi del processore che non uso

Questo esempio sembra molto piu' assimilabile al caso della banca dati.
In ogni caso, per ovviare al possibile problema del copyright
sull'espressione, io non userei l'header file, ne' lo modificherei.
Se i dati sono simili a quelli sopra, la cosa migliore imho e'
fare un script che generi l'header o almeno una parte di esso
(gli indirizzi sono a 4 byte di distanza, per esempio), completandolo
con le informazioni dal manuale cartaceo.

Il fatto che almeno in parte l'interfaccia possa essere generata da
script dimostra abbastanza chiaramente che essa non e' opera dell'ingegno
di carattere creativo. E la questione dell'espressione si risolve
non utilizzando il file cosi' com'e', ma riscrivendolo (si', a mano).

Se non e' necessario mantenere i nomi dei define (nel qual caso l'uso
dei nomi rientrerebbe nelle clausole dell'interoperabilita'), io
prenderei anche l'occasione per assegnare dei nomi piu' decenti
(tipo MEM_CTR_0 etc.).

lupus

-- 
-----------------------------------------------------------------
lupus a debian.org                                     debian/rules
lupus a ximian.com                             Monkeys do it better



More information about the discussioni mailing list