[rohrpost] Leicht offtopic: "Spiegel Online" über Linux

Florian Cramer cantsin at zedat.fu-berlin.de
Mit Mar 23 15:46:34 CET 2005


[Meinem Ärger über einen zweiteiligen "Spiegel Online"-Erfahrungsbericht
über Linux, dessen Autor an der Betriebnahme eines Windows-proprietären
Modems und schließlich am ganzen Betriebssystem scheitert, wollte ich
ursprünglich im passenden "Spiegel Online"-Forum Luft machen. Deren
Forums-Software ist aber derart fehlerhaft, daß ich nach 24 Stunden
immer noch keinen Bestätigung meines Account-Registration erhalten habe.
Stattdessen schicke ich meinen Beitrag nun hierhin, zumal der "Spiegel
Online"-Autor Klaus Lüber auch schon rohrpost-Beiträge geschrieben hat,
und es natürlich um Computer- und Netzkultur geht. Ich wollte schon
seit längeren einen Aufsatz darüber schreiben, daß es in der sog.
Netzkultur eine merkwürdige Diskrepanz zwischen demonstrativen
Lippenbekenntnissen zu freier Software und ihrer tatsächlichen Nutzung
gibt - prominentestes Beispiel: Lawrence Lessig, dessen Aufsätze in den
von www.lessig.org herunterladbaren PDF-Dateien allesamt mit
proprietärer Software unter Windows geschrieben wurden. Da ich keine
Zeit dafür finde, schicke ich ersatzweise meinen Leserbrief, dessen
technischen Detailausführungen man ggfs. überlesen sollte.

Hier die beiden Original-Artikel:
http://www.spiegel.de/netzwelt/technologie/0,1518,347074,00.html
http://www.spiegel.de/netzwelt/technologie/0,1518,347080,00.html

-F]



Der Artikel vermengt zwei Dinge, nämlich (a) das Problem, wie technisch
komplexe Betriebssysteme auf einer offenen Hardware-Plattform wie
IBM-kompatiblen PCs einfach administriert werden können, (b) Aussagen
über Softwaretechnik und Informatik, die haarsträubend klingen und auf
fachlichen Mißverständnissen zu beruhen scheinen. 

Dabei stimme ich mit dem Autor überein, daß 
unixoide PC-Betriebssysteme nichts für technische Laien sind und
ähnlich wie eine Programmiersprache systematisch erlernt werden müssen,
wenn sie nicht von Dritten administriert werden. Dies ist übrigens auch
der Konsens in Hardcore-Unixer-Foren wie der Newsgroup
de.comp.os.unix.discussion.  Insofern verstehe ich die
Alltagsfrustration mit Linux, die im Artikel formuliert wird, gut. Ich
würde sogar weitergehen und sagen, daß Desktop-Linux mit KDE oder Gnome
und graphischen Anwendungen nichts taugt [es sei denn, auf
Behörden-Desktops oder Surfstationen] und die gesamte Entwicklung von
Desktop-Linux sich konzeptuell und technisch verrannt hat. Was ich aber
nicht teile, sind die technischen und Software-philosophischen
Ausführungen des Autors, die streckenweise abenteuerlich anmuten.

   Nach dem Update funktioniert das Modem nicht mehr.

Sehr wahrscheinlich wurde beim Systemupdate auch der Linux-Kernel auf
eine neuere Version aktualisiert, und damit ging der nachträglich
eingebaute Modem-Treiber verloren. Dies wäre genauso z.B. bei einem
Systemupdate von Windows 98 auf Windows XP passiert. 

Es gilt für alle Betriebssysteme, daß Hardware entweder unterstützt wird
oder nicht. Die Chancen, dasselbe Windows-proprietäre Modem an einen Mac
anschließen und unter MacOS X in Betrieb nehmen zu können, sind gleich
Null. Umgekehrt dürfte z.B. eine Apple "AirPort" WLAN-Karte nicht unter
Windows funktionieren.  Die Linux-Winmodem-Treiber sind Behelfs-Hacks
und -Krücken, die zwar immer noch besser sind als gar keine Treiber. Der
Nutzer wäre in den Linux-Foren aber besser beraten worden, hätte man ihm
dort von deren Einsatz als nicht-Freak und -Hacker abgeraten. Dies gilt
grundsätzlich für alle Hardware-Treiber, die nicht im
Linux-Betriebssystem schon enthalten sind.

