\documentclass[oneside,german,12pt]{amsart}
\usepackage{pslatex}
\usepackage{courier}
\usepackage[T1]{fontenc}
\usepackage[latin1]{inputenc}
\usepackage{babel}
\usepackage{url}
\usepackage
[pdftitle={Betaversion - Gibt es Entwürfe in Computersoftware und digitaler Kunst?},
pdfkeywords={Software, Kunst, Entwurf},
pdfauthor={Florian Cramer},
backref=true,
pagebackref=true,
hyperindex=true,
bookmarks=true,
bookmarksopen=false]
{hyperref}
\setcounter{secnumdepth}{0}
\setlength\parskip{\medskipamount}
\setlength\parindent{0pt}
\sloppy


\begin{document}


\title{Der selbstausführende Entwurf: Software und Softwarekunst}

\author{Florian Cramer}

\date{24.1.2002}

\maketitle

\section{Software und Kunst}


Seit den 1990er Jahren haben die Kunstwissenschaften Computer
hauptsächlich als audiovisuelle Speicher-, Übertragungs- und
Anzeigemedien betrachtet,\footnote{So z.B. in \cite{landow:hypertext},
\cite{suter-boehler:hyperfiction} und \cite{grau:virtuelle}} Reflexionen
der der Schicht von Software-Steuercodes hingegen wenig Aufmerksamkeit
geschenkt.\footnote{Ausnahmen sind die Arbeiten von Abraham Moles
\cite{moles:computer} und Max Bense \cite{bense:theorie}, und, neueren
Datums, jene von Wolfgang Hagen und Matthew Fuller Wolfgang Hagen
\cite{hagen:stil}, Matthew Fuller \cite{fuller:word}} Analog wird
digitale Kunst zumeist als Ablauf digitalisierter Bildern und Tönen,
fast nie jedoch von Computerprogrammen beschrieben. ,,Interaktive
Videoinstallationen`` zum Beispiel werden als ,,multimediales``
Ineinandergreifen von Betrachter, Ausstellungraum und Bildprojektion
begriffen,\footnote{Stilbildend für dieses Genre digitaler Kunst waren
Jeffrey Shaws Installationen im ZKM Karlsruhe, dazu s.a.
\cite{grau:virtuelle}.} selten als Systeme auf der Basis algorithmischer
Steuercodes, zumal ihre Software typischerweise als black box im
Hintergrund auf versteckten Computern läuft.  Er recht gilt dies für
Kunst, der man äußerlich nicht ansieht, daß ihr Herstellungsprozeß
Computerprogrammierung überhaupt einschloß. John Cages Hörspiel
,,Roaratorio`` von 1981 zum Beispiel erklingt als eine Tonbandmontage
eines Sprechtexts, der auf Joyces ,,Finnegans Wake`` basiert, von
Umweltgeräuschen, die in verschiedenen Städten der Welt aufgenommen
wurden, und von irischer Volksmusik. Wie viele der Kompositionen von
John Cage, ist ,,Roaratorio`` auch algorithmische Kunst; sein Text wurde
wurde nach formalen Raster, Mesosticha des Namens ,,James Joyce``, aus
dem Roman extrahiert, die Montage der Tonaufnahmen im Pariser
IRCAM-Studio richtete sich nach einer computergenerierten
Zufallspartitur. Die Buch-und-CD-Box von ,,Roaratorio`` dokumentiert die
Komposition zwar detailliert und enthält das Hörstück selbst, einen
Nachdruck des Sprechtexts, eine Aufnahme seiner Lesung durch John Cage,
ein sowohl in Ton, als auch in  Schrift wiedergegebenes Interview mit
dem Komponisten einschließlcih einer Liste der Städte, in denen
Umgebungsgeräusche aufgenommen wurden. Die computergenerierte Partitur
aber ist nur in einem einseitigen Auszug faksimiliert, der Quellcode des
Computerprogramms, das diese Partitur erzeugte, fehlt
ganz.\footnote{\cite{cage:roaratorio} -- Über computergenerierten Zufall
sagt die Softwarekünstlerin Ulrike Gabriel, daß es ihn nicht gäbe, weil
bereits die Maschine, die ihn berechnet, nicht zufällig da sei.
Tatsächlich fehlt eine Kritik der Gleichsetzung von stochastischem und
ontologischem Zufall in der Musik von John Cage und seinen Schülern.}

