[Formati] YAP - Yet Another Proposal :)

Stefano Maffulli stef at zoomata.com
Thu Feb 17 15:54:50 UTC 2005


On Thu, 2005-02-17 at 10:30, Roberto Galoppini wrote:
> Giro in lista una bozza che avevo elaborato qualche tempo fa.
> Commenti benvenuti.

Apprezzo molto l'approccio sintetico del definire in 4 punti salienti
cosa è una specifica libera e cosa non lo è.  Richiamare le 4 libertà
del software anche sulle specifiche di formati e protocolli non può che
ribadire l'attualità dello stallman-pensiero (peraltro in un momento
storico estremamente particolare).



> Rob Galop
> 
> 
> Cosa sono formati e protocolli e a cosa servono
> -----------------------------------------------
> 
> <<La modalità con cui i dati vengono rappresentati elettronicamente in
> modo che i programmi possano elaborarli [..] per elaborare un file, un
> programma deve sapere come i dati vi sono “memorizzati”. Il formato
> specifica la corrispondenza fra la rappresentazione binaria
> e i dati rappresentati>>[1]

A me piaceva molto anche la parte diciamo 'filosofica' che passò forse
in lista qui o da un'altra parte, in cui veniva affrontato il discorso
del 'significato' dei messaggi. Credo che oltre a definire cosa è un
formato, un documento come questo dovrebbe avere anche un cappello che
porti i tecnici e l'uomo-comune a considerare quanto il documento .doc o
.sxw sia un involucro e quanti strati ci siano prima che il contenuto
del file sia godibile all'umano.  Insomma, vanno fatte delle
considerazioni di principio che non sono trascurabili (e se volete le
cerco).

> Conoscere le specifiche, ovvero le modalità di rappresentazione binaria
> di un dato, sia esso un testo, un'immagine o un file musicale, non è una
> curiosità tecnologica, ma è l'unico modo per potersi riservare, nel
> tempo, il diritto di poter fruire dei propri dati.
> 
> Il protocollo è una descrizione formale del formato dei messaggi e delle
> regole che devono essere rispettate per inviare/ricevere tali messaggi.
> 
> L'utilizzo di un “linguaggio” comune garantisce la possibilità di
> rendere interoperabili sistemi ed applicazioni informatiche eterogenee,
> ed è un prerequisito per poter inviare e ricevere dati.
> 
> 
> Aperto e libero
> ---------------
> 
> <<[..]una tecnologia si dice “aperta” quando è resa pubblica ed è
> documentata esaustivamente. “Aperta” si oppone a “proprietaria”, che
> indica una tecnologia posseduta in esclusiva da un soggetto che ne
> mantiene segreto il funzionamento e può modificarla a proprio
> piacimento. Al requisito della pubblicità per alcuni si aggiunge anche
> quello relativo alla proprietà>>[1]
> 
> Parallelamente altri studi commissionati dalla commissione europea[2],
> hanno riportato, nell'ambito delle attività svolte presso la commissione
> TAC (Telematics between Administrations Committee) sotto l'egida del
> progetto europeo IDA (Interchange of Data between  Administrations), la
> seguente definizione: <<Open Standard protocols are defined as those
> which are free from patents and with an OSS implementation>>.
> 
> Come mostrano queste differenti definizioni non vi è unanimità su cosa
> significhi formato aperto, ed è altresì importante sottolineare che
> alcune importanti realtà dell'industria del software non abbiano un
> comune punto di vista, come risulta ad esempio dalle lettere aperte
> inoltrate alla  commissione TAC dalle varie aziende.
> 
> Una possibile definizione di formato/protocollo libero si basa su una
> trasposizione della definizione di software libero [3], ovvero:
> 
> 0) Libertà di studiare le specifiche del formato/protocollo ed
>     adattarlo alle proprie necessità;
> 1) Libertà di utilizzare le specifiche del formato/protocollo
>     per qualunque scopo;
> 2) Libertà di redistribuire le specifiche del formato/protocollo;
> 3) Libertà di modificare le specifiche del formato/protocollo e
>     redistriburne le versioni modificate.

La libertà che chiami 1 è quella che attualmente nessuno contempla,
neanche il W3C che ha le policy più accettabili.  IMHO è la meno
importante, ma va citata.

> La specifica di un formato, o di un protocollo, costituisce il
> "linguaggio" con il quale è possibile esprimere e trasmettere dati,
> quindi diversamente da un programma, definisce uno standard di
> memorizzazione o comunicazione di dati.
> In merito alle suddette libertà occorre esprimere le seguenti tutele:
> - tra gli scopi garantiti dalla libertà 1) deve essere garantito il 
> diritto di poter implementare un programma che si basi, parzialmente o 
> totalmente, sulle specifiche di tale formato/protocollo.
> In particolare deve esser garantita la libertà di poter distribuire tale
> programma con qualunque tipo di licenza software; formati/protocolli che
> pongano restrizioni sulle licenze d'uso utilizzabili per la
> distribuzione di programmi sono da ritenersi non liberi;
> - la libertà di redistribuzione delle specifiche di un
> formato/protocollo richiede che tali specifiche siano royalty-free; non
> deve quindi essere possibile consentire all'autore delle specifiche di
> porre alcuna restrizione sulla redistribuzione, ad esempio richiedendo
> obbligatoriamente la sottoiscrizione di un NDA (Non Disclosure Agreement);
> - il formato protocollo deve poter essere esteso, ma la licenza con cui
> le specifiche sono distribuite devono tutelare il "permesso d'autore"
> (copyleft), in modo  che chiunque utilizzi tali formati/protocolli
> modificati possa avere  accesso alle relative specifiche con gli stessi
> diritti con cui è stato distribuito il formato/protocollo originale.

Possiamo anche aggiungere a chiarimento che le specifiche stesse possono
essere anche distribuite a titolo oneroso e sotto NDA, ma che le
implementazioni non possono essere oggetto di limitazioni.  Posix è un
esempio.  

altri commenti in messaggi successivi, se riesco.

grazie e a presto
stef


More information about the formati mailing list