Die Tatsache, daß Linux alle verfügbaren, stabilen Treiber aus einer
Hand mitbringt und daß alle diese Treiber von Linus Torvalds und
seinem Entwicklerteam technisch evaluiert und als offizieller
Bestandteil von Linux abgesegnet wurden, ist gerade einer der großen
Stärken des Systems, und der Hauptgrund, weshalb es stabil läuft.
Ein Windows z.B. ist in seiner nackten, von Microsoft ausgelieferten
Form ebenfalls nicht zum Absturz zu bringen und wird erst durch
minderwertige PC-Hardwarekomponenten mit unsauber programmierten
Hersteller-Treibern instabil. Was der erste Teil des Spiegel
Online-Artikels als Windows-Vorteil ansieht, nämlich das Herunterladen
von Systemtreibern von Hersteller-Websites, ist aus technischer Sicht
eine haarsträubende Unsitte.

   Plötzlich sieht Karl kein Land mehr. Für jedes gelöste Problem
   tauchen zwei neue auf. Nach über acht Monaten Quälerei dann die
   Kapitulation: Er meldet sich bei linuxforen.de ab. Sämtliche
   Linux-Fachzeitschriften wandern in den Müll. Und um überhaupt wieder
   ruhig arbeiten zu können, installiert er sich Windows XP als zweites
   Betriebssystem.

Ich würde Windows XP trotz aller persönlichen Windows-Antipathie sogar
als Erstsystem empfehlen, wenn der Nutzer sich damit gut auskennt, es
im Prinzip mag und mit seinen Nachteilen leben kann. Das Hauptproblem
ist, daß Windows in seiner Standardkonfiguration Benutzerfreundlichkeit
immer Vorrang vor der Systemsicherheit einräumt, z.B. dadurch, daß
Nutzer per Werkseinstellung mit vollen Administratorprivilegien auf
dem System arbeiten, und diverse Dienste (Server) laufen und sich
nicht deaktivieren lassen. Mit entsprechenden Detailkenntnissen und
Arbeitsinvestionen läßt sich jedoch auch Windows recht zuverlässig
betreiben. Dieses Knowhow ist aber ebenso komplex wie ein
Unix/Linux-Administrations-Knowhow.

   Selbst Informatik-Profis haben sich längst von der Vorstellung
   verabschiedet, man könne fehlerfreie Computersysteme programmieren
   und akzeptieren Systemabstürze als unausweichliche Tatsache.

Das ist, so formuliert, unsinnig. Fehlerfreiheit muß die Richtlinie
z.B. für Steuerungscomputer in Flugzeugen oder medizinischen Apparaten
sein.  Das Beispiel der praktischen Fehlerfreiheit von Donald Knuths
Textsatzsystem TeX (das integraler Bestandteil jedes GNU/Linux-Systems
ist) wurde hier im Forum schon genannt und ist durchaus praxisrelevant für
jeden, der eine akademische Arbeit oder ein Buch mit vielen hundert
Seiten, Inhaltsverzeichnis, Fußnoten, Querverweisen, Abbildungen und
Indizes schreibt.

Es stimmt allerdings, daß PC-Betriebssysteme wegen der Hardware-nahen
Programmiersprachen (C/C++), auf denen sie basieren, und ihren hohen
Zahl von Codezeilen und Subsystemen niemals die Sicherheitsstandards
z.B. von Flugzeugcomputern erreichen werden.  Doch auch wenn es in
Mainstream- PC-Betriebssystemen keine vergleichbare Zuverlässigkeit
geben wird, ist es absurd, daraus eine pauschale Resignation gegenüber
schlecht programmierter, instabiler Software abzuleiten.  Microsofts
Probleme sind größtenteils hausgemacht. Die Firma stemmt mit weniger
Entwicklern, als sie z.B. IBM beschäftigt, riesige Softwareprojekte,
stellt junge Programmierer ein, die im Akkord und in Überstunden Code
schreiben, bis sie mit 30 ausgebrannt sind, und läßt die
Entwicklungsteams von der Marketingabteilung zur "Featuritis" treiben,
also dazu, mit jeder neuen Softwareversion immer neue Funktionen
aufzusatteln anstatt bestehende zu stabilisieren. 

