gulum/argumentaire_faecum/Formats_ouverts.tex

381 lines
20 KiB
TeX
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

%% $Id$
% bon, au lieu d'utiliser \og et \fg qui sont visiblement un peu
% capricieux, j'ai utilisé « et » avec ~ pour faire des espaces
% insécables. Visiblement ça fait pareil, c'est plus lisible et c'est
% également plus facile à taper pour le Jeff.
\section{Formats ouverts}
\subsection{Format}
Un \emph{format de données} est un ensemble de règles servant à
représenter sous forme informatique, c'est-à-dire avec une
suite de nombres, un certain type de données, qu'il s'agisse de pages
de texte, d'images, de vidéos ou autres.
Les données sont la plupart du temps stockées dans des fichiers dont
l'extension, c'est-à-dire les caractères suivant le point dans le nom
du fichier, indique le format.
Pour cette raison, il arrive souvent de dénoter un format de fichier
par son extension plutôt que son nom, par exemple \fileext{.html} pour
une page web en HTML.
% eric: je voulais donner un exemple autre que MS Office ou OpenOffice
Posséder un format de données commun permet à des programmes distincts
de s'échanger des données, en passant par des fichiers respectant ce
format commun.
%% dhag: je laisse l'original pour l'instant; à supprimer dès qu'un
%% consensus sera atteint.
\begin{comment}
Selon Wikipédia:
\begin{quote}
«~Le format des données est la manière utilisée en informatique
pour représenter des données sous forme de nombres binaires. C'est
une convention (éventuellement normalisée) utilisée pour
représenter des données, soit des informations représentant un
texte, une page, une image, un son, un fichier exécutable,
etc. Lorsque ces données sont stockées dans un fichier, on parle
de format de fichier. Une telle convention permet d'échanger des
données entre divers programmes informatiques ou logiciels, soit
par une connexion directe soit par l'intermédiaire d'un
fichier. On appelle interopérabilité cette possibilité d'échanger
des données entre différents logiciels.~»~\cite{WIK_format}
\end{quote}
En d'autres mots, un format est une \emph{façon d'agencer
l'information} de manière spécifique, afin qu'un ou plusieurs
logiciels puissent lire cette information et la modifier.
\end{comment}
\subsection{Qu'est-ce qu'un format ouvert ?}
Un format \emph{ouvert} se distingue par le fait que ses
particularités sont entièrement documentées, disponibles au grand
public, et sans limitation d'utilisation.
La liberté qu'apportent les formats ouverts ne touche pas que les
programmeurs ; elle permet à plus de logiciels d'être compatibles entre
eux, augmentant les possibilités de communication entre utilisateurs
de logiciels différents. Utiliser des formats ouverts évite également
qu'un utilisateur voie sa liberté de choix de logiciel réduite par des
craintes d'incompatibilité entre un nouveau programme et ses fichiers
existants.
Quiconque peut librement étudier le format, et bâtir des programmes
entièrement conformes, étant donné que toute l'information nécessaire
sur le format est disponible. Par exemple, une entreprise qui
choisirait d'intégrer le format {OASIS OpenDocument Text}
(\fileext{.odt}) à son logiciel de traitement de texte peut s'assurer
de le supporter au meilleur de ses capacités. Ceci \textbf{remet le
choix entre les mains du consommateur}. % Nous y reviendrons.
% Pourquoi c'est bien et pourquoi un format fermé c'est l'incarnation
% numérique du mal
%
% Définir format fermé ? -- Pascal
\subsection{Pourquoi utiliser les formats ouverts ?}
L'usage des formats propriétaires (ou «~fermés~») s'accompagne
généralement d'une volonté, de la part des concepteurs de logiciels
propriétaires, de se livrer à une «~guerre de secrets~» : il s'agit
d'assurer que seuls leurs logiciels seront capables de relire les
fichiers qu'ils ont créés, de manière à augmenter, pour le
consommateur, le coût de transition vers un logiciel concurrent.
En plus d'empêcher la création d'une clientèle
captive,
les formats ouverts encouragent l'innovation de la part des développeurs, en
axant la
concurrence sur la qualité des programmes eux-mêmes plutôt que sur
leur capacité de lire le format de données dominant.
\subsubsection{Choix contre \en{vendor lock-in}}
Lorsque des formats fermés sont employés, les utilisateurs sont
obligés d'acheter les mêmes logiciels que ceux
qu'utilisent leurs collègues de travail, leurs professeurs ou leur
famille pour s'assurer d'une parfaite compatibilité.
De plus, une entreprise qui déterminerait qu'une alternative
logicielle convient
mieux à ses besoins devrait faire face à la crainte d'être incapable
de lire tous les documents fournis par d'autres entreprises, voire ses
propres documents archivés.
D'un autre côté,
si des formats ouverts sont utilisés,
les utilisateurs peuvent communiquer sans difficulté avec des
logiciels différents capables d'utiliser les mêmes formats.
De cette façon, chacun choisira le logiciel qui est le plus
\textbf{adapté à ses besoins}, en termes de coût, de fonctionnalités,
etc.
Les formats de fichiers utilisés par la suite \mso\ illustrent bien
une situation d'enfermement propriétaire. Les formats de traitement de
texte, de chiffrier et de présentation \fileext{.doc}, \fileext{.xls}
et \fileext{.ppt} sont propriétaires, ce qui empêche l'écriture de
programmes compatibles.
% eric: ici, on pourrait faire un discret clin d'oeil à OOXML
% en disant quelque chose comme et encore davantage .docx, .xlsx, etc.
% à discuter...
En pratique, il existe des suites bureautiques compatibles, mais elles
ont opéré par \emph{rétro-ingénierie}~\cite{WIK_retroing},
c'est-à-dire en essayant de «~deviner~» la structure du format par
essais et erreurs. C'est hélas un procédé lent, coûteux, et qui ne
peut assurer une compatibilité complète et correcte.
C'est néanmoins ce que sont forcés de faire la grande majorité des
logiciels, qu'ils soient libres ou propriétaires, pour pouvoir
manipuler des formats fermés.
% Largement étudié -> citation ?
Au contraire, si des formats ouverts étaient utilisés par tous, chacun
serait libre de choisir le logiciel qu'il préfère (\mso\ ou autre) à
cause de ses qualités propres, et non par peur de ne pouvoir lire des
formats secrets.
\subsubsection{Indépendance et longévité}
Comme n'importe qui est en mesure de concevoir des logiciels conformes
à un format ouvert, \textbf{l'utilisation de ce formats ouverts à des
fins d'archivage est un choix judicieux.} Il est implicitement garanti
qu'il y aura toujours des logiciels en mesure de le manipuler
adéquatement, même si le format a été lancé par une compagnie défunte.
% Ceci est valable est vrai à condition que le support sur lequel les
% archives sont mises soit toujours lisible.
%>>> je pense pas qu'on ait à mentionner ça, on parle de formats, pas
%>>> de support, c'est implicite et ça serait pareil pour un format
%>>> proprio
\subsubsection{Formats ouverts pour le secteur public}
\emph{Transparence} et \emph{intégrité} sont des mots qui devraient
fondamentalement être associés au secteur de l'éducation, et au
gouvernement en général. Transparence dans le sens où l'information
devrait être disponible au grand public sans discrimination ;
intégrité dans le sens où l'information devrait être accessible en
tout temps et à toute époque (tant que le support physique des
archives existe).
Parmi les nombreuses raisons pour lesquelles les formats ouverts
devraient être promus et utilisés par ces derniers, il y a:
\begin{itemize}
\item la nécessité des organisations gouvernementales d'être
indépendantes d'une entreprise particulière pour à la
création et à l'échange de documents;
\item l'assurance de pouvoir accéder aisément à ces données, même
dans 100~ans (c'est impossible à assurer avec un format
propriétaire, qui change régulièrement selon le bon vouloir
de son créateur);
\item garantir aux citoyens l'accès éternel à ces documents;
\item ne pas exercer de discrimination monétaire: par exemple,
publier des documents dans le format d'une suite bureautique
propriétaire restreint leur lecture aux personnes qui sont
en mesure de payer le logiciel correspondant.
\end{itemize}
% Exemples de formats pouvant être qualifiés comme « ouverts », site
% web les répertoriant ?
\subsection{Quelques exemples}
\label{sec:ofmtex}
Voici une liste non exhaustive de formats ouverts populaires.
\begin{description}
\item \soft{OASIS OpenDocument}~\cite{SPEC_opendocument}
(\fileext{.odt}, \fileext{.ods}, \fileext{.odp}, etc.) : formats
de documents de bureautique permettant de représenter du texte, des
tableaux de nombres, des diaporamas, des diagrammes, etc.
Ces formats s'appuient sur plusieurs autres normes telles que XML, SVG,
MathML, etc.
Ils pourraient remplacer les formats fermés \fileext{.doc},
\fileext{.xls}, \fileext{.ppt}, etc. Ces formats sont supportés par
\soft{OpenOffice, Google Docs \& Spreadsheets, KWord, Abiword, Gnumeric,
ajaxWrite, Ichitaro, TextEdit, Zoho Writer}, etc.
\item \soft{OGG Vorbis}~\cite{SPEC_vorbis} (\fileext{.ogg}) :
format de compression audio avec pertes libre de brevets. La compression audio
«~avec pertes~» permet d'éliminer une partie de l'information audio
que l'oreille humaine ne peut (généralement) pas entendre, afin
d'obtenir un échantillon nécessitant moins d'espace de stockage. OGG
Vorbis offre une qualité sonore supérieure à son concurrent non libre
le MP3 à des niveaux de
compression équivalents.
\item \soft{OGG Theora}~\cite{SPEC_theora} (\fileext{.ogg},
\fileext{.ogm}) : format vidéo libre de
brevets qui sert à représenter les images d'une vidéo de façon
compacte.
Un fichier vidéo au format Theora peut aussi comporter une trame
sonore dans le format Vorbis.
Theora est comparable au format non libre MPEG-4.
\item \soft{Free Lossless Audio Codec} (\fileext{.flac}) : codec audio
sans perte de qualité sonore permettant de stocker des enregistrements
en utilisant moins d'espace qu'un format non compressé. À savoir que
la compression \soft{FLAC} est «~sans pertes~», c'est-à-dire qu'il
n'y a aucune dégradation de la qualité sonore (comparativement aux
codecs «~avec pertes~» comme le \soft{OGG Vorbis}).
\item \soft{Scalable Vector Graphics}~\cite{SPEC_svg} (\fileext{.svg})
: un format d'images vectorielles supporté par les navigateurs Web récents, à
l'exception d'Internet Explorer 7 qui ne le prend complètement pas en charge. Les
images vectorielles sont des images interprétées par des calculs
mathématiques. Elles possèdent l'avantage d'une qualité optimale, peu
importe la taille, mais peuvent nécessiter une puissance de calcul plus
grande dans le cas d'images photoréalistes.
SVG permet aussi de représenter des animations en plus des images
statiques.
%eric: Est-ce que Inkscape peut vraiment être considéré comme
%l'implantation de référence de la spécification SVG au même titre que
%OOo est celle de OpenDocument? Si tel n'est pas le cas, je crois que
%ça ne vaut pas la peine de parler de Inkscape ici puisqu'on le fait
%dans la section sur les logiciels libres
\item \soft{Portable Network Graphics}~\cite{SPEC_png}
(\fileext{.png}) : un format d'images matricielles «~non destructeur~»
(sans perte de qualité). Un format matriciel décrit une image comme un
tableau à deux dimensions associant une couleur à chaque position.
Les couleurs peuvent être spécifiées par des triplets indiquant la
quantité de rouge, de vert et de bleu, ou tirées d'une palette fixe.
Il est également possible d'associer un niveau d'opacité distinct à
chaque point de l'image.
%Supporte également les palettes de couleurs
%fixes et la transparence avec canaux alphas.
Contrairement à SVG, PNG,
étant un format d'images matricielles, est à taille fixe et dépend de
la résolution d'écran ou d'impression.
\item \soft{Portable Document Format}~\cite{SPEC_pdf} (\fileext{.pdf})
: format ayant l'avantage de préserver la mise en forme d'un document
(images, polices de texte, objets graphiques, espaces, etc), peu importe
l'application ou la plateforme utilisée pour le lire. Un désavantage
de cette préservation rigide de la mise en page est qu'il est difficile
pour l'utilisateur de modifier des documents PDF.
% note de jeff : wikipédia a des infos inquiétantes, mais c'est
% seulement mentionné sur la page francophone, et je sais plus si c'est
% d'actualité en 2007 alors qu'Adobe a annoncé qu'ils allaient se
% faire standardiser à fond par ISO ou un truc du genre.
%% PDF est un format ouvert, cest-à-dire que son créateur Adobe
%% Systems autorise des programmes tiers à réutiliser son format.
%%
%% Il se réserve cependant la propriété de nombreux brevets
%% déposés, et donc le droit de demander des redevances. Il reste
%% très tolérant à ce sujet : en effet, les spécifications sont
%% publiques et utilisables librement (certains éléments sont à
%% disposition sur le site Adobe[1]) et gratuitement (à l'exception de
%% quelques très importantes sociétés commerciales auxquelles Adobe
%% demande alors une participation financière).
\end{description}
Voir aussi : % Sous forme de références ? -- Pascal
\begin{itemize}
\item \url{http://fr.wikipedia.org/wiki/Format_ouvert}
\item \url{http://www.openformats.org/fr6}
\item \url{http://fr.wikipedia.org/wiki/Alternatives_ouvertes_aux_formats_fermés}
\end{itemize}
% Je trouve cette section bien trop longue, elle s'adresse à des gens qui s'en foutent et n'en ont jamais entendu parler ! -- Pascal
%On pourrait aussi parler de XPS (XML Paper Specification) qui est encore une autre copie corrompue par Microsoft du vénérable format PDF.
%Sauf que j'ai l'impression que ça commencerait à être long. À voir. Dans ce cas faudrait renommer tout ça en "attention aux faux formats ouverts qui en sont pas vraiment, isatrap!" --Jeff
\subsection{Pourquoi pas «~XPS~» ou «~Office OpenXML~» de \mso{} 2007 ?}
Dans un contexte de formats ouverts, il faut toutefois se mettre en
garde contre les \textbf{«~faux~» formats ouverts}. \soft{XPS (XML
Paper Specification)} et \soft{Office OpenXML} sont des formats mis en
avant par Microsoft dans le but de raffermir son emprise sur les
formats que nous utilisons dans la vie courante.
Les raisons de fuir le nouveau format \soft{OOXML} (\soft{Office Open XML}, à ne pas confondre avec \soft{OpenDocument} ou \soft{OpenOffice}) sont nombreuses, au point où elles pourraient faire l'objet d'un argumentaire entier. Pour des raisons de simplicité et de concision, nous ne mentionnerons que quelques points saillants sous forme simplifiée, et nous nous attarderons uniquement sur le format \soft{OOXML}.
\subsubsection{\soft{OOXML} n'est pas réellement ouvert}
Contrairement au format OpenDocument (qui a été ratifié comme le
standard ISO/IEC 26300\string:2006), le format Office OpenXML semble
n'être qu'une tactique publicitaire de \ms{} pour tenter de conserver
ses contrats gouvernementaux en se proclamant «~ouvert~» tout en
s'assurant d'être les seuls à être réellement en mesure d'utiliser
le format à sa pleine capacité.
Notamment, de nombreuses «~fonctions~» ne sont que des références
non documentées vers des produits \ms{} antérieurs. Dans le quatrième
volume de la documentation d'OOXML~\cite{SPEC_ooxml}, on retrouve :
\begin{itemize}
\item autoSpaceLikeWord95 (spécifier les espaces «~comme Word 95~», section 2.15.3.6) ;
\item lineWrapLikeWord6 (retours à la ligne «~comme Word 6~», section 2.15.3.31) ;
\item useWord2002TableStyleRules (tableaux «~comme Word 2002~», section 2.15.3.6) ;
\item useWord97LineBreakRules («~retours à la ligne de Word 97~», section 2.15.3.6).
\end{itemize}
Ces fonctions ne font donc que dire au lecteur «~vous saurez ce que ça fait si vous détenez la clé du fonctionnement de \ms{} \soft{Word} 6/95/97/2002/etc.~». Évidemment, personne sauf \ms{} ne sait comment ça marche ! Ce genre de «~fausse documentation~» est un exemple flagrant du type d'«~ouverture~» dont \ms{} fait preuve.
Ainsi, certaines fonctionnalités, au lieu d'être expliquées comme les autres dans la documentation du format OOXML, ont une mention «~définie par l'application~», ce qui veut dire que leur fonctionnement est entièrement dépendant du logiciel qui lit le format. En d'autre mots, c'est comme dire à quelqu'un «~c'est très simple de fabriquer une station spatiale, regarde, tu prends une station, et de l'espace~»~!
%j'ai commenté le paragraphe ci-dessous, il est redondant et tout à fait incompréhensible pour les mortels.
%Par exemple, la section 6.1.2.19 du quatrième volume de la spécification du format \soft{OOXML} définit le fonctionnement de l'attribut «~equationxml~» des éléments «~shape~» en tant que «~le format du contenu de cet attribut est en fait défini par l'application~» : «~\en{actual format of the contents of this attribute are application-defined}~». \cite{EOOXML_objections}%Si vous n'avez pas compris le paragraphe précédent, rassurez-vous : c'est écrit aussi clairement dans la documentation OOXML!
\subsubsection{6039 pages}
La «~spécification~» (description du fonctionnement du format) d'\soft{OOXML} est répartie sur plusieurs livres, totalisant plus de six mille pages, ce qui est inutilement complexe pour un simple format de documents de bureautique.
Pour comparer, la spécification entière du format OASIS OpenDocument
(ISO/IEC 26300\string:2006) tient en 722 pages.
\begin{figure}
\begin{center}
\includegraphics[height=5cm]{images/word2007spec}
\caption{Pour implanter correctement la spécification Office Open XML dans son logiciel, il faut passer au travers de 6039 pages de documentation.}
\end{center}
\end{figure}
%\subsubsection{\soft{OOXML} réinvente la roue au lieu d'utiliser des standards existants}
% Typiquement, cette partie me semble inutile pour des néophytes. -- Pascal
\subsubsection{Autres critiques et références additionnelles}
\begin{itemize}
\item \soft{OOXML} a été conçu pour le passé, et non l'avenir~\cite{BRA07}
\item Les 6039 pages de la spécification sont impossibles à évaluer dans un délai raisonnable~\cite{GOO07}
\item Le format de dates décimal est utilisé et ignore le standard ISO~8601~\cite{SPO06}
\item Omissions et contradictions dans la spécification \soft{OOXML}~\cite{EOOXML_objections}
\item Format de numérotation ignorant les standards \soft{ISO 10646} et \soft{W3C XSLT}~\cite{EOOXML_objections}
\item Microsoft réinvente la roue au lieu d'utiliser des standards existants (comme MathML, SVG, les formats de numérotation ISO 10646 et les dates ISO 8601 mentionnés ci-haut)
\item Objections diverses au format \soft{OOXML}~\cite{EOOXML_objections}
\item When is a standard not a standard?~\cite{MAC07}
\item Critiques du format \soft{OOXML} sur Wikipédia~\cite{WIK_OOXMLcriticism}
\end{itemize}
\subsection{Propositions pour l'usage de formats ouverts}
%par pitié, quelqu'un, révisez que ce que je dis ci-dessous, j'ai l'impression de dire un gros tas de conneries !
\proposition{Que l'Université de Montréal et la FAÉCUM offrent en format ouvert tous les documents destinés au public, étudiants, professeurs et autres personnes affiliées à l'université. Dans les cas où des formats propriétaires doivent tout de même être distribués pour des raisons de transition, qu'elles s'assurent d'offrir également les documents en format ouvert (si applicable) sur un pied d'égalité.}
\proposition{Que l'Université de Montréal et la FAÉCUM informent les destinataires de la raison pour laquelle des formats ouverts sont utilisés pour la distribution de documents.}
\proposition{Que l'Université de Montréal et la FAÉCUM fassent la promotion de l'utilisation de logiciels favorisant les formats ouverts et l'interopérabilité.}
\proposition{Que l'Université de Montréal encourage les étudiants et professeurs à utiliser des formats ouverts lors de la réalisation de travaux.}
%autre chose ?