Die Geschichte der digitalen und computergestützten Künste handelt
von Ignoranz gegenüber Software, von 
schwarze Kästen, und von als Künstler-Faktoten angestellten Programmiereren. Auch in den
digitalen Künsten schreibt sich so klassisch-romantische Kunstideologie
fort mitsamt ihrer Privilegierung der aisthesis gegenüber der
poiesis.\footnote{Siehe hierzu auch
den Aufsatz ,,The Aesthetics of Generative Code`` von Geoff Cox, Adrian
Ward und Alex McLean, \cite{cox:aesthetics}} Nicht minder problematisch
ist die Selbstbezeichnung digitaler Künste
als ,,(neue) Medienkünste``, der 
disparate Techniken wie Videobänder und Siliziumchips
wahllos zusammenwirft. Wenn gealterte neue Medien wie Funk, Fernsehen, Video
in Computer integriert werden, bleibt es dennoch ein zweifelhafter 
Umkehrschluß, den Computer dadurch insgesamt als ,,Medium`` zu identifizieren.
Definiert man als
Medium, was zwischen einem Sender und einem Empfänger steht, somit ein
Übertragungskanal ist, dann sind Computer nicht bloß Medien, sondern
selbst auch Sender und Empfänger, da sie in den Grenzen ihrer
inskribierten formalen Regelwerke Information nicht nur übertragen,
sondern auch schreiben und lesen, analysieren und filtern.  Die
Computersoftware zum Beispiel, die Kontostand und Überziehungskredit
eines Girokontos berechnet oder medizinische Apparate in der
Intensivstation eines Krankenhauses steuert, kann nicht mehr sinnvoll
ein ,,Medium`` genannt werden, es sei denn, man deutet den Begriff
radikal humanistisch und versteht alle Maschinenprozesse als mittelbare
Kommunikationen menschlicher Individuen. Auch gibt es, strikt 
definitiert,
keine digitalen Medien, sondern nur digitale Information. ,,Medial``
wird diese Information erst durch analoge Schnittstellen wie
Bildschirme, Lautsprecher und Drucker, die Nullen und Einsen in analoge
Schallwellen, Videosignale, Druckschwärze wandeln.

Gibt es somit auch eine poiesis digitaler Codes vor ihrer Wandlung in
analoge Signale, eine poiesis, die nicht mehr sichtbar wäre, weil
sie sich in den Chips von Rechenmaschinen abspielt? Sind diese Codes
Entwürfe des späteren Outputs, oder gibt es auch Entwürfe von Codes?


 
\section{Was ist Software?}


Software besteht aus formalen Anweisungen, d.h. Algorithmen; sie
ist eine formal-logische Partitur, notiert in einem codierten Zeichensystem.
Ob dieser Code aus Nullen und Einsen, dem Dezimalsystem,
dem römischen oder griechischen Alphabet, Morsecode, einem exakt
definierten Repertoire von Stromspannungen oder den geschalteten
Gattern eines Prozessorchips besteht,
ist unerheblich, weil die Codierung austauschbar ist. Wenn Software also eine Partitur ist, ist sie dann per definitionem ein Entwurf im Sinne der Blaupause eines ausgeführten Werks?

Man stelle sich ein simples dadaistisches Gedicht auf der
Grundlage von Hugo Balls ,,Karawane``
vor: 

\begin{verse}

KARAWANE

jolifanto bambla ô falli bambla\\
grossiga m'pfa habla horem\\
égiga goramen\\
higo bloiko russula huju\\
hollaka hollala\\
anlogo bung\\
blago bung\\
blago bung\\
bosso fataka\\
ü üü ü\\
schampa wulla wussa ólobo\\
hej taat gôrem\\
eschige zunbada\\
wulebu ssubudu uluw ssubudu\\
tumba ba-umpf\\
kusagauma\\
ba-umpf

\end{verse}

Das neue Gedicht könnte aus acht einfachen Variationen der Zeile ,,tumba
ba-umpf`` bestehen. Der Aufführende würde für jede Zeile zweimal eine
Münze werfen und, wenn sie auf die Kopfseite fällt, das Wort ,,tumba``
aufschreiben oder sprechen, und wenn die Zahl erscheint, das Wort
,,ba-umpf``. Ein mögliches Ergebnis wäre:

\begin{verse}
tumba tumba\\
ba-umpf tumba\\
tumba ba-umpf\\
tumba ba-umpf\\
ba-umpf ba-umpf\\
ba-umpf tumba\\
tumba ba-umpf\\
tumba ba-umpf
\end{verse}

Eine genaue formale Anweisung zur Herstellung dieses Gedichtes könnte 
lauten:

\begin{enumerate}
\item Nehmen Sie irgendeine Münze, deren zwei Seiten sich visuell klar voneinander unterscheiden.
\item Legen Sie fest, welches für Sie die erste und welches die zweite Seite der Münze ist.
\item Wiederholen Sie die folgenden Anweisungen achtmal:
        \begin{enumerate}
                \item Werfen Sie die Münze.
                \item Fangen Sie die geworfene Münze so auf, daß sie auf einer ihrer beiden Seite landet.
                \item Wenn die Münze auf die erste Seite fällt, führen Sie die folgende Anweisung aus:
                        \begin{itemize}
                        \item Sagen Sie ,,tumba``
                        \end{itemize}
                \item Anderenfalls führen Sie die folgende Anweisung aus:
                        \begin{itemize}
                        \item Sagen Sie ,,ba-umpf``
                        \end{itemize}
                \item Machen Sie eine kurze Pause, um das Ende der Zeile anzudeuten.
                \item Werfen Sie die Münze.
                \item Fangen Sie die geworfene Münze so auf, daß sie auf einer ihrer beiden Seite landet.
                \item Wenn die Münze auf die erste Seite fällt, führen Sie die folgende Anweisung aus:
                        \begin{itemize}
                        \item Sagen Sie ,,tumba``
                        \end{itemize}
                \item Anderenfalls führen Sie die folgende Anweisung aus:
                        \begin{itemize}
                        \item Sagen Sie ,,ba-umpf``
                        \end{itemize}
                \item Machen Sie eine lange Pause, um das Ende des Gedichts anzudeuten. 
        \end{enumerate}
\end{enumerate}

Diese Instruktionen sind eindeutig genug, um auch von
einer Maschine ausgeführt werden zu können, und deshalb Zeile für Zeile
in ein Computerprogramm übersetzbar.In der Programmiersprache ,,Perl``, deren
Grundsyntax leicht verständlich ist, könnte man die obigen Anweiseungen wie
folgt schreiben:

\begin{verbatim}
for $line (1 .. 8) {
        $random_number = int(rand(2));
        if ($random_number == 0) {
                print "tumba"
                }
        else {
                print "ba-umpf"
                }
        print " "
        $random_number = int(rand(2));
        if ($random_number == 0) {
                print "tumba"
                }
        else {
i                print "ba-umpf"
                }
        print "\n"
        }
\end{verbatim}

Der Münzwurf wird durch eine Zufahlszahl simuliert, die die
Funktion \emph{rand} (,,random``) ermittelt und die Funktion
\emph{int} (,,integer``) ganzzahlig abrundet. Weil \emph{rand(2)}
Zufallszahlen zwischen 0 und \begin{math}1,\overline{9}\end{math} ergibt, rundet
\emph{int} die Resultate auf Null oder eins. \begin{verbatim}print " "\end{verbatim} und
\begin{verbatim}print "\n"\end{verbatim} geben ein Leerzeichen bzw. einen Zeilenumbruch
aus.  Das Programm kann auf fast jedem Computer ausgeführt werden; es
ist eine einfache Software. Komplexere Programme wie zum Beispiele Betriebssysteme 
und Computerspiele unterscheiden
sich nicht strukturell vom obigen Programmbeispiel, denn
die Kontrollstrukturen -- Variablen, Schleifen,
logische Bedingungen -- ähneln sich in allen Programmiersprachen.
Der Unterschied liegt nur in der größeren Zahl und Verschachtelung der Instruktionen:
Typische PC-Benutzersoftware kann umfaßt mehrere Millionen Zeilen 
Programmcode. 

Anders als in der Anweisung, das Zufallsgedicht durch Münzwurf zu
erstellen, ist mit dem Perl-Code die Arbeit des Künstlers getan, sobald die Instruktionen
niedergeschrieben und in ihrer Logik fehlerfrei sind. Nicht ein
menschlicher Performer, sondern die Maschine führt die Instruktionen
aus, so, wie ein mechanisches Klavier eine
gestanzte Partitur spielt. Im Kollaps der Grenzen von
Architektur und Gebäude, Entwurf und Realisation liegt die künstlerische Faszination
des Programmierens.
Betrachtet man Konzept, Entwurf und Ausführung als drei Schritte eines
Schaffensprozesses -- der erste immateriell, der zweite in einer
simplifizierten und portablen Codierung, der dritte in komplexer
Codierung\footnote{Um eine Dichotomie
von Sinnlichem und
Abstrakten zu vermeiden, wie sie Nelson Goodman mit seinem Begriffspaar des
,,autographischen`` und ,,allographischen`` Zeichens vorschlägt, siehe
\cite{goodman:languages}}
 -- so erübrigt beim Programmieren von Maschinen der
zweite Schritt den dritten.

Im Gegensatz zum Binärcode herkömmlicher Daten wie digitalisierter Bilder, Töne und
Textdokumente verursacht ein algorithmischer Instruktionscode einen generativen
Prozeß. Daß Software Rechner für Berechnungen, nicht bloß als Speicher-
und Übertragungsmedium nutzt, unterscheidet sie von
nichtalgorithmischem digitalen Daten. Ebenso verhält es sich mit algorithmischen
Musikkompositionen gegenüber CD- oder mp3-Tonkonserven, algorithmisch
generiertem Text gegenüber sogenanntem ,,Hypertext`` (einem Datenbank-
bzw.  Verknüpfungsmodell, das per se keine Algorithmik
vorsieht), oder graphischen Hacker-,,Demos`` gegenüber Videobändern.
Wenn es keine digitalen Daten ohne Programme gibt, die sie speichern,
übertragen, modifizieren
und an analogen Schnittstellen ausgeben, gibt es auch keine digitalen
Künste ohne jene Software-Schichten, die Künstler und ihr Publikum
entweder für gegeben halten oder mitgestalten.  Zwar kann 
man Computer nutzen, ohne sie selbst zu programmieren, doch ist es
nicht möglich, sie ohne Software zu verwenden. Die Frage ist nur, wer sie
programmiert. 