Daß Abstürze und Fehlfunktionen quasi als gottgegeben hinzunehmen seien,
ist so fragwürdig wie etwa eine Aussage eines Autoherstellers, daß
Unfälle auf Grund amoklaufender Motorelektronik eine "unausweichliche
Tatsache" wären.

   Computersysteme von morgen produzieren kontrollierte Systemabstürze,
   weil man auf diese Weise flexibler auf einen wirklichen Notfall
   reagieren kann.

Hier muß der Autor irgendetwas sehr mißverstanden haben, ich vermute,
aus der Entwicklung von virtuellen Maschinen mit dynamischem
Speichermanagement und automatischer garbage collection, die "buffer
overflows" verhindern. Was bei ihm hängenblieben ist, entspricht - siehe
oben - der surrealen, an Buñuel- und Cronenberg-Filme erinnernden
Aussage, daß künftige Autos "kontrollierte Unfälle" erzeugen würden,
damit man "auf diese Weise flexibler auf einen wirklichen Notfall
reagieren kann".

   Da wirkt Linux mit seinem Kontrollanspruch reichlich rückschrittlich.

In anderen Worten: Lieber ein Auto mit fehlerhaften Automatiken,
das "kontrollierte Unfälle" baut, als ein altbewährtes Auto mit
Schaltgetriebe und Bremspedal, die "mit seinem Kontrollanspruch
reichlich rückschrittlich" wirkt.

   Und das ist auch kein Wunder. Denn so zukunftsweisend die Software
   auch gerade vermarktet wird: Im Grunde ist sie steinalt.

   Der Programmcode basiert auf Unix, und das wurde bereits in den 60er
   Jahren entwickelt.

Diese Aussage ist technisch falsch. Der Programmcode von Linux basiert
in keiner Zeile auf Unix. Es handelt sich bei Linux (bzw. Linux, GNU und
anderen freien Komponenten des Betriebssystems) um ein Unix-kompatibles
Betriebssystem, das aber intern eigenen, neuen Code verwendet. In
der Softwareentwicklung unterscheidet man hier zwischen einem API,
also einer Programmierschnittstelle, und dem Code. Das API von Linux
entspricht dem von Unix bzw. dessen freier POSIX-Spezifikation. Dies
ist vergleichbar mit einer Fotokamera, die genormte Schnittstellen
für Blitzanschluß, Filmpatrone, Motoren und Objektive besitzt. Die
Tatsache, daß Linux kompatibel zu einem seit den späten 60er Jahren
entwickelten Software-Standard ist, macht es ebensowenig zu einem
schlechten Betriebssystem, wie eine heutige Nikon-Spiegelreflex-Kamera
schlecht oder unmodern wäre, wenn ihre Anschlüsse und ihre Filmpatrone
kompatibel zu einer 60er-Jahre-Leica-Spiegelreflex kompatibel wären.

   Eine Zeit, die beherrscht war vom Denken der Kybernetik, jener
   "Steuerungswissenschaft", die geradezu besessen davon war,
   organisches Leben durch mathematische Logik zu optimieren.

   Für die Kybernetiker erschien der Computer als hochkomplexe aber
   dennoch bis ins letzte Detail kontrollierbare Maschine.

Was, als Ideal, immer noch besser ist als eine Maschine, die ihre Nutzer
kontrolliert. Und eine nach menschlichen Fassungsvermögen nicht mehr
rational abstürzende Maschine kann ein ästhetisches Vergnügen sein - wie
es z.B. die Netzkunst von www.jodi.org vorführt -, ist aber schlicht ein
schlechtes Arbeitsinstrument, genauso wie ein nach dem Zufallsprinzip
Unfälle bauendes Auto.

   Linux hat das kybernetische Kontrolldenken in seiner Programmstruktur
   konserviert.

Das ist hanebüchener Unsinn, denn jedes Computerprogramm ist ein
formal-logisches Kontrollgebilde. Es gibt schlicht keine andere
"Programmstruktur" als diese auf heutigen Computerarchitekturen,
höchstens unübersichtliche und daher schlechte wartbare Implementationen
derselben.

   Wer damit arbeiten will, hat nicht nur die Möglichkeit,
   sondern letztlich auch die Aufgabe, alles an seinem System zu
   kontrollieren. Er ist nicht nur Anwender, sondern gleichzeitig auch
   immer der Administrator seines eigenen Systems.

