% Ingo Ruhnke
% Nachteile freier Software
% nachgesehen am 20.03.2002 von Marcel Martin, mmar@freenet.de

\section{Vor- und Nachteile Freier Software}

\subsection{Innovationsarmut}

Sehr viele Software im Bereich der Freien Software ist letztendlich
 darauf hinaus proprietäre Software nachzumachen, teilweise ist das
 Resultat daraus der proprietären Software überlegen, teilweise
 bleibt sie aber auch hinter dem proprietären Produkt zurück.
 Letztendlich hat die Vergangenheit aber gezeigt, dass Freie Software
 nicht zu Innovationen neigt. Innovative Ideen, bzw. Implementationen
 derselben haben oft das Problem, genug Leute zu finden, die daran
 mitarbeiten. Letztendlich ist es wohl deshalb so, weil es einfacher 
 ist etwas Bekanntes zu duplizieren, als etwas von Grund auf Neues zu 
 machen.

\subsection{Usability}

Viele Freie Software hat nicht ganz zu Unrecht den Ruf "`von
 Programmierern für Programmierer"' zu sein. Usability-Tests, wie sie bei
 komerzieller Software zu finden sind, gibt es bei Freier Software eher
 selten, bzw. wenn, dann werden sie eben von den Benutzern selbst gemacht
 und die sind meist schon recht "`schmerzresistent"', wodurch grobe
 Schnitzer in der Usability gerne verziehen werden. Ansätze, dies zu
 ändern, gibt es aber reichlich, sowohl beim Gnome, als auch beim
 KDE-Projekt wird darauf geachtet und dementsprechend ist dort auch der 
 meiste Fortschritt bei der Usability zu sehen. Inkonsistenzen zum
 Restsystem bleiben aber leider nicht aus, da KDE und Gnome auch nur ein Teil
 des Ganzen sind.

\subsection{Maintenance} %ingo: Faellt jemandem ein besserer Name ein?

Allerdings hat Freie Software auch teilweise deutliche Vorteile
 gegenüber proprietärer Software, diese sind im Wesentlichen durch
 die gegebene Freiheit bedingt. Als Beispiel wäre hier das
 Installieren von Treibern zu erwähnen, bei einem Proprietären System
 muss man sich seine Treiber und Updates derselben in aller Regel
 beim Hersteller der Hardware zusammensuchen, was vergleichweise
 aufwändig werden kann, wenn man Hardware von verschiedenen Herstellern
 einsetzt. Bei Freier Software bekommt man alle Treiber in der Regel
 aus einer Quelle, meist dem Distributor, das heißt, man muss sich
 nicht die Treiber zusammensuchen, sondern sie werden bei der
 Distribution mitgeliefert. Ähnlich sieht es mit der Software selbst
 aus, Updates bei proprietärer Software müssen ebenso mühsam zusammengesucht
 oder gar gekauft werden, bei Freier Software bekommt man sie komplett und
 fertig zum Installieren beim Distributor. Updates lassen sich so
 teilweise mit Null Aufwand einspielen, was im Gegensatz zu
 proprietärer Software ein enormer Vorteil ist. Ganz so einfach ist es
 aber nur, wenn man seine Software direkt vom Distributor bezieht. Wenn
 man sie aus den Upstream-Quellen\footnote{
	Upstream bezeichnet in der Regel den Ort, wo die Software ursprünglich hergekommen ist,
	der Upstream-Autor ist also z.\,B. derjenige, der die Software geschrieben hat.
	Distributoren liefern in der Regel nicht denselben Code wie der Upstream, sondern
	verändern diesen minimal, um ihn an die distributionsspezifischen Gegebenheiten anzupassen.
 }
 beziehen will, ist die Installation
 und das Updaten oft deutlich komplizierter. Ein weiterer wesentlicher
 Vorteil bei Freier Software ist, dass man sie verteilen, kopieren und
 verändern kann, bei proprietärer Software ist das aufwändig und
 kostspielig (Lizenzen kaufen/verwalten) bzw. illegal.

\subsection{Neue Technik}

Bei neuen Techniken oder Dateiformaten, wie MP3, QuickTime oder MPEG4
 hat Freie Software oft ein Problem. Dies liegt aber nicht, wie andere
 Probleme, in der Art wie Freie Software hergestellt wird begründet,
 sondern liegt im Wesentlichen an schlecht oder gar nicht dokumentierten
 Dateiformaten oder an Patentproblemen, die das Implementieren von
 freien Readern oder Writern für ein Dateiformat unmöglich machen.
 So gibt es zwar Encoder für MP3, allerdings sind diese aufgrund von
 Patenten in einigen Ländern illegal und können somit nicht benutzt
 werden.
 Bei QuickTime, bzw. genauer dem Sørensen-Codec, dem momentan wohl
 meistbenutzten Format, wenn es um Filme oder Trailer im Internet geht,
 ist das Problem noch schlimmer, hier ist sowohl das Enkodieren als auch
 das Dekodieren ohne lizensierten Player untersagt, es existiert also
 keine Freie Software, um QuickTime-Filme abzuspielen.
 Letztendlich schaut es hier bei proprietärer Software nicht anders
 aus, alternative Player gibt es in der Regel nur sehr selten.
 
