[Discussioni] quesito GPL
simo
s a ssimo.org
Mer 14 Feb 2007 23:36:04 CET
On Wed, 2007-02-14 at 22:49 +0100, Paolo Mascellani wrote:
> Caro Francesco,
>
> > Se io dico:
> > la funzione qsort non restituisce alcun valore e prende quattro
> > parametri, di cui il primo è un puntatore al vettore da ordinare, il
> > secondo è di tipo size_t e contiene il numero degli elementi, il terzo,
> > dello stesso tipo, ne contiene la dimensione, e il quarto è un
> > puntatore a funzione che prende come argomenti due puntatori.
> >
> > Il testo sopra definisce la sintassi di un'interfaccia. Secondo la
> > prassi legale, questa definizione non è coperta da diritto d'autore. La
> > ragione è che, secondo la terminologia della legge italiana, questa
> > definizione costituisce parte delle «idee e i principi che stanno alla
> > base» dell'interfaccia.
> >
> > Il testo sopra lo posso, in maniera equivalente e più succinta, scrivere
> > così:
> > void qsort(void *base, size_t nmemb, size_t size,
> > int(*compar)(const void *, const void *));
> >
> > Analogamente al testo, anche questo brano di codice secondo la prassi
> > corrente non è coperta da diritto d'autore, essendo perfettamente
> > equivalente a quel testo.
>
> Ancora una volta, ti ringrazio per le spiegazioni. Purtroppo, trovo che
> queste argomentazioni non reggano. A me, la tua argomentazione (che non
> metto in alcun dubbio che sia effettivamente quella in uso nella prassi
> legale) suona così: visto che è possibile veicolare in linguaggio comune
> le stesse informazioni che si veicolano nella descrizione formale di
> un'interfaccia, allora le due descrizioni sono equivalenti e quindi si
> applicano ad esse le stesse regole.
>
> Ora, in primo luogo io contesto che questo ragionamento sia corretto, in
> quanto il diritto d'autore copre la "forma espressa", non l'idea. In
> secondo luogo, secondo me, nessuna delle due descrizioni rappresenta
> l'idea, sono semplicemente due rappresentazioni concrete diverse della
> stessa idea. L'idea, nel caso del tuo esempio, potrebbe essere: "la
> funzione che realizza l'algoritmo "quick-sort" ha come argomenti l'array
> da ordinare, la sua lunghezza, la dimensione di un elemento ed una
> funzione che permette di comparare due elementi.
Paolo,
la tua analisi mi sembra contraddittoria e mi sembra anche tu non abbia
colto la spiegazione di Francesco.
Tu ci ricordi: il diritto d'autore copre la "forma espressa" non l'idea,
e questo e' importante nel ragionamento di Francesco.
Questo e' parte del punto, e indica che l'idea non e' coperta, ma
appunto solo la particolare implementazione.
Ora tralasciamo per un attimo che una singola riga di codice
difficilmente e' considerabile come opera coperta da diritto d'autore o
sufficiente ad indicare la derivazione di un'opera completa da un altra.
Facciamo questo esempio di due implementazioni di una interfaccia.
Implementazione 1:
void qsort(void *base, size_t nmemb, size_t size,
int(*compar)(const void *, const void *));
Implementazione 2:
void qsort(void *parm1, size_t number, size_t dimension,
int(*check)(const void *, const void *));
Sono evidentemente due espressioni differenti, che hanno inevitabilmente
una struttura molto simile perche' espresse in un linguaggio formale che
non lascia molto spazio ad interpretazione o fantasia.
Se fosse espresso con notazione K&R il prototypo sarebbe necessariamente
identico (a meno di spazi, tabulazioni o ritorni a capo).
Ora come le consideri tu queste due "implementazioni" ?
Ritieni che mettendo il (c) su una sia coperta anche l'altra?
> Inoltre, se le cose stessero come tu dici, non si vede perché il
> legislatore avrebbe dovuto distinguere l'idea dalla sua realizzazione:
> tanto sono la stessa cosa.
Io personalmente direi che sono la stessa cosa, e questo e' dovuto al
linguaggio in cui sono costretto ad esprimerle. Siccome il linguaggio
non permette di esprimere con due forme diverse lo stesso concetto, in
un certo ambito, allora tale forma non e' soggetta a diritto d'autore,
in quanto essa e' inscindibile dall'idea e renderebbe impossibile
esprimere l'idea stessa da parte di chiunque altro, andando cosi' a
"restringere" l'accesso all'idea e non semplicemente all'espressione.
E' proprio per questo che il legislatore fa una distinzione, perche' nei
casi in cui si puo' esprimere un'idea in piu' forme allora non si pone
il problema.
> Infine, lo stesso ragionamento potrebbe essere fatto anche per
> l'implementazione della funzione, non solo per la sua interfaccia;
> vogliamo allora sostenere che neppure l'implementazione è coperta da
> diritto d'autore? Non credo!
No, non puoi fare lo stesso ragionamento.
Tranne che per funzioni estremamente banali, ci sono n modi diversi di
affrontare lo stesso problema ovvero "implementare la stessa idea"
usando espressioni differenti.
Quindi nel caso del corpo della funzione non c'e' il rischio di
"restringere" l'accesso all'idea, per cui il diritto d'autore e'
perfettamente applicabile.
Infatti siccome ci sono personaggi estremamente avari e desiderosi di
mantenere o ottenere il controllo su qualunque cosa, sono stati
introdotti i brevetti software, che, aggirando il diritto d'autore,
riescono ad "restringere" di fatto l'accesso alle idee che sottendono
una implementazione. Infatti c'e' chi sostiene che le interfacce sono
brevettabili!
Mi spiace dirlo, ma la tua idea che le interfacce siano soggette a
diritto d'autore e' paradossalmente piu' vicina al modo di pensare di
chi sostiene il brevetto software rispetto a chi sostiene un diritto
d'autore equilibrato.
Simo.
More information about the discussioni
mailing list