Auch dies ist blanker Un- und Widersinn. Unix und in der Folge
Linux sind im Gegenteil so konstruiert, daß die Nutzer- und
Administrationsebene mit verschiedenen Zugangskonten voneinander
getrennt sind. Dadurch wird im Gegensatz zu Single-User-Systemen wie
Windows 98 oder MacOS 9 auch eine personelle Trennung von reiner Nutzung
und (möglichst: professioneller) Administration ermöglicht. Nutzerkonten
sind dadurch so sicher, daß ein Nutzer auch dann, wenn er z.B. ein
Virus-Attachment öffnet, nicht das Gesamtsystem kompromittieren kann,
sondern nur die Daten seines eigenen Zugangskontos.

Windows hat mit Windows NT/2000/XP genau diese Trennung von Nutzung und
Administration nachgeholt - allerdings nur halbherzig, da sie in der
Grundeinstellung deaktiviert ist und viele Windows-Software mit ihr
nicht funktioniert -, MacOS mit dem Schritt von MacOS 9 zu MacOS X.

   Gut, Linux ist vielleicht alt, sagen die Befürworter. Aber immer noch
   tausendmal besser, als alles, was gerade auf dem Markt ist.

Es ist in seinem Code jünger als Windows, dessen Entwicklungsgeschichte
in den frühen 1980er Jahren beginnt. Der von David Cutler entworfene
Windows NT-Kernel, der auch das technische Fundament von Windows XP
bildet, ist eine Weiterentwicklung von Konzepten des ebenfalls von
Cutler geschriebenen 1970er-Jahre-Betriebssystems VMS.  "Windows NT"
bzw. "WNT" ist selbst ein Wortspiel auf "VMS", so wie Kubricks "HAL" auf
"IBM".  Die softwaretechnischen Konzepte aller
Mainstream-PC-Betriebssysteme - Windows, MacOS, Linux - haben ihre
Wurzeln in den 60er und 70er Jahren, d.h. in C/C++, Unix und VMS.
Avantgardistischere, avanciertere Architekturen wie z.B.  Lisp- und
Smalltalk-Maschinen oder Plan 9 haben sich im Software-Mainstream nicht
durchgesetzt, abgesehen von extrem verwässerten Aneignungen einiger
ihrer Konzepte.  Z.B.  kopieren die graphischen Benutzeroberflächen seit
MacOS und Windows die Konzepte der ursprünglich bei Xerox entwickelten
Smalltalk-Umgebung in alter C-/C++ -Architektur und ohne dessen
avancierte Programmiertechniken und -schnittstellen. Java und .Net
kopieren das Konzept der virtuellen Maschine und des Bytecodes u.a. von
Lisp und Smalltalk, aber in einer Softwareindustrie-typischen, an
C++-Semantik angelehnten Form.

   Das allerdings ist fraglich. Die vielgerühmte Sicherheit und
   Stabilität von Linux, scheinbar unabhängig vom Vorwissen und
   Engagement des Anwenders, hängen in Wahrheit gerade davon ab.

Dem kann man nur zustimmen. Es ist aber eine Binsenweisheit, die für
sämtliche Betriebssysteme gilt, es sei denn, sie sind extrem simpel
und ohne Netzwerkfunktionen versehen wie z.B. ein altes DOS, fest mit
Hardware verlötet wie z.B. Spielkonsolen-Betriebssysteme oder eng auf
herstellereigene Hardware abgestimmt wie MacOS.

Das oben zitierte gilt ja gerade auch für Windows, für dessen
zuverlässigen und sicheren Betrieb ebenfalls eine kompetente Auswahl
der Hardware und viel administratives Wissen nötig ist, sowie - im
Unterschied zu praktisch allen Linux-Distributionen und MacOS X - eine
aufwendige Umkonfiguration der unsicheren Standardeinstellungen des
Betriebssystems.

   Wer beim "Blick hinter die Kulissen" mit kryptischen Zeichen
   operiert, die er nicht versteht, gefährdet sein System viel
   nachhaltiger, als es der dümmste Windows-User je könnte.

