Source files of fsfe.org, pdfreaders.org, freeyourandroid.org, ilovefs.org, drm.info, and test.fsfe.org. Contribute: https://fsfe.org/contribute/web/ https://fsfe.org
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

minimalisticstandards.de.xhtml 14KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235
  1. <?xml version="1.0" encoding="UTF-8" ?>
  2. <html>
  3. <head>
  4. <title>Minimalgebot für Datenformate - Offene Standards - FSFE</title>
  5. </head>
  6. <body id="article">
  7. <p id="category">
  8. <a href="/activities/os/os.html">Offene Standards</a>
  9. </p>
  10. <h1>Minimalgebot für Datenformate - offener Standard sein reicht nicht</h1>
  11. <p>Ohne ein Werk-stück ist Werkzeug nutzlos. Was sind also die Werkstücke
  12. für unsere Computer? Daten, Informationen, Wissen, Meinungen, Kunstwerke -
  13. kurz Inhalt. Er wird erstellt, verarbeitet und übertragen. Meist direkt
  14. elektronisch. Immer mehr Menschen haben einen Rechner mit Internetanschluss
  15. zur Verfügung und evolutionieren damit ihre Zusammenarbeit.</p>
  16. <p>Inhalt wandert also von einer Nutzerin zum Nutzer und zurück. Dabei
  17. muss er eine Form annehmen: Das Datenformat. Es legt fest, wie Inhalt plus Verpackung
  18. zu handhaben sind, was darin stehen darf und wie das in einer Datei oder
  19. über eine Internetverbindung dann konkret aussieht. Wer mitmachen möchte,
  20. braucht eine Software, welche das Datenformat versteht. Sonst wäre der Inhalt
  21. für die eigene Anwendung wie eine unbekannte Fremdsprache. Wenn ein
  22. Datenformat keine Speicherung von Fotos zuläßt, dann kann ich mit diesem eben
  23. keine Fotos speichern. Die Wahl des Datenformats ist deshalb entscheidend
  24. dafür, wie lange ich an meinen Inhalt herankomme und was ich mit ihm
  25. machen kann.</p>
  26. <p>Der einzelne Nutzer mag die Wirkung seiner Entscheidung bei jedem
  27. Abspeichern kaum bemerken. Wenn sich eine IT-Abteilung oder die
  28. öffentliche Hand für ein Datenformat entscheiden, dann wirft das Wellen.
  29. Die damit verbundene Wahl der Softwarelösung hat Auswirkungen auf viele
  30. Jahre und Jahrzehnte hinaus. Je mehr wertvolle Schriftstücke, Tonaufnahmen
  31. oder Bilder elektronisch abgelegt werden, desto wertvoller ist es, darauf noch
  32. zugreifen zu können. Bewusst oder indirekt wird so auch die Entwicklung
  33. der Datenformate finanziert. Viele Softwarehersteller versuchen absichtlich
  34. Nutzer dazu zu verleiten, ein von ihnen beherrschtes
  35. Datenformat zu verwenden, zum Beispiel für die Konstruktionspläne von Fahrzeugen,
  36. Gebäuden oder Maschinen. Der Hersteller der dazugehörigen CAD-Anwendung erhält dann
  37. praktisch diese Daten eines Unternehmens als Faustpfand.
  38. Aus seiner Sicht ist das eine
  39. starke Verhandlungsposition für die Kosten der nächsten Version.
  40. Manchmal begeben sich auch ganze Staaten in eine solche Situation.</p>
  41. <p>Deshalb kann ein gutes Datenformat nur ein <a
  42. href="/activities/os/def.html">Offener Standard</a> sein.
  43. Diese
  44. Grundvoraussetzung ist jedoch nicht ausreichend. Das Datenformat muss
  45. zudem ein Problem angemessen lösen, also fachlich und technisch gut passen.
  46. Dazu lassen sich eine Vielzahl von Eigenschaften betrachten. Das <a
  47. href="http://jendryschik.de/wsdev/trans/designguide/">Essay von Bert
  48. Bos</a> über die Design-Grundsätze der Organisation W3C - welche die
  49. Formate des World-Wide-Web erarbeitet - nennt unter anderem Effizienz,
  50. Wartbarkeit, Zugänglichkeit, Erweiterbarkeit, Erlernbarkeit, Einfachheit
  51. und Langlebigkeit.</p>
  52. <p>Zwei zentrale Fragen dabei sind:</p><ul>
  53. <li>Wie gut löst das Datenformat das Problem? Und:</li>
  54. <li>Ist es das einfachst mögliche oder gibt es ein einfacheres Datenformat?</li></ul>
  55. <p>Die erste Frage erläutert sich von selbst: Wer einen Text speichern,
  56. übertragen und durchsuchen möchte, der wird ungern ein Format für
  57. pixelbasierte Bilder wählen - obwohl bei eingescannten Papieren oder
  58. Faksimiles im ersten Schritt unvermeidlich.</p>
  59. <p>Spannender ist die zweite Frage: Ist das Format so kompliziert wie nötig
  60. und so einfach wie möglich? Es ist schwer, ein Datenformat zu entwerfen
  61. oder auszuwählen, welches diesem Minimalgebot entspricht.</p>
  62. <p>Da ist einmal die schlechte Wirkung des <a
  63. href="http://sourcemaking.com/antipatterns/design-by-committee">"Design
  64. by Committee"</a>, also der <a
  65. href="http://webstandard.kulando.de/post/2010/07/21/design-by-committee-gestaltung-durch-viele-entscheider">Beteiligung
  66. vieler Entscheider</a> an einer technischen Ausarbeitung. Standards
  67. werden gern mit der Beteiligung Vieler entwickelt und die Entscheidung für
  68. eine Softwarelösung in einer Organisation - besonders in einer öffentlichen
  69. - wird ebenfalls in oft zahlreich besetzen Gremien gefällt. Da können
  70. schnell "viele Köche den Brei verderben" und mehr hinzufügen, als wirklich
  71. notwendig wäre. Das W3C ist sich <a
  72. href="http://www.w3.org/People/Bos/DesignGuide/committee.html">laut
  73. Bos</a> dieser Problematik immerhin bewusst, viele andere Gruppen sind es
  74. nicht.</p>
  75. <p>Hinzu kommt, dass Software-Lösungen oft mit einer Abhakliste bewertet
  76. werden. Zuerst dürfen sich alle Betroffenen etwas wünschen. Diese Wünsche
  77. sind oft konkrete Lösungsideen und werden zu der Liste für die Beschaffung
  78. verdichtet. Das Software-Produkt gewinnt mit den meisten Häkchen, was meist
  79. ein Datenformat bedeutet, welches selten bis gar nicht gebrauchte Funktionen
  80. enthält. Besser wäre es die Wünsche problemorientiert zu erfassen und mehr
  81. Punkte für Lösungen zu verteilen, welche mit mehreren, einfachen, sich
  82. ergänzenden Datenformaten arbeiten.</p>
  83. <p>Softwarehersteller kennen Ihre Käufer. Je mehr Häkchen bedient werden
  84. können, desto wertvoller scheint eine Software, da sie - flüchtig
  85. betrachtet - mit sehr vielen Wünschen zurecht käme; außer dem Wunsch nach
  86. schlichter Eleganz. So sehen dann Software und Datenformat auch aus:
  87. Aufgebläht mit vielen Funktionen, damit sich viele Lösungsideen direkt
  88. wiederfinden lassen. Ein weiterer Vorteil für den Hersteller: Der
  89. Konkurrenz wird es erschwert, das Format genauso gut zu verarbeiten oder
  90. eine überlegene Teillösung anzubieten. Der Kunde muss ganz kaufen, oder gar
  91. nicht. Warum noch ein weiteres Datenformat, wenn das eine schon alles
  92. kann?</p>
  93. <p>Jede zusätzliche Funktion oder Regelung macht die Beschreibung eines
  94. Datenformats exponentiell komplizierter. Die Nachteile sind immens. Die
  95. Entwickler von einer Software, welche mit einem Datenformat umgehen soll,
  96. müssen die Beschreibung komplett durchdringen. Das umfasst den ganzen Text
  97. und dann alle Möglichkeiten, welche sich durch die Kombination der
  98. enthaltenden Elemente ergeben. Weniger lesen und verstehen zu müssen, bedeutet
  99. eine einfachere und sicherere Umsetzung in der Software. Das führt zu mehr
  100. Software, welche das Datenformat auf hohem Niveau spricht. Wettbewerb,
  101. Auswahl und damit mehr Nutzen für Anwender folgen nach.</p>
  102. <p>Je fintenreicher ein Datenformat ist, desto größer die Chance, dass es
  103. selten benötigte Vorkehrungen gibt. Das Format und dessen Umsetzungen in
  104. Software gleichen dann einem großen verwinkeltem Haus, bei dem manches
  105. stark belebt ist, aber einige Räume oder Nischen praktisch nie betreten
  106. werden. Klar, so ein Haus lässt sich schwerer
  107. absichern. Einbrecher könnten
  108. einfach ein in Vergessenheit geratenes Kellerfenster aufdrücken, oder beim
  109. offiziellen Gang durch das Gebäude unentdeckt etwas in einem dunklen
  110. Treppenabsatz verstecken.</p>
  111. <p>Experten betrachten Komplexität als das größte Problem für
  112. Software-Sicherheit. Deshalb stehen viele von ihnen Standards skeptisch bis
  113. feindselig gegenüber.<a class="fn" id="ref-complexity" href="#fn-complexity">1</a> </p>
  114. <p>Um die Risiken greifbarer zu machen, betrachten wir wie ein Rechner
  115. Schriftzeichen darstellt: Da gibt es den weit verbreiteten Standard ISO/IEC
  116. 8859-15 (Latin-9). Mehr als 20, meist westeuropäische, Sprachen könnten
  117. damit verarbeitet werden. Für ein Zeichen gibt es 255 verschiedene
  118. Möglichkeiten. Ein neuerer Standard namens Unicode (ISO 10646) soll es
  119. ermöglichen alle Sprachen zu Kodieren. Dafür braucht es mehr, nämlich mehr
  120. als eine Millionen Möglichkeiten. Weiterhin kann ich gleiche Zeichen noch
  121. auf mehreren unterschiedlichen Wegen darstellen, beispielsweise in den
  122. Kodierungsvarianten UTF-8 und UCS-2. Einerseits ist Unicode ein Segen:
  123. Einmal richtig programmiert, ist eine Anwendung auf hunderte von Sprachen
  124. grundsätzlich vorbereitet. Andererseits kann eine Programmiererin bei einer
  125. Eingabe nicht mehr im Kopf ausrechnen, was bei allen Zeichen im Quelltext
  126. geschehen könnte. Bei den 256 Fällen von Latin-9 ging das; bei Unicode
  127. fehlt diese Übersicht. Ein schlauer Angreifer mag dann Kombinationen
  128. finden, an welche der Entwickler nicht gedacht hat. Das kommt regelmäßig
  129. vor. Hier zwei einfache Beispiele: 1. <a
  130. href="http://de.wikipedia.org/wiki/Homographischer_Angriff">Der
  131. homographische Angriff</a> täuscht Nutzer durch ähnlich aussehende
  132. Internetadressen. Das Kyrillische aus Unicode-Schriften eignet sich dafür.
  133. 2. Den Entwicklern eines bekannten Webservers wurden vor vielen Jahren <a
  134. href="https://www.bsi.bund.de/ContentBSI/grundschutz/kataloge/m/m05/m05102.html">die
  135. Möglichkeiten von Unicode in URLs zum Verhängnis</a>.</p>
  136. <p>Es ist keine Überraschung, dass es mehr Anwendungen gibt, welche mit
  137. Latin-9 "korrekt" umgehen können als mit Unicode. Das Problem ist für
  138. jedes "dicker" spezifizierte Datenformat ähnlich: Es gibt Anwendungen
  139. welche die seltenen Funktionen nicht verstehen. Schon weil es so viele
  140. Funktionen sind, dass sich das nicht mehr testen lässt. Beworben wird dann
  141. die Fähigkeit, Datenformat X zu verstehen, aber ob das in der Praxis mit der
  142. Software klappt, ist fraglich.</p>
  143. <p>Manche Datenformate bauen dieses Problem sogar direkt ein: Es gibt von
  144. ihnen verschiedene Ausbaustufen. Wer hier feststellen möchte, ob
  145. Anwendungen kompatibel sind, der muss genau angeben, um welches Datenformat
  146. es sich handelt. Beispielsweise gibt es vom Open Document Format (ODF) mit
  147. 1.0, 1.1 und 1.2 schon drei Varianten. Vermutlich mit zunehmender
  148. Komplexität. Es gibt sicher viele Fälle, wo das Nutzen der Möglichkeiten
  149. von Version 1.0 völlig ausreichend wäre. Die Voreinstellung dürfte trotzdem
  150. das Speichern in der neuesten, von der Software unterstützten, Version
  151. sein. Für PDF existiert das Problem noch verschärfter. Manche <a
  152. href="http://pdfreaders.org/os.de.html">Versionen oder Teile von PDFs</a>
  153. entsprechen nicht mal den Anforderungen eines offenen Standards.</p>
  154. <p>Wer Computer verstehen möchte, dem wird erklärt, dass es zwei
  155. verschiedene Dinge gibt: Daten und Programme. Während die Daten nur
  156. verarbeitet werden, enthalten die Programme Befehle für den Computer. Der
  157. Unterschied wird deutlich anhand eines Zettels auf dem steht: Spring von
  158. der Brücke! Diesen Zettel und den Satz kann ich problemlos lesen,
  159. aufschreiben und weitergeben - also verarbeiten. Sollte ich ihn als Befehl
  160. auffassen und ausführen, dann falle ich leicht auf die Nase. Das ist bei
  161. Rechnern genauso. Dateiformate wie ODF, Doc und PDF können neben Daten
  162. auch Anweisungen für automatische Bearbeitung ("Makros") oder interaktive
  163. Elemente (Javascript) enthalten. Das macht jede Datei zu einer potentiellen
  164. Anwendung mit Befehlen für meinen Computer. Klar, dass Angreifer das
  165. ausnutzen, wie bei den <a
  166. href="https://www.bsi-fuer-buerger.de/ContentBSIFB/GefahrenImNetz/Schadprogramme/Viren/viren.html">Makro-Viren</a>. </p>
  167. <p>Die meisten Texte, welche übertragen werden, brauchen nur einen kleinen
  168. Bruchteil dessen, was gängige Datenformate ihnen an Formatierungs-,
  169. Auszeichnungs- und Layout-möglichkeiten anbieten. Eine schlichte Datei aus
  170. Latin-9 Zeichen kann seit Jahrzehnten auf jeden Rechner mit einem
  171. einfachen Texteditor und allen Textverarbeitungen bearbeitet werden. Mit steigenden
  172. Anforderungen könnte ein kleiner Teil von HTML 2 schon ausreichen, für
  173. Überschriften, Aufzählungen und Internetverweise. Oder eine <a
  174. href="http://de.wikipedia.org/wiki/Creole_(Markup)">schlichte,
  175. textbasierte Auszeichnungsprache</a>, wie sie in Wikis Verwendung findet.
  176. Die Wikipedias und Weblogs dieser Welt belegen, das sich sehr viel
  177. Inhalt mit solch einfachen Mittel ausdrücken läßt.</p>
  178. <p>Alle - außer den Herstellern der proprietären Software - haben ein
  179. Interesse daran, dass verschiedene Software-Produkte miteinander im Wettbewerb stehen.
  180. Und dass die Produkte sicher gegen Angreifer und gut interoperabel sind.
  181. Das Minimalgebot für Datenformate fördert all das. Es besteht darin, alles
  182. wegzulassen, was nicht unbedingt notwendig ist. Ziel ist <a
  183. href="http://magplot.de/TasteForMakers">ein schlichtes und elegantes
  184. Design</a>. Schön ist ein Baukasten, bei dem sich aus wenigen
  185. verschiedenen Elementen leicht unendliche viele Werke schaffen lassen.</p>
  186. <p>Obwohl es gute Gründe geben kann, ein Datenformat zu nehmen, welches mehrere
  187. Anforderungen bündelt, sollten wir uns öfter fragen: "Geht das
  188. einfacher?"</p>
  189. <h2 id="fn">Fußnoten</h2>
  190. <ol>
  191. <li id="fn-complexity">"Complexity is the main enemy of security",
  192. Ferguson, Niels, and Schneier, Bruce - Practical Cryptography, Wiley, 2003,
  193. ISBN 0-471-22357-3. p146 "9.4.1 Simplicity", pp365- "23 Standards"
  194. <a href="http://www.macfergus.com/pc">http://www.macfergus.com/pc</a> [<a href="#ref-complexity">&#8626;</a>]</li>
  195. </ol>
  196. </body>
  197. <timestamp>$Date$ $Author$</timestamp>
  198. <tags>
  199. <tag>openstandards</tag>
  200. </tags>
  201. <legal type="cc-license">
  202. <license>https://creativecommons.org/licenses/by-sa/3.0/</license><notice>Neben der Standardlizenz der Webseite steht dieser Artikel unter der Creative Commons Attribution-ShareAlike 3.0 Unported (CC BY-SA 3.0)</notice>
  203. </legal>
  204. <author id="reiter" />
  205. <date>
  206. <original content="2012-03-23" />
  207. </date>
  208. </html>