%% $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 sous forme d'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. 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. Les formats ouverts empêchent la création d'une clientèle captive et doivent à la place encourager l'innovation, 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 ouverts sont employés, les utilisateurs sont libérés de l'obligation d'acheter les mêmes logiciels que ceux qu'utilisent leurs collègues de travail, leurs professeurs ou leur famille: ils peuvent communiquer tout aussi bien avec un autre logiciel capable d'utiliser les mêmes formats. Au contraire, 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. 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. Ainsi, une entreprise qui déterminerait qu'une alternative 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. % 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 compagnie 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 pouvant remplacer \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 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 au MP3 à des niveaux de compression équivalents. \item \soft{OGG Theora}~\cite{SPEC_theora} (\fileext{.ogg}, \fileext{.ogm}) : codec vidéo comparable au MPEG-4, mais libre de brevets. Sert à compresser et décompresser les images d'une vidéo. \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, principalement utilisé par \soft{Inkscape}, et supporté par les navigateurs Web récents, à l'exception d'Internet Explorer 7 qui ne prend pas en charge SVG. 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. \item \soft{Portable Network Graphics}~\cite{SPEC_png} (\fileext{.png}) : un format d'images matricielles «~non destructeur~» (sans perte de qualité). 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, c’est-à-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 ?