Das ist nicht richtig, denn der dümmste Windows-User kann mit
inkompetenten Operieren z.B. an der Registry-Datei und durch Laden
dubioser Browser-Plugins und anderer Schad-Software exakt genausoviel
Schaden anrichten. Ob ein PC durch eine Windows-Fernsteuersoftware oder
ein Linux-Rootkit zum "Zombie" gemacht wird, macht keinen technischen
Unterschied. Als wichtiger Unterschied bleibt allerdings, daß solcher
Schaden unter Windows sehr viel leichter durch aus dem Netz geladenen
Viren- und Schadsoftware-Code verursacht werden kann; mehr dazu weiter
unten.

   Abgesehen davon enthält der Linux-Sourcecode Unmengen von Fehlern.
   Immerhin wurde er von Hunderten Programmieren über Jahre hinweg
   zusammengeschrieben.

Dasselbe gilt für Windows, in höherem Maße sogar, wenn man
Vergleichsstudien zur Codequalität von Open Source-Software und Windows
heranzieht.

   Und wo viele Menschen arbeiten, werden unweigerlich viele Fehler
   gemacht. Auch und gerade wenn der Code offen liegt und ständig
   Schwachstellen entdeckt und ausgebessert werden. Vor Computerviren
   sind Linux-User übrigens nur deshalb sicher, weil es sich für
   böswillige Hacker noch nicht lohnt, Linux-Viren zu schreiben. Und
   nicht, weil Viren in einer Linux-Umgebung nicht funktionieren würden.

Sie funktionieren aus verschiedenen Gründen nicht so gut wie unter
Windows:

1.) Arbeiten Linuxer unter allen gängigen Distributionen nicht mit
Administratorenprivilegien, anders als Standard-Nutzer unter Windows
XP.  Ein E-Mail-Virus kann daher keine Systemdateien und -funktionen
verändern, sondern schlimmstenfalls alle Dateien des betroffenen Nutzers
löschen. Selbiges gilt für alle unixoiden Betriebssysteme einschließlich
MacOS X.

2.) Kann unter Linux eingeschleuster Programmcode nicht durch simples
Anklicken, etwa im E-Mail-Programm, ausgeführt werden. Zuerst muß der
Nutzer die Datei manuell auf der Festplatte ablegen und dann in Shell
oder Desktop per Hand Ausführungsrechte erteilen. Dies ist ein Beispiel,
weshalb Linux subjektiv umständlicher zu bedienen ist, aber objektiv
bessere Systemsicherheit bietet.

3.) Gibt es unter GNU/Linux, BSD und MacOS X keine
ActiveX-Schnittstelle, dank derer simple Website-Applets die
Fernsteuerung über den Rechner übernehmen können.  Unter Windows läßt
sich ActiveX zwar deaktivieren, doch erkauft man dann einen
Sicherheitsgewinn mit einem Sicherheitsverlust, weil ohne ActiveX die
Windows-Sicherheitsupdates nicht mehr funktionieren. Dies ist eines der
eklatantesten Beispiele für haarsträubende Design-Fehler von Windows.

4.) Liegen Konfigurationsdateien in Linux nicht in einer zentralen
Datenbank, mit der das System auch zentral kompromittiert werden kann,
und die ohne Expertenwissen undurchschaubar und irreparabel ist.

5.) Existiert Linux in einer Vielzahl verschiedener Distributionen
und individuellen Konfigurationen. Ein Virus findet daher
keine einheitliche, binärkompatible Programmumgebung vor. Die
Wahrscheinlichkeit, daß ein für SuSE 9.0 geschriebener Virus auf
einem Server unter Debian GNU/Linux 3.0 funktioniert, ist gering. Die
Abwesenheit einer Linux-Monokultur und die Vielzahl der Konfigurationen
ist zwar ein Faktor, der das System in der Bedienung komplizierter
macht, denn kaum ein individuell konfiguriertes Linux sieht so aus
und funktioniert so wie eine anderes. Für die Systemsicherheit
ist dies jedoch von großem Vorteil, denn auch bekannte Sicherheitslöcher
sind nicht konsistent auf allen Installationen zu finden. Microsofts
Anstrengungen, die Windows-Systemumgebung zu vereinheitlichen und immer
mehr Software wie Webbrowser, E-Mail-Programm und Mediaplayer in sie zu
integrieren, hat das System zu einem ebenfalls konsistenten und
daher attraktiveren Angriffsziel gemacht, gleich einer Reihe von
genormten Fertigbauhäusern, die allesamt dasselbe Türschloß- und
Fensterverriegelungssystem verwenden. So gäbe es z.B. unter Windows 
kaum E-Mail-Viren, wenn nicht über 90% aller Windows-Nutzer Outlook
Express einsetzen würden.

