Updating the article

svn path=/trunk/; revision=22770
This commit is contained in:
Matthias Kirschner 2012-03-23 11:28:30 +00:00
parent f98dc4a73b
commit d28625bd8f
1 changed files with 54 additions and 43 deletions

View File

@ -17,30 +17,39 @@
für unsere Computer? Daten, Informationen, Wissen, Meinungen, Kunstwerke - für unsere Computer? Daten, Informationen, Wissen, Meinungen, Kunstwerke -
kurz Inhalt. Er wird erstellt, verarbeitet und übertragen. Meist direkt kurz Inhalt. Er wird erstellt, verarbeitet und übertragen. Meist direkt
elektronisch. Immer mehr Menschen haben einen Rechner mit Internetanschluss elektronisch. Immer mehr Menschen haben einen Rechner mit Internetanschluss
zur Verfügung und evolutioneren damit Ihre Zusammenarbeit.</p> zur Verfügung und evolutionieren damit ihre
Zusammenarbeit.</p>
<p>Inhalt wandert also von einer Nutzerin zum Nutzer und zurück. Dabei <p>Inhalt wandert also von einer Nutzerin zum Nutzer und zurück. Dabei
muss er eine Form annehmen: Das Datenformat. Es legt fest, wie Daten - also muss er eine Form annehmen: Das Datenformat. Es legt fest, wie Inhalt plus Verpackung
der Inhalt plus Verpackung - durch eine Software-Anwendung zu behandeln zu handhaben sind, was darin stehen darf und wie das in einer Datei oder
sind. Damit ist das jeweils gewählte Datenformat zentral für die Frage, wie über eine Internetverbindung dann konkret aussieht. Wer mitmachen möchte,
der Inhalt heute bearbeitet werden kann und wie lange das so bleiben braucht eine Software, welche das Datenformat versteht. Sonst wäre der Inhalt
wird.</p> für die eigene Anwendung wie eine unbekannte Fremdsprache. Wenn ein
Datenformat keine Speicherung von Fotos zuläßt, dann kann ich mit diesem eben
keine Fotos speichern. Die Wahl des Datenformats ist deshalb entscheidend
dafür, wie lange ich an meinen Inhalt herankomme und was ich mit ihm
machen kann.</p>
<p>Der einzelne Nutzer mag die Wirkung seiner Entscheidung bei jedem <p>Der einzelne Nutzer mag die Wirkung seiner Entscheidung bei jedem
Abspeichern noch wenig bemerken. Wenn sich eine IT-Abteilung oder die Abspeichern kaum bemerken. Wenn sich eine IT-Abteilung oder die
öffentliche Hand für ein Datenformat entscheiden, dann wirft das Wellen. öffentliche Hand für ein Datenformat entscheiden, dann wirft das Wellen.
Die damit verbundene Wahl der Softwarelösung hat Auswirkungen auf viele Die damit verbundene Wahl der Softwarelösung hat Auswirkungen auf viele
Jahre und Jahrzehnte hinweg. Je mehr wertvolle Schriftstücke, Tonaufnahmen Jahre und Jahrzehnte hinaus. Je mehr wertvolle Schriftstücke, Tonaufnahmen
oder Bilder elektronisch abgelegt werden, desto wertvoller, darauf noch oder Bilder elektronisch abgelegt werden, desto wertvoller, darauf noch
zugreifen zu können. Bewusst oder indirekt wird so auch die Entwicklung zugreifen zu können. Bewusst oder indirekt wird so auch die Entwicklung
der Datenformate finanziert. Viele Softwarehersteller versuchen absichtlich der Datenformate finanziert. Viele Softwarehersteller versuchen absichtlich
viele Nutzergruppen dazu zu verleiten, ein von Ihnen beherrschtes Nutzer dazu zu verleiten, ein von ihnen beherrschtes
Datenformat zu nehmen. Der Hersteller erhält dann die Daten eines Datenformat zu verwenden, zum Beispiel für die Konstruktionspläne von Fahrzeugen,
Unternehmens oder eines Staates als Faustpfand. Aus seiner Sicht eine Gebäuden oder Maschinen. Der Hersteller der dazugehörigen CAD-Anwendung erhält dann
starke Verhandlungsposition für die Kosten der nächsten Version.</p> praktisch diese Daten eines Unternehmens als Faustpfand.
Aus seiner Sicht ist das eine
starke Verhandlungsposition für die Kosten der nächsten Version.
Manchmal begeben sich auch ganze Staaten in eine solche Situation.</p>
<p>Deshalb ist es für ein gutes Datenformat unabdingbar, ein <a <p>Deshalb kann ein gutes Datenformat nur ein <a
href="/projects/os/def.html">Offener Standard</a> zu sein. Diese href="/projects/os/def.html">Offener Standard</a> sein.
Diese
Grundvoraussetzung ist jedoch nicht ausreichend. Das Datenformat muss Grundvoraussetzung ist jedoch nicht ausreichend. Das Datenformat muss
zudem ein Problem angemessen lösen, also fachlich und technisch gut passen. zudem ein Problem angemessen lösen, also fachlich und technisch gut passen.
Dazu lassen sich eine Vielzahl von Eigenschaften betrachten. Das <a Dazu lassen sich eine Vielzahl von Eigenschaften betrachten. Das <a
@ -58,11 +67,11 @@
<p>Die erste Frage erläutert sich von selbst: Wer einen Text speichern, <p>Die erste Frage erläutert sich von selbst: Wer einen Text speichern,
übertragen und durchsuchen möchte, der wird ungern ein Format für übertragen und durchsuchen möchte, der wird ungern ein Format für
pixelbasierte Bilder wählen - obwohl bei eingescannten Papieren oder pixelbasierte Bilder wählen - obwohl bei eingescannten Papieren oder
Faxsimiles im ersten Schritt unvermeidlich.</p> Faksimiles im ersten Schritt unvermeidlich.</p>
<p>Spannender ist die zweite Frage: Ist das Format so kompliziert wie nötig <p>Spannender ist die zweite Frage: Ist das Format so kompliziert wie nötig
und so einfach wie möglich? Es ist schwer ein Datenformat zu entwerden und so einfach wie möglich? Es ist schwer, ein Datenformat zu entwerfen
oder auszuwählen, was diesem Minimalgebot entspricht.</p> oder auszuwählen, welches diesem Minimalgebot entspricht.</p>
<p>Da ist einmal die schlechte Wirkung des <a <p>Da ist einmal die schlechte Wirkung des <a
href="http://sourcemaking.com/antipatterns/design-by-committee">"Design href="http://sourcemaking.com/antipatterns/design-by-committee">"Design
@ -81,8 +90,8 @@
<p>Hinzu kommt, dass Software-Lösungen oft mit einer Abhakliste bewertet <p>Hinzu kommt, dass Software-Lösungen oft mit einer Abhakliste bewertet
werden. Zuerst dürfen sich alle Betroffenen etwas wünschen. Diese Wünsche werden. Zuerst dürfen sich alle Betroffenen etwas wünschen. Diese Wünsche
sind oft konkrete Lösungsideen und werden zu der Liste für die Beschaffung sind oft konkrete Lösungsideen und werden zu der Liste für die Beschaffung
verdichtet. Das Software-Produkt gewinnt mit den meisten Häkchen, was mein verdichtet. Das Software-Produkt gewinnt mit den meisten Häkchen, was meist
ein Datenformat bedeutet in dem selten bis gar nicht gebrauchte Funktionen ein Datenformat bedeutet, welches selten bis gar nicht gebrauchte Funktionen
enthält. Besser wäre es die Wünsche problemorientiert zu erfassen und mehr enthält. Besser wäre es die Wünsche problemorientiert zu erfassen und mehr
Punkte für Lösungen zu verteilen, welche mit mehreren, einfachen, sich Punkte für Lösungen zu verteilen, welche mit mehreren, einfachen, sich
ergänzenden Datenformaten arbeiten.</p> ergänzenden Datenformaten arbeiten.</p>
@ -101,9 +110,9 @@
<p>Jede zusätzliche Funktion oder Regelung macht die Beschreibung eines <p>Jede zusätzliche Funktion oder Regelung macht die Beschreibung eines
Datenformats exponentiell komplizierter. Die Nachteile sind immens. Die Datenformats exponentiell komplizierter. Die Nachteile sind immens. Die
Entwickler von einer Software, welche mit einem Datenformat umgehen soll, Entwickler von einer Software, welche mit einem Datenformat umgehen soll,
müssen die Beschreibung komplett durchdringen. Das umfaßt den ganzen Textes müssen die Beschreibung komplett durchdringen. Das umfasst den ganzen Text
und dann alle Möglichkeiten, welche sich durch die Kombination der und dann alle Möglichkeiten, welche sich durch die Kombination der
enthaltenden Elemente ergeben. Weniger zu lesen und zu verstehen, bedeutet enthaltenden Elemente ergeben. Weniger lesen und verstehen zu müssen, bedeutet
eine einfachere und sicherere Umsetzung in der Software. Das führt zu mehr eine einfachere und sicherere Umsetzung in der Software. Das führt zu mehr
Software, welche das Datenformat auf hohem Niveau spricht. Wettbewerb, Software, welche das Datenformat auf hohem Niveau spricht. Wettbewerb,
Auswahl und damit mehr Nutzen für Anwender folgen nach.</p> Auswahl und damit mehr Nutzen für Anwender folgen nach.</p>
@ -112,13 +121,14 @@
selten benötigte Vorkehrungen gibt. Das Format und dessen Umsetzungen in selten benötigte Vorkehrungen gibt. Das Format und dessen Umsetzungen in
Software gleichen dann einem großen verwinkeltem Haus, bei dem manches Software gleichen dann einem großen verwinkeltem Haus, bei dem manches
stark belebt ist, aber einige Räume oder Nischen praktisch nie betreten stark belebt ist, aber einige Räume oder Nischen praktisch nie betreten
werden. Klar, so ein Haus lässt sich schwerer absichern. Angreifer könnten werden. Klar, so ein Haus lässt sich schwerer
absichern. Einbrecher könnten
einfach ein in Vergessenheit geratenes Kellerfenster aufdrücken, oder beim einfach ein in Vergessenheit geratenes Kellerfenster aufdrücken, oder beim
offiziellen Gang durch das Gebäude, unentdeckt etwas in einem dunklen offiziellen Gang durch das Gebäude unentdeckt etwas in einem dunklen
Treppenabsatz verstecken.</p> Treppenabsatz verstecken.</p>
<p>Experten betrachten Komplexität als das größte Problem für <p>Experten betrachten Komplexität als das größte Problem für
Software-Sicherheit. Deshalb stehen viele Standards skeptisch bis Software-Sicherheit. Deshalb stehen viele von ihnen Standards skeptisch bis
feindselig gegenüber.<a class="fn" href="#fn">1</a> </p> feindselig gegenüber.<a class="fn" href="#fn">1</a> </p>
<p>Um die Risiken greifbarer zu machen, betrachten wir wie ein Rechner <p>Um die Risiken greifbarer zu machen, betrachten wir wie ein Rechner
@ -136,21 +146,21 @@
geschehen könnte. Bei den 256 Fällen von Latin-9 ging das; bei Unicode geschehen könnte. Bei den 256 Fällen von Latin-9 ging das; bei Unicode
fehlt diese Übersicht. Ein schlauer Angreifer mag dann Kombinationen fehlt diese Übersicht. Ein schlauer Angreifer mag dann Kombinationen
finden, an welche der Entwickler nicht gedacht hat. Das kommt regelmäßig finden, an welche der Entwickler nicht gedacht hat. Das kommt regelmäßig
vor. Hier zwei wirklich einfache Angriffe welche Komplexität ausnutzen: <a vor. Hier zwei einfache Beispiele: 1. <a
href="http://de.wikipedia.org/wiki/Homographischer_Angriff">Der href="http://de.wikipedia.org/wiki/Homographischer_Angriff">Der
homographische Angriff</a> täuscht Nutzer durch ähnlich aussehende homographische Angriff</a> täuscht Nutzer durch ähnlich aussehende
Internetadressen. Das Kyrillische aus Unicode-Schriften eignet sich dafür. Internetadressen. Das Kyrillische aus Unicode-Schriften eignet sich dafür.
Den Entwicklern eines bekannten Webservers wurden vor vielen Jahren <a 2. Den Entwicklern eines bekannten Webservers wurden vor vielen Jahren <a
href="https://www.bsi.bund.de/ContentBSI/grundschutz/kataloge/m/m05/m05102.html">die href="https://www.bsi.bund.de/ContentBSI/grundschutz/kataloge/m/m05/m05102.html">die
Möglichkeiten von Unicode in URLs zum Verhängnis</a>.</p> Möglichkeiten von Unicode in URLs zum Verhängnis</a>.</p>
<p>Es ist keine Überraschung, dass es mehr Anwendungen gibt, welche mit <p>Es ist keine Überraschung, dass es mehr Anwendungen gibt, welche mit
Latin-9 "korrekt" umgehen können, als mit Unicode. Das Problem ist für Latin-9 "korrekt" umgehen können als mit Unicode. Das Problem ist für
jedes "dicker" spezifizierte Datenformat ähnlich: Es gibt Anwendungen jedes "dicker" spezifizierte Datenformat ähnlich: Es gibt Anwendungen
welche die seltenen Funktionen nicht verstehen. Schon weil es so viele welche die seltenen Funktionen nicht verstehen. Schon weil es so viele
Funktionen sind, dass sich das nicht mehr testen läßt. Beworben wird dann Funktionen sind, dass sich das nicht mehr testen lässt. Beworben wird dann
die Fähigkeit Datenformat X zu verstehen, aber ob das in der Praxis mit der die Fähigkeit, Datenformat X zu verstehen, aber ob das in der Praxis mit der
Software klappt ist fraglich.</p> Software klappt, ist fraglich.</p>
<p>Manche Datenformate bauen dieses Problem sogar direkt ein: Es gibt von <p>Manche Datenformate bauen dieses Problem sogar direkt ein: Es gibt von
ihnen verschiedene Ausbaustufen. Wer hier feststellen möchte, ob ihnen verschiedene Ausbaustufen. Wer hier feststellen möchte, ob
@ -176,31 +186,32 @@
Elemente (Javascript) enthalten. Das macht jede Datei zu einer potentiellen Elemente (Javascript) enthalten. Das macht jede Datei zu einer potentiellen
Anwendung mit Befehlen für meinen Computer. Klar, dass Angreifer das Anwendung mit Befehlen für meinen Computer. Klar, dass Angreifer das
ausnutzen, wie bei den <a ausnutzen, wie bei den <a
href="https://www.bsi-fuer-buerger.de/ContentBSIFB/GefahrenImNetz/Schadprogramme/Viren/viren.html">Makro-Viren</a>.</p> href="https://www.bsi-fuer-buerger.de/ContentBSIFB/GefahrenImNetz/Schadprogramme/Viren/viren.html">Makro-Viren</a>. </p>
<p>Die meisten Texte, welche übertragen werden, brauchen nur einen kleinen <p>Die meisten Texte, welche übertragen werden, brauchen nur einen kleinen
Bruchteil dessen, was gängige Datenformate ihnen an Formatierungs-, Bruchteil dessen, was gängige Datenformate ihnen an Formatierungs-,
Auszeichnungs- und Layout-möglichkeiten anbieten. Eine schlichte Datei aus Auszeichnungs- und Layout-möglichkeiten anbieten. Eine schlichte Datei aus
Latin-9 Zeichen kann seit Jahrzehnten auf jeden Rechner mit einem "Editor" Latin-9 Zeichen kann seit Jahrzehnten auf jeden Rechner mit einem
und allen Textverarbeitungen bearbeitet werden. Mit steigenden einfachen Texteditor und allen Textverarbeitungen bearbeitet werden. Mit steigenden
Anforderungen könnte ein kleiner Teil von HTML 2 schon ausreichen, für Anforderungen könnte ein kleiner Teil von HTML 2 schon ausreichen, für
Überschriften, Aufzählungen und Internetverweise. Oder eine <a Überschriften, Aufzählungen und Internetverweise. Oder eine <a
href="http://de.wikipedia.org/wiki/Creole_(Markup)">schlichte, href="http://de.wikipedia.org/wiki/Creole_(Markup)">schlichte,
textbasierte Auszeichnungsprache</a>, wie sie in Wikis Verwendung finden. textbasierte Auszeichnungsprache</a>, wie sie in Wikis Verwendung finden.
Die Wikipedias und Weblogs dieser Welt belegen das.</p> Die Wikipedias und Weblogs dieser Welt belegen, das sich sehr viel
Inhalt mit solch einfachen Mittel ausdrücken läßt.</p>
<p>Alle - außer den Herstellern der proprietären Software - haben ein <p>Alle - außer den Herstellern der proprietären Software - haben ein
Interesse daran, dass verschiedene Software-Produkte im Wettbewerb stehen. Interesse daran, dass verschiedene Software-Produkte miteinander im Wettbewerb stehen.
Und dass die Produkte sicher gegen Angreifer und gut interoperabel sind. Und dass die Produkte sicher gegen Angreifer und gut interoperabel sind.
Das Minimalgebot für Datenformate fördert all das. Es besteht darin alles Das Minimalgebot für Datenformate fördert all das. Es besteht darin, alles
Wegzulassen, was nicht unbedingt notwendig ist. Ziel ist <a wegzulassen, was nicht unbedingt notwendig ist. Ziel ist <a
href="http://magplot.de/TasteForMakers">ein schlichtes und elegantes href="http://magplot.de/TasteForMakers">ein schlichtes und elegantes
Design</a>. Schön ist ein Baukasten, bei dem sich aus wenigen Design</a>. Schön ist ein Baukasten, bei dem sich aus wenigen
verschiedenen Elementen leicht unendliche viele Werke schaffen lassen.</p> verschiedenen Elementen leicht unendliche viele Werke schaffen lassen.</p>
<p>Obwohl es gute Gründe geben kann, ein Datenformat zu nehmen, was mehre <p>Obwohl es gute Gründe geben kann, ein Datenformat zu nehmen, welches mehre
Anforderungen bündelt, die Frage "Geht das einfacher?" gehört häufiger mit Anforderungen bündelt, sollten wir uns öfter fragen: "Geht das
Nachdruck gestellt.</p> einfacher?"</p>
<h2 id="fn">Fußnoten</h2> <h2 id="fn">Fußnoten</h2>
<ol> <ol>
@ -210,11 +221,11 @@
<a href="http://www.macfergus.com/pc">http://www.macfergus.com/pc</a></li> <a href="http://www.macfergus.com/pc">http://www.macfergus.com/pc</a></li>
</ol> </ol>
<p>Neben der Standardslizenz der Webseite steht dieser Artikel unter der <a <p>Neben der Standardlizenz der Webseite steht dieser Artikel unter der <a
href="https://creativecommons.org/licenses/by-sa/3.0/">Creative Commons href="https://creativecommons.org/licenses/by-sa/3.0/">Creative Commons
Attribution-ShareAlike 3.0 Unported (CC BY-SA 3.0)</a>.</p> Attribution-ShareAlike 3.0 Unported (CC BY-SA 3.0)</a>.</p>
</body> </body>
<timestamp>$Date$ $Author: Matthias Kirschner$</timestamp> <timestamp>$Date$ $Author$</timestamp>
</html> </html>