\subsection{Verknappung des Quellcodes}

Aus den Zufallsversen könnte man schließen, daß der Text 
zwar variabel ist, seine Partitur jedoch stabil und linear.
Dies stimmt zwar und relativiert somit, wie Inke Arns
argumentiert, alle Behauptungen der ,,Nichtlinearität`` oder des Verlusts
von Einschreibung in digitalen Kunstwerken,\footnote{Siehe
\cite{arns:performativitaet}}. Trotzdem kann auch ein
funktional identisches  Programm verschieden 
notiert werden, auch innerhalb derselben Programmiersprache. Die obigen ersten Quelltexte des 
Zufallsgedichts zum Beispiel sind zwar einfach zu verstehen, aber
unschön formuliert, weil sie Befehlsblöcke redundant wiederholen.
Stattdessen könnte man die Anweisung auch so notieren:

\begin{enumerate}
\item Nehmen Sie irgendeine Münze, deren zwei Seiten sich visuell klar voneinander unterscheiden.
\item Legen Sie fest, welches für Sie die erste und welches die zweite Seite der Münze ist.
\item Wiederholen Sie die folgenden Anweisungen achtmal:
        \begin{enumerate}
        \item Wiederholen Sie die folgenden Anweisungen zweimal:
                \begin{enumerate}
                \item Werfen Sie die Münze.
                \item Fangen Sie die geworfene Münze so auf, daß sie auf einer ihrer beiden Seite landet.
                \item Wenn die Münze auf die erste Seite fällt, führen Sie die folgende Anweisung aus:
                        \begin{itemize}
                        \item Sagen Sie ,,tumba``
                        \end{itemize}
                \item Anderenfalls führen Sie die folgende Anweisung aus:
                        \begin{itemize}
                        \item Sagen Sie ,,ba-umpf``
                        \end{itemize}
                \end{enumerate}
        \item Machen Sie eine kurze Pause, um das Ende der Zeile anzudeuten.
        \end{enumerate}
\item Machen Sie eine lange Pause, um das Ende des Gedichts anzudeuten. 
\end{enumerate}

In Perl würde daraus:

\begin{verbatim}
for $line (1 .. 8) {
        for $word (1 .. 2) {
                $random_number = int(rand(2));
                if ($random_number == 0) {
                        print "tumba"
                        }
                else {
                        print "ba-umpf"
                        }
                print " "
                }
        print "\n"
        }
\end{verbatim}

Noch kürzer und eleganter können die Anweisungen notiert werden, wenn
man die Wörter ,,tumba`` und ,,ba-umpf`` und die beiden
Trennzeichen (Leerzeichen und Zeilenumbruch) jeweils in numerisch
indizierte Speicher schreibt, um sie in ein zwei Durchgängen einer Wiederholungsschleife innerhalb der
achtfachen Wiederholungsschleife auszulesen:

\begin{verbatim}
@word = ("tumba","ba-umpf");
@separator = (" ", "\n");
for $line (1 .. 8) {
        for $word_number (0 .. 1) {
                print $word[int(rand(2))], $separator[$word_number];
                }
        }
\end{verbatim}


So kollabiert in der Software zwar der Unterschied von Entwurf und Werk,
die Verbesserungen des Quellcodes -- bei unveränderter Funktion des
Programms -- zeigen jedoch, daß es auch von algorithmischer Schrift
Entwürfe und vorläufige Skizzen gibt, so daß die Tatsache, daß ein
Programm gut funktioniert, keine oder nur mittelbare Schlüsse auf die
Qualität seines Quellcodes erlaubt. In kommerzieller Softwareentwicklung
heißen Software-Entwürfe ,,rapid prototypes`` und sind Skizzierungen
einer Software in einer einfach zu programmierenden Sprache, die aber
nur langsam laufende Programme erzeugt; es gibt ,,Bananensoftware``, die
unvollkommen ausgeliefert wird und beim Kunden reift, und ,,Vaporware``,
die nur in der Form einer Produktankündigung existiert, um
Aufmerksamkeit auf sich selbst zu lenken und Kunden präventiv von
bereits verfügbaren Konkurrenzprodukten abzuhalten.  Die Prozessualität
von Software drückt sich nicht zuletzt darin aus, daß Computerprogramme
mit Versionsnummern versehen werden und Programmierer
Versionskontrollsoftware einsetzen, die Änderungen am Code sukzessiv
registriert, synchronisiert und gegebenenfalls rückgängig macht.