6.) Basiert die Systemarchitektur von Linux auf Unix-Konzepten, die seit
Beginn des Internets für den Multiuser- und Netzwerkbetrieb entwickelt
wurden, und das Generationen von Informatikern u.a. in Berkeley und am
MIT auf Sicherheit hin getrimmt haben.

Dagegen ist Windows in seinen Wurzeln ein Betriebssystem, das erst
nachträglich und seit vergleichsweise kurzer Zeit für den Netzwerk- und
Serverbetrieb angepaßt wurde und dessen Entwickler erst langsam Fehlern
lernen - gleich einem Hersteller, der ein Fahrrad schrittweise zum
Motorrad und dann zum Auto ausbaut.

        Kreatives Arbeiten jedenfalls ist unter dem Zwang, ständig alles
        im Griff haben zu wollen, nur äußerst schwer möglich.

Zweifellos, sofern diese kreative Arbeit nicht Arbeit an der
Computer-Administration und -Programmierung einschließt. Deshalb
sollte man sich als Arbeiter, dessen Kreativität nicht durch
Computeradministration abgelenkt werden soll, entweder seinen Computer
kompetent fremdadministrieren lassen, egal ob unter Linux oder
Windows, oder auf eine in sich geschlossenere Plug'n'Play-Plattform wie
Macintosh-Rechner mit MacOS X ausweichen (das allerdings auch seine
periodischen Sicherheitslücken kennt und regelmäßigen Pflichtupdates
benötigt) . Ein Boot-CD-Linux wie Knoppix, das schlicht deshalb nicht
gehackt werden kann, weil ihm seine Systemdateien physisch unlöschbar
und -manipulierbar eingebrannt sind, ist eine weitere Alternative.
Das Windows-Versprechen, aus der offenen und chaotischen IBM-kompatiblen
PC-Plattform durch bloßen Software-Kleister ein Macintosh-Äquivalent zu
zaubern und Sysadministration durch Plug'n'Play und ein paar Mausklicks
überflüssig zu machen, ist eine Mär. Die Realität ist jedem
Windows-Nutzer bekannt. 

        Für die Gegenwart sollte das nicht heißen, technologische
        Entwicklungen zu ignorieren. Man sollte sich nur nicht von ihnen
        kontrollieren lassen.  Unabhängig davon, ob man mit Windows,
        MacOS oder Linux arbeitet.

Ja. Allerdings widerspricht sich der Autor hier in seiner vorigen
Aussage, Linux sei ein Betriebssystem aus dem Geiste der Kybernetik, das
dem Nutzer zuviel Kontrolle über den Rechner zumute.

-F



PS: Mittlerweile bin ich über die Homepage des Autors
und seine interessante Magisterarbeit über "Virus als Metapher"
<http://my.wildfuture.de/more.php?id=10_0_1_0_M3> gestolpert.  Das
Manuskript wurde technisch anspruchsvoll mit TeX/LaTeX gesetzt.
Umso erstaunlicher ist der "Spiegel Online"-Artikel. Denn was für
TeX mit seiner Philosophie und seinen technischen Paradigmen und
Arbeitsweisen im Unterschied zu Microsoft Word gilt, gilt 
äquivalent für die Betriebssystemebene von GNU/Linux oder *BSD im
Vergleich zu Windows. Was man vorzieht, ist eine Frage von Abwägung
und Geschmack. Mich wundert allerdings, weshalb der Autor seine
Aversion, daß "kreatives Arbeiten jedenfalls [...] unter dem Zwang,
ständig alles im Griff haben zu wollen, nur äußerst schwer möglich" sei,
nicht auch gegen LaTeX hegt. 

-- 
http://cramer.netzliteratur.net