[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