Die mangelnde Dokumentation von Hardware macht es Autoren Freier
Software auch nicht einfach, Treiber für eine Hardware zu schreiben,
die alle Features dieser benutzt. So ist es zwar oft so, dass ein
Treiber existiert, dieser allerdings oft hinter einem proprietären
Treiber hinterherhinkt. Bei gut dokumentierter Hardware kann man
allerdings auch oft beobachten, dass die Hardware mit einem freien
Treiber besser oder flexibler läuft, da diese in der Regel besser gepflegt
werden als ein proprietärer.

\subsection{Sicherheit}

Beim Thema Sicherheit hatte Freie Software schon von Natur aus einen
guten Start, denn bei Sicherheit kommt es im Wesentlichen darauf an, dass
die angewendeten Methoden nachvollzogen und geprüft werden können. Erst
wenn zum Beispiel ein Verschlüsselungs-Algorithmus einer gründlichen
Kryptoanalyse unterzogen wurde, kann davon ausgegangen werden, dass
dieser sicher ist. Ein Algorithmus, der nicht dokumentiert ist und auch
keiner Kryptoanalyse unterzogen wurde, kann diese Sicherheit nicht
bieten. Im schlimmsten Fall bietet der Algorithmus nur \emph{security
by obscurity}, das heißt, der Algorithmus ist nur solange "`sicher"',
wie er unbekannt ist, bzw. seine \emph{einzige} Sicherheit steckt in
seiner Unbekanntheit. Da über kurz oder lang durch \emph{reverse
engineering} der Algorithmus aber offen gelegt werden könnte, würde er
also keine Sicherheit bieten können. Copyright und Verbote von
\emph{reverse engineering}, wie sie oft in Lizenzverträgen von
proprietärer Software zu finden sind, können hier auch nicht helfen, da
ein potenzieller Angreifer sich darum nicht kümmern wird. Sie würden
hier auch nur noch mehr Schaden anrichten, da sie eine gut gemeinte
Prüfung des Algorithmus verhindern würden. Freie Software bietet nun
im Gegensatz zu proprietärer, dank der offenen Quellen, eine
hervorragende Möglichkeit, die Quellen und die darin enthaltenen
Algorithmen auf mögliche Hintertüren und Fehler zu überprüfen. Man
kann also keine solchen oder Ähnliches in Freier Software verstecken
ohne dabei recht schnell entdeckt zu werden. Bei Freier Software
handelt es sich eben nicht um eine Blackbox, die
\emph{irgendetwas} tut, sondern sie tut eben genau das, was der
Quellcode aussagt. Bei proprietärer Software ist dieses Prüfen der
Quellen in der Regel nicht möglich, da man keinen Zugriff auf die
Quellen hat und selbst wenn, würde man eine Ungereimtheit in der
Software entdecken, gäbe es keine Möglichkeit diese zu beseitigen, da
man die Freiheit dazu nicht hat. Man ist also darauf angewiesen, dem
Hersteller dieser Software und den darin verwendeten Algorithmen zu
trauen.

Aber nicht nur bei der Überprüfung von Algorithmen bietet Freie
Software einen Vorteil, sondern vor allem bei der Überprüfung der
Implementierung derselben ist Freie Software ein enormer Vorteil,
denn selbst wenn der verwendete Algorithmus sicher ist, besteht
immer noch die Gefahr, dass Fehler bei der Implementierung begangen
worden sind. Freie Software bietet hier durch den Einblick in die
Quellen wieder den Vorteil, dass man die Implementierung überprüfen
kann. Selbst wenn man nicht dazu in der Lage ist, diese Überprüfung
durchzuführen, wird es in der Regel andere Leute geben, die dieses tun.
Da viele Freie Software nach dem \emph{release early, release often}
Prinzip erstellt wird, besteht außerdem der Vorteil, dass die Quellen
eben nicht erst dann geprüft werden, wenn die Software für den
produktiven Einsatz freigegeben ist, sondern dass die Quellen zu jedem
Zeitpunkt der Entwicklung überprüft werden können und auch werden. So
werden eventuelle Fehler schon meist erkannt bevor sie überhaupt ein
Problem werden können.

Selbst wenn die Software schon im Einsatz ist, bietet Freie Software meist
noch den Vorteil, dass wenn ein Fehler erst einmal gefunden ist, dieser
sehr schnell beseitigt wird. Oft ist mit dem Bekanntwerden des Fehlers
auch schon ein Patch verfügbar, der diesen behebt. Das liegt nicht
zuletzt daran, dass der Patch oft praktisch automatisch durch das
Aufspüren des Fehlers entsteht. Denn man ist, wie gesagt, an der Quelle
des Problems. Bei proprietärer Software ist man nach Veröffentlichung
eines Fehlers immer noch zusätzlich darauf angewiesen, dass der
Hersteller dieser Software den Fehler zugibt und einen Patch
bereitstellt, die Software selber zu reparieren ist weder erlaubt noch
sonderlich einfach möglich.
\autor{ir}