Auch digitale Kunst und Aufsätze im Netz werden zunehmend mit
Versionsnummern versehen. Der Software-Jury des (selbst versionsnumerierten) Festivals transmediale.01
lag das Computerprogramm ,,Signwave Autoillustrator`` von Adrian Ward --
eine Graphiksoftware, deren Werkzeuge ihren äußeren Anschein
subvertieren, indem sie algorithmisches Eigenleben entwickeln -- in
einem Entwicklungsstand vor, den heutige Versionen weit hinter sich
gelassen haben und deshalb für interessierte Kuratoren oder
Kunsthistoriker nur schwer rekonstruierbar wäre. So gibt es immer
noch gute Gründe, digitalen Codes einen ,,Verlust von Inskription`` zu
attestieren, wie es die brasilianische Autorin und Netzkünstlerin
Giselle Beiguelman tut.\footnote{,,Notes on the Loss of Inscription``,
\url{http://www.p0es1s.net/poetics/symposion2001/a{\_}beiguelman.html}}
Dieser Verlust unterscheidet sich zwar nicht von der altbekannten
Instabilität mündlich überlieferter Literatur sowie musikalischer und
theatraler Aufführungen. Neu ist, daß er auch maschinell
veröffentlichte und massenreproduzierte Schrift betrifft.

Die gängige programmiertechnische Methode der Eindämmung von Code-Instabilität,
ist, verschiedene Funktionseinheiten der Software voneinander zu trennen; so daß
nur die Schnittstellen, an denen ein Programmteil einem anderen Daten
übermittelt, stabil bleiben müssen, nicht jedoch die Programmteile selbst. Was 
hier ,,Schnittstelle`` (oder ,,API`` für ,,Application Interface``) heißt, hat wenig mit dem
medienwissenschaftlichen Verständnis des ,,Interface`` als
audiovisuell-taktiler Koppelung von
Menschen und Maschinen zu tun, sondern entspricht in
literaturwissenschaftlicher Terminologie einem
,,Paratext`` wie z.B. der alphabetischen Organisation und
Querverweisstruktur eines
Lexikons, die als stabile Struktur den instabilen Code von Artikeln verbindet, die über Auflagen hinweg umgeschrieben werden. Bereits die 
Unterscheidung von ,,Programmen`` und ,,Daten`` bezeichnet
solche eine Schnittstelle:  Ein ,,digitales Photo`` zum Beispiel ist eine digitale
Codierung von Farb-Pixeln, die erst mittels algorithmischer Hilfe des
Computerbetriebssystems in elektrische Spannungen umgewandelt wird, die
einen Bildschirm oder einen Drucker das Photo zeichnen lassen. Bloße
Konvention ist es, nicht die Steueralgorithmen selbst in die digitale
Speicherung des Bilds einzubetten, sondern diese Algorithmen in ein
,,Programm`` oder ,,Betriebssystem`` zu separieren.\footnote{So wäre es
denkbar, daß die Medienindustrie, um digitale Privatkopien zu
verhindern, demnächst audiovisuelle Daten (wie z.B. Musikaufnahmen)
direkt in proprietäre Ein-Chip-Abspielhardware einbetten würde.}

Beispiele computertechnisch normierter Schnittstellen sind Dateiformate,
z.B. die Kopfzeilen einer E-Mail-Nachricht, und
Netzwerkprotokolle. Wenn Schnittstellen systemübergreifend und
herstellerunabhängig genutzt werden sollen, werden sie von Industriegremien wie der IETF (Internet Engineering Taskforce) oder dem W3C (World Wide Web Consortium) analog zu DIN- oder ISO-Normen schriftlich spezifiziert und nicht selten durch
eine ,,Referenzimplementation`` in Gestalt eines Computerprogramms ergänzt,
um weitere Implementationen zu ermöglichen. E-Mail zum Beispiel ist im
Dokument RFC 822 standardisiert, erlebte seine Referenzimplementation in
den 1970er Jahren durch das Unix-Kommando ,,mail`` und kennt heute
zahllose konkurrierende Implementationen in Form von Programmen wie Eudora,
Outlook Express oder Mozilla Mail.

Trotz der Veränderbarkeit von Bits und Bytes existieren in der
Softwareentwicklung also vielfältige Unterscheidungen von ,,Entwurf``
und ,,Werk``, deren Schwelle jedoch nicht ein Wechsel des Materials 
markiert. Das Material aller Computerprogramme bleiben als Nullen und
Einsen abgelegte Algorithmen,
ihre Übertragungs- und Speichermedien jedoch wechseln von elektrischem Strom (im
Chip) zu magnetischer Ladung (auf der Festplatte oder Diskette), Funkwellen
(in drahtlosen Netzen), optischen Markierungen (auf CD- oder
DVD-Speichern) oder sogar gebundenem Papier (in Ausdrucken und
Handbüchern). 

\section{Softwarekunst}


Definiert man Software als ausführbare formale Anweisung oder
logische Partitur, dann beschränkt sich sie nicht auf
Computer. Die erste, in deutscher Umgangssprache verfaßte Anweisung
zur Herstellung des dadaistischen Zufallsgedichts ist nicht minder
Software denn ihre drei Übersetzungen in die Programmiersprache Perl,
solange ihre Instruktionen gleichermaßen von einem
Menschen und von einer Maschine ausgeführt werden können. So wäre auch
eine Klavierpartitur dann ,,Software``, wenn sowohl ein Pianist, als
auch ein mechanisches Klavier ihren Code in Musik umsetzen können.
Umgekehrt ist auch der Perl-Quellcode des dadaistischen Zufallsgedichts
les- und ausführbar, ohne daß man dafür eine Maschine bräuchte.  Da
jeder Algorithmus bis zu einem kritischen Komplexitätsgrad auch mental
ausgeführt werden kann, wie es vor der Erfindung des Computers üblich
war, gibt es Software ohne Hardware. Ein Beispiel dafür sind
Programmierhandbücher: Der Quellcodes, der in ihnen abgedruckt ist, 
wird nur selten auf Maschinen ausgeführt, sondern dient dem Leser als
Beispiel, dem er intellektuell folgt.\footnote{Was zum
Beispiel auch für die Perl-Listings in diesem Text gilt.}

Statt Hugo Balls ,,Karawane`` in Computerprogramme umzuformen, könnten auch
einige historische Dada-Texte, allen voran Tristan Tzaras Anleitung
zur Abfassung eines dadaistischen Gedichts durch zufälliges Vertauschen
von Wörtern eines Zeitungsartikels, als Software gelesen
werden:


\begin{quotation}
Um ein dadaistisches Gedicht zu machen

Nehmt eine Zeitung.

Nehmt Scheren.

Wählt in dieser Zeitung einen Artikel von der Länge aus, die Ihr Eurem
Gedicht zu geben beabsichtigt.

Schneidet den Artikel aus.

Schneidet dann sorgfältig jedes Wort dieses Artikels aus und gebt sie in eine
Tüte.

Schüttelt leicht.

Nehmt dann einen Schnipsel nach dem anderen heraus.

Schreibt gewissenhaft ab
in der Reihenfolge, in der sie aus der Tüte gekommen sind.

Das Gedicht wird Euch ähneln.

Und damit seid Ihr ein unendlich origineller Schriftsteller mit einer
charmanten, wenn auch von den Leuten unverstandenen Sensibilität.

\end{quotation}\footnote{Als Teil des ,,Dada MANIFEST über die schwache
Liebe und die bittere Liebe`` publiziert in \cite{tzara:liebe},
französisches Original in \cite{tzara:poeme-dadaiste}}

Tzaras Anleitung ist ein Algorithmus, Software, die ebenso für einen
Computer geschrieben sein könnte.\footnote{Meine Adaption des Texts als
Perl-Programm steht unter der Adresse
\url{http://userpage.fu-berlin.de/{\~}cantsin/permutations/tzara/poeme{\_}dadaiste.cgi}
bereit.} Übersetzte man diese Anleitung aus dem Deutschen oder
originalen Französischen in ein Perl- oder C-Programm, würde nicht Kunst
in Software umgesetzt, sondern eine nicht-maschinelle in eine
maschinelle Softwarekunst transkribiert, vergleichbar etwa mit den
formal-kombinatorischen Kompositionsverfahren der seriellen Musik des
20. Jahrhunderts, in denen der Nucleus programmierter Computermusik
bereits angelegt war.

Zugegebenermaßen ist der Begriff der Software historisch jünger als die
Kunst, auf die er hier rückwirkend  angewendet wurde.
Was Software ist und in welchem Verhältnis sie zu den zeitgenössischen
Künsten steht, ist eine Frage, die sich erstmals
der Kunstkritiker und -theoretiker Jack Burnham stellte, als er 1970 eine
Ausstellung mit dem Titel ,,Software`` im New Yorker Jewish Museum kuratierte. ,,Software`` gilt heute als
erste Präsentation der Concept Art. Sie konfrontierte
Installationen u.a. von Joseph Kosuth, Art and Language, Hans Haacke und
Douglas Huebler mit Computersoftware, die Burnham konzeptuell 
interessant fand, so zum Beispiel den ersten Prototypen von Ted Nelsons
Hypertext-System ,,Xanadu``.\footnote{Zur Ausstellung ,,Software`` siehe
\cite{shanken:software}} Schon 1961 hatte Henry Flynt Konzeptkunst
definiert als Kunst ,,deren Material ,Konzepte` sind, so, wie z.B. Klang
das Material von Musik ist``\footnote{,,of which the material is
`concepts,' as the material of for ex.  music is sound``,
\cite{flynt:concept-art}}. Bestimmt man Softwarekunst analog als Kunst,
deren Material formaler Instruktionscode ist, so haben beide Künste zwei
Merkmale gemeinsam: 

\begin{enumerate}

\item die Einheit von Entwurf und seiner Ausführung;

\item den Gebrauch von Sprache, in Form von Anweisungen in der
Softwarekunst und von Konzepten in der Konzeptkunst. Wie Flynt schreibt,
stehen
,,Konzepte in enger Beziehung zur Sprache, so daß Konzeptkunst eine Art
der Kunst ist, deren Material die Sprache ist.``\footnote{Ebenda.}

Es ist kein Zufall, daß die meisten zuvor zitierten
Beispiele vorelektronischer Softwarekunst literarischer Herkunft sind.
Literatur ist eine Konzeptkunst, da sie nicht per definitionem nur an
Sprache gebunden ist, nicht an an
materielle Objekte und Orte. Die
Schwierigkeiten des Kunstbetriebs mit digitaler Netzkunst, die sich weder gut
ausstellen, noch als Originalobjekt verkaufen läßt, sind dem
Literaturbetrieb, der traditionell zwischen Kunstwerk und materiellem
Träger unterscheidet, fremd.\footnote{Ausnahmen wie visuelle Poesie
bestätigen die Regel.} Da auch formale Sprachen Sprachen sind, ist
Software eine Literatur -- ohne allerdings den Umkehrschluß. Da
formale Sprachen nur eine kleine Untermenge der Sprache bilden, sind
Analysen von Softwarecode auf andere Literatur nicht einfach
extrapolierbar.

\end{enumerate}

Wenn laut Henry Flynt Konzepte künstlerisches
,,Material`` werden, dann unterscheidet sich Konzeptkunst von anderer
dadurch, daß sie Konzepte exponiert, sich faktisch auf 
Entwürfe verlegt. Analog unterscheidet sich
Softwarekunst von bloß softwaregestützter Kunst dadurch, daß sie ihre
Instruktionen und Codiertheit nicht ausblendet.  Konzeptkunst im
strengen Sinne Flynts und nicht-elektronische Softwarekunst zugleich ist
die ,,Composition 1961`` des amerikanischen Komponisten La Monte Young,
dessen Stücke die Anfänge von Fluxus und der Minimal Music prägten. Das Stück besteht aus einer Karte mit der Aufschrift ,,Draw a
straight line and follow it``,  eine Anweisung, die  unzweideutig genug
ist,
um auch von einer Maschine ausgeführt werden zu können. Zugleich ist sie
nicht konsequent realisierbar, ohne physikalische Grenzen
zu sprengen. Also bleibt die Ausführung des Stücks imaginär, konzeptuell.

Entwurf und ausführbarer Code verkoppeln sich auch in Sol LeWitts ,,Plan
for a Concept Art Book`` von 1971, einer Reihe von Buchseiten, die den
Leser dazu anweisen, auf ihnen Striche zu ziehen und bestimmte
Buchstaben durchzustreichen.\footnote{\cite{honnef:concept-art}, S.
132-140} Dennoch zeigt sich an LeWitt, daß jene Kunst, die erst in den
1970er Jahren den Begriff ,,Concept Art`` bekannt machte, in ihrem
Konzeptualismus nicht ansatzweise so konsequent und philosophisch
radikal war wie jene von Henry
Flynt, La Monte Young und Christer Hennix. Während die ,,Composition 1961``
eine Konzeptbeschreibung eines Kunstwerks ist, das wiederum selbst nur als
Konzept mental existieren kann, entwirft LeWitt den ,,Plan`` eines
materiellen, typographisch-visuellen Kunstwerks.  So repräsentiert
LeWitts Arbeit eine Kunst, die besser ,,Entwurfskunst`` hieße, weil ihr
Material nicht Konzepte sind, sondern in Partituren notierte Bilder und
Objekte. 

Hat Programmcode solche Implikationen, so reichen formale
Analysen nicht aus. Konzeptkunst bedeutet potentiellen Terror des
Konzepts, Softwarekunst potentiellen Terror des Algorithmus, den Terror
minimaler Anweisungen also, deren Ausführungen aus dem Ruder laufen.
Sades ,,120 Tage von Sodom`` sind, wie vom Kybernetiker Abraham M.
Moles 1971 angedeutet, als eine Programmierung des Exzesses und seiner
simultanen Reflexion in Prosa lesbar.\footnote{\cite{moles:computer}, S.
124} Auch der Boom von Spam- und Pseudo-Viren-Codes in zeitgenössischer
Digitalkunst bezeugt die perverse Koppelung von Minimalismus und
Selbstinflation der Software.\footnote{Siehe dazu: Franziska Nori
(Hrsg.), I love you, Computer Hacker Viren Kultur, Frankfurt a.M. 2002
(Ausstellungskatalog des MAK Frankfurt); die transmediale.02 zeichnete
zwei solcher Selbstreplikations-Programme, ,,tracenoizer`` und
,,forkbomb.pl`` mit ihrem Softwarekunstpreis aus} An La Monte Youngs
,,Composition 1961`` können nicht nur die Begriffe von Software und
Softwarekunst hinterfragt weredn. Als erste und bis dato eleganteste
künstlerische Störsoftware weist sie auch auf die implizite Ästhetik und
Politik formaler Instruktionen hin. 1968, zwei Jahre vor Burnhams
,,Software``-Ausstellung, begründete Donald Knuth mit dem ersten Band
seines Buchs ,,The Art of Computer Programming`` die moderne
universitäre Informatik.\footnote{knuth:art}. Knuths programmatischer
Titel schrieb sich in das von Steven Levy überlieferte Hacker-Credo ein,
demzufolge ,,man Kunst und Schönheit mit Computern schaffen``
könne.\footnote{nach Steven Levy, \cite{levy:hackers}. Der deutsche
Chaos Computer Club gehört mit seinem jährlichen ,,Art and Beauty
Workshop`` zu den Anhängern dieses Glaubenssatzes.} So recyceln Hacker,
sonst die Avantgarde eines umfassenden kulturellen Verständnisses
digitaler Technologie, einen klassizistischen Begriff von Kunst als
Schönem, und formen daraus ein Konzept digitaler Kunst als innerer
Schönheit des Quellcodes; ein ästhetischer Konservativismus, der in
ingenieur- und naturwissenschaftlichen Kulturen weit verbreitet ist und
neupythagoräischen Digitalkitsch wie z.B. Fraktalgraphiken
popularisiert hat. 

Softwarekunst durchkreuzt dieses Ideal dann, wenn sie auch die ästhetischen
Register des Häßlichen, Monströsen, Dysfunktionalen, Vorgetäuschten und
Inkorrekten zieht.\footnote{Weshalb es auch verkehrt wäre, Softwarekunst
auf ,,running code``, also technisch funktionale Algorithmen zu
beschränken oder, aus politischen Gründen, Programme mit geheimen
Quellcode und unfreier Lizenzierung aus Softwarekunstpräsentationen
auszuschließen.} Ohnehin entsteht sie nicht mehr in Reinräumen, sondern
inmitten einer Abundanz von zirkulierendem Programmcode. Dies
unterscheidet sie selbst von Werken wie Tzaras Dada-Gedicht, das zwar
einen Überangebot massenmedialer Information voraussetzt, aber nur diese
und nicht seinen eigenen Algorithmus collagiert; das Resultat ist
chaotisch, der Prozeß jedoch regelhaft.
 
Seit der Popularisierung von  Personal Computern und Internet entsteht
Softwarekunst unter der postmodernen Bedingung, daß nicht nur
Zeitungsartikel, sondern auch Programmsteuercode massenhaft als
Spielmaterial zur Verfügung steht. Die Arbeiten der australischen
Netzkünstlerin mez zum Beispiel sind in einer Kunstsprache
,,mezangelle`` verfaßt, die English mit Code aus Computerprogrammen und
Netzwerkprotokollen hybridisiert. Ihre ,,net.wurks`` sind eine
unsaubere, dysfunktionale Softwarekunst; statt Programmcode synthetisch
zu konstruieren, verwenden sie die Computercodes als Readymade, sezieren
sie und setzen sie so neu zusammen, daß sich semantische
Untertöne der vermeintlich bloß technischen Softwaresyntax reflexiv
herausschälen.  Mit ihr verwandt ist Softwarekunst, die 
Kontrollparameter kommerzieller Computerprogramme manipuliert. Joan
Leandres ,,retroyou`` und Eldar Karhalevs und Ivan Khimins ,,Screen
Saver`` sind untergründige Mißkonfigurationen kommerzieller Software:
eines Autorennspiels,  das durch technisch simple, aber wirkungsvolle
Eingriffe zu einem Rennen gegenstands- und schwereloser Körper in einem
nichteuklidischen Raum wird, sowie des Bildschirmschoners von Microsoft
Windows, umkonfiguriert zu einem suprematistischen, bildschirmfüllenden
Quadrat.

Wenn eine Kulturwissenschaft und -kritik der Software sich ihren
Gegenstand nicht unkritisch aus der Bildschirmgraphik von
Desktop-Betriebssystemen heraus erklärt, wird sie um formale
Begriffsdefinitionen nicht herumkommen, ohne die es auch kein
ästhetisches Bewußtsein
poetischer Spekulation und Experimente in Quellcodes geben kann.
Durch ihr spielerisches Unterlaufen von Formalismen zeigt die
Kunst von mez, Leandre und Karhalev/Khimin jedoch, daß 
Softwarekunst nicht per se
konzeptualistisch ist, sondern sowohl eine 
Kunst sein kann, deren Material formaler Instruktionscode
ist, als auch eine Kunst, die ein kulturelles Verständnis von 
Software reflektiert.


\bibliography{diss}
\bibliographystyle{alphadin}

\end{document}
