Hör doch zu!

Free Radio Linux sendet den Linux-Quelltext im Radio und Internet

Micz Flor (Berlin, März 2002)
Aus dem Englischen von Anke Caroline Burger

Jede Gemeinschaft verdient ein Radio. Und jede Gemeinschaft bekommt den Sender, den sie verdient. Free Radio Linux ist ein brandneuer, auf die aktuellen Interessen etlicher Gruppen zugeschnittener Radiosender: die FürsprecherInnen kostenloser Software, die Net.radio-Digerati, die Open Source Community und die AnhängerInnen der neuen Medienkunst.

Free Radio Linux stellt in einer einzigartigen Mischung aus aktuellen akademischen und juristischen Diskussionen und technischen Möglichkeiten Fragen nach dem Verhältnis von Sprache und Code, Technologie und Kunst, nach der Geschichte von unabhängigen Radiosendern und Computern und dem Kampf um das Recht auf freie Meinungsäußerung gegenüber dem Schutz geistigen Eigentums. Und wie stellt es das an? Schlicht und einfach durch das Verlesen von vielen tausend Zeilen Quellcode über Äther und Web.

Der gesamte Quelltext des Linux-Kernels wird von Free Radio Linux als Webcast im Internet gesendet. Ein Sprachgenerator wandelt die 4.141.432 Zeilen Code in eine lange Talk-Show-Sendung um. Es wird an die 600 Tage dauern, bis die letzte Zeile Code verlesen sein wird. Die Soundpioniere hinter diesem Projekt — r a d i o q u a l i a — füttern die Computerstimme von einer Wohnung in London aus über einen Standard-Kabelanschluss an den Streaming-Media-Server ‚Montevideo’ in Amsterdam, wo sie für jeden, der zuhören möchte, zur Verfügung steht.

Am ersten Tag des Webcasts, dem 3. Februar 2002 (dem vierten Jahrestag des Begriffs „Open Source") schien es, als hätte Free Radio Linux das Zeitgefühl auf den Punkt getroffen. Mit über 300.000 Besuchern am ersten Tag stellte der Server ein Gigabyte Daten für die Hörer bereit — und diese Zahl bezieht sich nur auf den Text, nicht auf den Audiostream. Am selben Tag boten sich zwei andere Server glücklicherweise als Mirrors für den Stream an, da ein Server allein einem solchen Ansturm kaum gewachsen gewesen wäre.

„Ich halte Schönheit nicht für den entscheidenden Aspekt einer Sprache"

Dieses spektakuläre Interesse am neuen Underground-Sender ist umso erstaunlicher, da sich das Hörerlebnis an sich als eher ernüchternde Erfahrung entpuppt. Semantische Einheiten wie „struct sigframe underscore ia32" sprechen kein sonderlich breites Publikum an. Es ist im Grunde sogar nur schwer vorstellbar, dass sie selbst dem harten Kern der Linux-Entwickler-Community wirklich Genuss bereiten.

Und doch ist Free Radio Linux da und will gehört werden. Und es beschränkt sich durchaus nicht nur auf das Internet. Diverse kleine, unabhängige —‚experimentelle’ wäre vermutlich der richtige Ausdruck — Radiosender haben sich dazu entschlossen, Teile des Audiostream aufzugreifen und die Stimme auf ihren lokalen Radiofrequenzen zu senden. Was angesichts der Programme, die heutzutage benutzt werden, um Sendepausen zu füllen — Endlosschleifen von Kaminfeuer, Live-Satellitenbilder, Aquarien, auf Loks montierte Kameras, Webcams aus der weiten Welt etc. — nicht weiter verwunderlich ist.

Warum sollte man sich Tausende und Abertausende von Zeilen Computercode anhören?, wäre die naheliegende Frage. Eine naheliegende Antwort wäre, dass man diese Frage beantworten sollte, nachdem man sich die Sache angehört hat. Den Quellcode laut vorzulesen, verleiht ihm eine ästhetische Dimension, die offensichtlich ursprünglich nicht beabsichtigt war. Der Code war dazu gedacht, in ein binäres Format konfiguriert und kompiliert zu werden, das dann auf bestimmten Computern laufen kann. In Free Radio Linux wird der Code aus diesem Kontext herausgenommen und in ein völlig anderer Universum verpflanzt: das Radio. Radio Free Linux macht bewusst, dass Maschinensprache eine menschliche Erfindung ist und sprachähnliche Züge aufweist; es lenkt die Aufmerksamkeit auf die ästhetischen Qualitäten des Codes, die bisher in seinem Regelsatz verborgen waren.

Einen Satz Regeln oder Kategorien getrennt von ihrem ursprünglichen Zweck zu betrachten und in einen ganz anderen Kontext zu verpflanzen, ist eine konzeptionell interessante Methode. Die Erzeugung einer veränderten sinnlichen Wahrnehmung durch diese Art Verschiebung ist bereits in verschiedenen Formen benutzt worden. Als frühe Beispiele dieses Mechanismus wären Bachs Verwendung der Noten ‚b-a-c-h’ in seinen Werken zu nennen — von Mathematikern wie Programmierern gleichermaßen gelobt — oder Mozarts Gebrauch der Noten ‚c-a-f-f-e-e’ in einem Kinderlied über Kaffee —von Kulturtheoretikern weithin verurteilt, wenn auch aus anderen Gründen.

Wenn man Maschinensprache, eine Aneinanderreihung von Befehlen, für einen ähnlichen Zweck gebraucht, spielt man im Grunde in derselben Liga. Maschinensprache wurde von Menschen geschaffen und ist alles andere als beliebig. Informatiker sprechen sogar von schönem Code, auch wenn sich das meist darauf bezieht, dass Coderegeln kreativ eingesetzt werden, um ein bestimmtes Ergebnis zu erzielen.

Und doch haben Programmiersprachen und die Ästhetik digitaler Systeme einen enormen Einfluss auf die heutige Dichtung, Musik und Literatur ausgeübt. Net.art-Projekte wie jodi.org zeigen, wie sich dieser Einfluss zu einer ganz eigenen Ästhetik entwickeln kann. Free Radio Linux ist im Umkreis solcher Projekte angesiedelt und bezieht sich direkt auf netz.künstler Vuk Cosic, der wesentlich zur Etablierung von ASCII Art als Genre beitrug, als er den Pornostreifen ‚Deep Throat’ Bild für Bild in ASCII-Bilder umwandelte, die dann wieder zu einem Film zusammenmontiert werden konnten.

Neben dem unleugbaren Einfluss von Computerästhetik und Code auf die kulturelle Produktion, liegt der Reiz des Free Radio Linux-Projekts hauptsächlich in der aktuellen Debatte rund um Linux und die Open-Source-Bewegung. Es ist nicht so sehr die vorgelesene Sprache an sich, die von Interesse ist; sie steht für einen größeren Zusammenhang, der Teil des kulturellen Mainstreams geworden ist. In Zusammenhang mit einem anderen Open-Source-Projekt fasste Larry Wall, Linguist und Entwickler der Programmiersprache Perl, die Verbindung so zusammen:

„Eine Sprache ist keine Ansammlung von Grammatikregeln. Sie besteht auch nicht nur aus semantischen Vorschriften. Sie besteht aus der gesamten Kultur, die die Sprache an sich umgibt. Und Bestandteil des kulturellen Kontexts, innerhalb dessen man eine Sprache versteht, sind die Charaktere der Menschen, die mit dieser zu tun haben — wie die Sprache allgemein angesehen wird, wie die Sprache an andere weitergegeben, wie sie gelehrt wird, die Einstellung der Menschen, die anderen beim Erlernen der Sprache helfen — all das wird Teil der großen Kontextsuppe."

„the memory management can be a bitch"

Dem Redefluss von Free Radio Linux zuzuhören, kann ermüdend wirken. Doch in unregelmäßigen Abständen wird die monotone Folge von Befehlen, Variablen und Satzzeichen von zusammenhängenden Sätzen unterbrochen. Diesen kurzen Abschnitten geht für gewöhnlich ein „slash asterisk" voraus; es sind Bemerkungen, die in den Code geschrieben werden, um anderen Programmierern zu erklären, wozu der Code gedacht ist — sie stellen gute Beispiele für den von Wall beschriebenen kulturellen Kontext dar, der sich rund um Programmiersprachen bildet.

Die innerhalb des Quellcodes platzierten Kommentare weichen in Konkretheit und Absicht voneinander ab. "Fork is rather simple, once you get the hang of it, but the memory management can be a bitch", ist eine eher direkte Feststellung im fork.c-Code, die vermutlich von Linux-Erfinder Linus Torvalds selbst geäußert wurde. Die Aussage aus ia32_support.c hingegen macht nur die Incrowd wirklich an: „We never change the TSS and LDT descriptors, so we can share them across all CPUs."

Free Radio Linux schafft es durch das Vorlesen von Zeile um Zeile des Quellcodes, etwas zu erreichen, was auf keine andere Art und Weise möglich wäre: Der Audiostream macht die lautlosen Kommentare, die Softwareentwickler zur Verständigung miteinander geschrieben haben, hörbar. Diese stellen in der Maschinensprache beheimatete Diskussionen und Erfahrungen dar, die nie ans Licht kämen, würden sie nicht laut vorgelesen.

„the good ol' days when I was recording ZX Spectrum games played on radio"

Abgesehen von dem ästhetischen Erlebnis, fast zwei Jahre lang Linux-Code im Radio hören zu können, ist die Übertragung von Code in Radiosendungen auch als alternative Methode zur Distribution von Software möglich. Und wenn etwas möglich ist, wird es meistens auch gemacht. So auch hier geschehen.

Ende der 70er, Anfang der 80er Jahre machten sich Piratensender die Tatsache zunutze, dass in der Frühzeit Computercode oft auf Tonbändern gespeichert und abgespielt wurde. Der ZX Spectrum ist vermutlich der am weitesten verbreitete Heimrechner, der diese Technik benutzt. Die Radioübertragung erlaubte es den Hörern, die Software mitzuschneiden und in ihre Computer zu laden. Systeme, die verschiedene Methoden der Datenspeicherung verwendeten, erforderten spezielle Software zur Modulierung des Codes in Audiosignale, die vom Nutzer am Radioempfänger wieder demoduliert wurden.

Einer der ersten Radiosender, der Computercode sendete, war 1979/80 der holländische Sender NOS. In der Sendung ‚Hobbyscoop’ stellte er Software für die Computer zur Verfügung, die akustische Speichermethoden verwendeten. In England taten Radio West in Bristol und Radio Victory in Portsmouth dasselbe für ihre jeweilige Zuhörerschaft. Die Sache war so erfolgreich, dass sogar der BBC sich zu einem solchen Programm entschloss und Mitte der 80er Jahre den ‚Chip Shop’ startete.

Die Grenzen, die den frühen ‚Code-Sendern’ gesetzt waren, lassen sich in der Tatsache zusammenfassen, dass jeder Computer seine eigene Methode hatte, Quellcode in Ton zu übersetzen. Dadurch wurden künstlich Differenzen erzeugt (obwohl viele Computer dieselbe Programmiersprache Basic verwendeten), denn der Quellcode selbst konnte theoretisch von einer ganzen Reihe von Rechnern benutzt werden. Zur Überwindung dieses Problems wurde ein eigenes Programm geschrieben — Basicode. Es lief auf vielen Plattformen und machte Radioübertragungen für jeden Computer nutzbar, auf dem dieses Programm installiert war.

Um von dieser kleinen Nebenbetrachtung zurück zu Free Radio Linux überzuleiten: Audiostreaming von Code heute und Software im Äther in den 80ern basiert auf einem ähnlichen Prinzip: Ein einziger Datenstrom ist auf diversen Plattformen nutzbar.

Zur Umwandlung eines Tonsignals in Daten wird eine Software benötigt, die Basicode gar nicht so unähnlich ist. Zwei weitverbreitete, im Web benutzte Formate sind RealMedia und MP3, beides urheberrechtlich geschützte Standards (was bedeutet, dass sich der Code im Besitz von privaten Unternehmen befindet). Free Radio Linux benutzt für seinen Audiostream den Open-Source-Codec Ogg Vorbis, ein alternatives Audioformat, das unter einer nicht urheberrechtlich geschützten Lizenz publiziert wird. Für den gewöhnlichen Hörer ist dieser Unterschied nicht wahrnehmbar. Da gesetzlich geschützte Standards jedoch nicht offen sind, ist ein bestimmter Player erforderlich, der den Datenstrom wieder zurück in Ton verwandelt. Einen gesetzlich geschützten Standard zu benutzen ist so ähnlich, wie all sein Hab und Gut wegzuschließen und jemand anderem dann den Schlüssel anzuvertrauen. Ginge ein solches Privatunternehmen bankrott, würden sämtliche in seinem Format zur Verfügung stehenden Inhalte nach und nach unzugänglich werden.

Das in Übereinstimmung mit dem Open-Source-Konzept stehende Ogg Vorbis ist insofern heute vermutlich der beste Garant für die Art von Interoperabilität, die Basicode seinerzeit bot.

„Warum ein ganzes Buch (...) mit langweiligem Quellcode veröffentlichen"

Tausende von langweiligen Zeilen Quellcode auf Free Radio Linux anzuhören ist vermutlich eine nur unwesentlich weniger quälende Erfahrung, als Tausende von langweilige Zeilen Quellcode in einem Buch zu lesen. In beiden Fällen scheint das zur Vermittlung des Textes gewählte Medium der Aufgabe nicht angemessen.

Doch die Verlagerung des Kontexts verändert weit mehr als nur die ästhetischen Qualitäten des Codes. Das Senden von Code im Radio ruft die Tatsache ins Bewusstsein, dass wir es hier immerhin mit Sprache zu tun haben. Software ist nicht einfach eine Ansammlung von Werkzeugen auf einer Festplatte: Software ist Sprache ... eine Behauptung mit rechtlichen Folgen.

Im Laufe der letzten Jahre wurden eine Menge juristischer Bemühungen darauf verwandt, eine klare Trennlinie zwischen ‚Sprache’ und ‚Code’ zu ziehen. Allein die Tatsache, dass sich das amerikanische Justizsystem mit solchen scheinbar linguistischen Spitzfindigkeiten beschäftigt, zeigt, dass es bei dem Thema um wichtige politische und wirtschaftliche Interessen geht..

Die politische Dimension wird sofort offensichtlich, wenn man einen näheren Blick auf den Code wirft, der Anfang der Neunziger einen Rechtsstreit auslöste. Damals ging es um Pretty Good Privacy (PGP), eine leistungsfähige Verschlüsselungssoftware, die sichere Internetkommunikation für alle ermöglichte, ohne dass Dritte mitlesen konnten, noch nicht einmal die Regierung der Vereinigten Staaten.

Ab Juni 1991 war Philip Zimmermanns Verschlüsselungssoftware PGP als Freeware im Internet öffentlich zugänglich. Pretty Good Privacy (‚Ziemlich guter Datenschutz’) wurde geschrieben, um den Datenschutz in digitalen Netzwerken zu sichern, den der Entwickler der Software für ein grundlegendes Recht hielt.

Doch die Pläne der US-amerikanischen Regierung sahen so kurz nach dem Golfkrieg anders aus. Während des Jahres 1991 beriet der US-Senat über Gesetzvorhaben 266, das Hersteller sicherer Kommunikationswege dazu zwingen wollte, einen versteckten Zugang, eine Hintertür, offen zu lassen, durch den die US-Regierung Nur-Text-Versionen verschlüsselter Nachrichten erlangen könnte. Als immer deutlicher wurde, dass das Internet in der nahen Zukunft so aussehen könnte, entschloss Zimmermann sich zur Veröffentlichung der Software, bevor es zu spät war. Kurz darauf wurde er Opfer einer kriminalrechtlichen Untersuchung von Seiten der amerikanischen Zollbehörde.

Die Anklage wegen Veröffentlichung von PGP im Internet stützte sich zum Großteil auf die Behauptung, dass die potenziell weltweite Zugänglichkeit von PGP ein Sicherheitsrisiko darstelle. Der Export leistungsfähiger Verschlüsselungssoftware gleiche der Ausfuhr von Munition, wie in der Verordnung zum internationalen Waffenhandel (International Traffic in Arms Regulations, ITAR) festgelegt worden sei. Da sich die Hauptbeschuldigung gegen Zimmermann auf diese Auffassung des internationalen Handels stützte, suchten die PGP-Entwickler nach Möglichkeiten, den Quellcode legal über Landesgrenzen hinweg zu verbreiten.

Um die Geschichte abzukürzen: Der Quelltext wurde von der ehrwürdigen Universität MIT unter dem Titel „PGP: Source Code and Internals" als Buch gedruckt. Es wurde im März 1995 veröffentlicht, kostete US$ 55 und trug die ISBN 0-262-24039-4. Das Buch ist heute vergriffen, was nicht so wichtig ist, da die einzig entscheidende Lieferung des Buchs die an die Universität von Oslo war.

„Die verwendete Schrift kann auch von Computernscannern gelesen werden. Würde der Quellcode eingescannt und dann von einem Compiler-Programm bearbeitet, würde dieser in eine ausführbare Anwendung oder Objektcode übersetzt, der dann von einem Computer gelesen und zur Verschlüsselung von Text und binären Dateien benutzt werden könnte."

Durch eine geringfügige Veränderung des Mediums, mit dem der Quellcode bereitgestellt wurde, wurde das rechtliche Rahmenwerk, das seine Verwendung verbot, aus den Angeln gehoben. Er war nicht länger die ‚Waffe’, die er in digitaler Form dargestellt hatte — sondern nur noch Sprache in einem Buch. Es braucht nicht erwähnt zu werden, dass das Programm auf der Empfängerseite erfolgreich kompiliert wurde. Ungefähr ein Jahr später, im Januar 1996, wurde die Anklage gegen Zimmermann fallengelassen.

„Ist es sinnvoll, zwischen Quellcode und englischer Prosa zu unterscheiden?"

Die Frage nach dem Verhältnis von Code und Sprache ist jedoch noch nicht gelöst. Sie wird derzeit gerade wieder innerhalb und außerhalb amerikanischer Gerichtshöfe in Zusammenhang mit einem kurzen Stück Code diskutiert, der unter dem Namen DeCSS veröffentlicht wurde und den Copyrightschutz von DVDs unterläuft. DeCSS bedeutet, dass zum Abspielen von DVDs keine spezielle Hard- oder Softwarelösung benötigt wird. Sie können auf jedem Computer angeschaut werden, der den DeCSS-Code benutzt.

Die Anklage gegen die Entwickler und Veröffentlicher des DeCSS-Programms und -Quellcodes läuft noch. Eine seit dem Fall Zimmermann nach wie vor offene Frage ist, inwieweit Quellcode unter dem Schutz des ersten Zusatzartikels zur amerikanischen Verfassung, dem Recht auf freie Meinungsäußerung, steht. Mit anderen Worten: Ist Code Sprache?

Wenn man Free Radio Linux hört, das Dank Sprachsynthese sendet, scheint es sich eindeutig um Sprache zu handeln. Doch ist andererseits auch klar, dass seine 4.141.432 Zeilen Code theoretisch in digitale Form zurückübersetzt und kompiliert werden könnten, so dass am Ende wieder der Kernel herauskommt — so ähnlich, wie man das damals mit der gescannten Version von Zimmermanns Buch tun konnte.

Beim Linux-Kernel und PGP-Quellcode haben wir es mit großen Datenmengen zu tun; das DeCSS-Programm ist hingegen sehr kurz. (Es ist sogar so kurz, dass es sich auf T-Shirts drucken lässt, die man als Beitrag zu den Anwaltskosten der im DeCSS-Fall Angeklagten käuflich erwerben kann.) Da das Programm nur wenige Zeilen Code enthält, sind mehrere Versionen in verschiedenen Sprachen entwickelt worden. Diese Diversifizierung hin zu T-Shirts, Klonen und Übersetzungen versucht, auf die Absurdität einer Situation hinzuweisen, in der Quellcode rechtlich anders als alle anderen Formen schriftlichen Ausdrucks behandelt wird. Der Algorithmus, der den DVD-Inhalt vor ‚unerlaubter’ Verwendung schützt, lässt sich sogar in einem gemeinsprachlichen Aufsatz in ganz normalen Sätzen beschreiben. Basierend auf dieser Umschreibung könnte ein Informatiker den DeCSS-Code entwickeln, ohne den Quellcode an sich je gesehen zu haben.

Jonathan Baccash stellte den interessanten Versuch an, die Grenze noch weiter zu verwischen, und schrieb die Software BabelBuster, die C-Code in eine Art umgangssprachliches Englisch und wieder zurück übersetzt, ohne im Code enthaltene Informationen einzubüßen. Die einfache Zeile C-Code "main ()" zum Beispiel wird in die weitaus poetischeren Sätze „Let main be a function returning an integer. It is called with no arguments." übersetzt.

Vor dem Hintergrund dieser Diskussion und den immer offensichtlicher und bösartiger werdenden Interessen der multinationalen Unterhaltungsindustrielobby wird Free Radio Linux noch weit über ein Jahr lang Quellcode hinausposaunen.

„Können wir die Fehlerberichte jetzt an den Radiosender schicken?"

Es ist bizarr, dass Free Radio Linux den historischen Punkt markiert, in dem Themen wie Open Source, Linux, Softwarelizenzen, Copyrightschutz und Streaming Media Eingang in die Mainstreamdiskussion gefunden haben, während das Projekt an sich viel Durchhaltevermögen erfordert, um es bis zu seinem Abschluss Ende 2003 zu verfolgen.

In den anfänglichen Postings auf der Slashdot-Website wurde dieser schizophrene Aspekt thematisiert, als Nutzer fragten, ob der Radiosender Updates bringen würde, wenn sich der Kernel in der Zwischenzeit veränderte.

Wenn man Free Radio Linux von einem konzeptionellen Standpunkt aus betrachtet, scheint es angemessen, weiterhin einen Code-Freeze des Tages zu senden, an dem die Radioübertragung begann, und diesen bis zum Ende durchzuhalten. Vielleicht werden die Hörer so an die Rechtsverfahren und multinationale Lobbyarbeit erinnert, die vor sich gingen, als das Projekt startete.

Und von einem praktischen Gesichtspunkt her betrachtet, legte ein anderers Postingauf Slashdot nahe, dass mit den Radiowellen von Free Radio Linux endlich etwas Nützliches diesen Planeten verlässt: Es könnte sein, dass außerirdische Intelligenzen eine stabile Version des Linux-Kernels empfangen. Welch Erfolg für die Linux Community, welch ein Publikum für ein Undergroundradio!

Micz Flor arbeitet mit und schreibt über neue Medien. http://mi.cz

Hear me out

Free Radio Linux broadcasts the Linux sources on air and online

Micz Flor (Berlin, March 2002)

Every community deserves a radio. And every community gets the station it deserves. Free Radio Linux[1] is a new station on the map, catering for a number of contemporary interest groups, such as the free software advocates, the net.radio digerati, the Open Source community and the new-media art crowd.

In a unique blend of contemporary academic and legal debates as well as technological possibilities, Free Radio Linux is formulating questions to do with the relation of language and code, technology and art, the history of community radio and computers, as well as the battle of freedom of speech and copyright protection. And how is it doing it? Simply by reading thousands of lines of source code on the air and on the web.

In Free Radio Linux, the entire source code of the Linux kernel[2] will be webcast over the Internet. A speech synthesizer will convert into talk radio the 4,141,432 lines of code, which will take about 600 days[3] to read. From a London flat, the sonic entrepreneurs behind the project--r  a  d  i  o  q  u  a  l  i a--will feed the computer voice via a standard cable connection to the streaming media server Montevideo in Amsterdam, from where it will be made available to whoever wants to listen in.[4]

On its first day of webcasting, February 3, 2002 (the fourth anniversary of the term Open Source), Free Radio Linux proved to hit a nerve. With more than 300,000 visitors on the first day, the server delivered one gigabyte of data to listeners; this refers to the text only and excludes the audio stream. On the same day, two more servers offered to mirror the stream, which is lucky as it would be hard for one server alone to cope with this level of popular demand.

"I don't think the chief virtue of a language is beauty"[5]

This spectacular reception of the new community station on the block is all the more surprising given that listening to the "spectacle" itself turns out to be a rather sobering experience. Semantic entities such as "struct sigframe underscore ia32"[6] really do not appeal to a wide audience. In fact, it is hard to believe they would appeal even to the core of the Linux developers community.

But Free Radio Linux is out there to be heard. And it is not even limited to the Net alone. Various smaller and independent--let's say experimental--stations decided to pick up parts of the audio stream and rebroadcast the voice over their local radio frequencies.[7] Which is fair enough, given the kind of programs you receive these days to fill the void of the signal, featuring loops of anything from open fireplaces to live satellite images, aquariums, cameras mounted on trains, webcams from around the world, and so on.

Why listen to thousands and thousands of lines of computer code? It is a reasonable question. A reasonable answer would be to decide only after having listened to them. Reading out the sources adds an aesthetic quality to the code that it obviously was not intended to possess in the first place. The code was, after all, meant to be configured and compiled into a binary format that can run on certain computers. But in Free Radio Linux the code is shifted away from this context and introduced into another universe altogether: radio. By stressing the fact that code is a human invention and does have language-like features, Free Radio Linux foregrounds an aesthetic quality of the code that has been hidden inside its rule set.

The strategy of dislocating a set of rules or categories from their initial purpose and implementing them in another context is an interesting conceptual tool. Creating a different sensual experience by forcing this shift has been used in various forms. Early examples of this mechanism would be Bach's use of the notes B-A-C-H in his work--widely applauded by mathematicians and programmers alike--or Mozart's use of the notes C-A-F-F-E-E in a children's song on coffee, which is widely criticized by cultural theorists, but for different reasons.

To use computer code as a set of rules for a similar purpose is to play in the same league. Code itself is a human creation and far from random. In fact, programmers do speak of beautiful code, even though this would usually refer to the creative usage of the code's rules to achieve a certain aim.

But programming languages and the aesthetics of digital systems have had an immense influence on contemporary poetics, music, and writing. Net.art projects such as jodi.org[8] illustrate how this influence can develop into its own aesthetic. Free Radio Linux places itself in proximity to such projects, specifically referring to net.artist Vuk Cosic,[9] who was essential in establishing ASCII art as a genre when he converted the porn movie Deep Throat frame by frame into ASCII images, to be reassembled into a movie.[10]

Besides the clear influence of computer aesthetics and code on cultural production[11], the attraction of the Free Radio Linux project lies more in the cultural currency surrounding Linux and the Open Source movement today. The language being read out does not appeal as such, but stands for a wider context that has entered the cultural mainstream. In connection to another Open Source project, Larry Wall, linguist and creator of the programming language Perl, has summarized this connection:

A language is not a set of syntax rules. It is not just a set of semantics. It's the entire culture surrounding the language itself. So part of the cultural context in which you analyze a language includes all the personalities and people involved--how everybody sees the language, how they propagate the language to other people, how it gets taught, the attitudes of people who are helping each other learn the language--all of this goes into the pot of context.[12]

"the memory management can be a bitch"[13]

Listening to the Free Radio Linux audio stream can be a tiring experience. At irregular intervals, however, the monotonous flow of commands, variables, and punctuation is interrupted by coherent sentences. Such little passages are usually preempted by "slash asterisk" and constitute comments that are written inside the code to make it easier for other programmers to understand what the code is actually intended to do--and are a good example of the cultural context surrounding the programming languages Wall describes.

Comments placed inside source code vary in degrees of directness and intention. "Fork is rather simple, once you get the hang of it, but the memory management can be a bitch" is a concrete statement in the fork.c code, apparently written by Linux creator Linus Torvalds himself. On the other hand, this statement from ia32_support.c really excites only the in-crowd: "We never change the TSS and LDT descriptors, so we can share them across all CPUs."

To this extent, reading source code out line by line, Free Radio Linux manages to achieve something that could not be achieved in any other way: The audio stream makes audible the silent comments that developers wrote in to communicate among each other. These are discussions and experiences living within the code that would never see the light of day if not read out loud.

"the good ol' days when I was recording ZX Spectrum games played on radio"[14]

Besides the aesthetic pleasure of listening to nearly two years of Linux code on the radio, transmitting code over radio broadcasts can also serve as a different way of distributing software. And if it can be done, it usually has been--as is the case here.

In the late seventies and early eighties, pirate broadcasters would exploit the fact that in the early days many computers would store and retrieve code by using audiotapes. The ZX Spectrum is probably the most popular home computer using this technology. Broadcasting such an audio signal allowed listeners to tape the software and load it into their computers. Systems employing different ways of storing data would require special software to modulate it into audio signals, which would then be demodulated by the users at the receiving end.

One of the first stations to broadcast computer code was the Dutch station NOS in 1979-80. In its program Hobbyscoop[15], the station would deliver software for specific computers whose storage methods were acoustic.[16] In the United Kingdom, Radio West in Bristol and Radio Victory in Portsmouth were doing the same for their regional communities. The idea was so successful that even the BBC decided to go along with the idea and launched the Chip Shop[17] in the mid-eighties.[18]

The limitations of early "code stations" can be boiled down to the fact that each computer had its own way of translating source code into audio. This generated an artificial distinction, as many computers were using the same programming language (BASIC) and the source code itself could in theory be used across a number of computers. To overcome the obstacle, a specific program--Basicode[19]--was invented. It ran on many platforms and made radio transmissions accessible to every computer running it.[20]

To bring this little excursion back to Free Radio Linux, the analogy between audio streaming today and software over the air in the eighties is based on a similar paradigm of reaching a variety of platforms with one data stream.

The conversion of an audio signal into data requires a piece of software similar in character to Basicode. Two widely known formats used on the web are RealMedia and MP3, both of which are proprietary standards (meaning that the actual code is owned by private companies).[21] For its audio stream, Free Radio Linux uses the Open Source codec Ogg Vorbis[22], which is an alternative audio format published under a nonproprietary license. To the ordinary listener, this difference is not audible. Given the fact that proprietary standards are not open, however, they require the availability of a player if the data stream is to be translated back into audible information. Using a proprietary standard is not unlike locking away your belongings and trusting someone with the key.[23] If such a private company went bust, all the content available in its format would slowly become inaccessible.

Being in sync with the Open Source concept, today Ogg Vorbis might therefore be the best candidate to assure the kind of interoperability that Basicode offered in its day.

"why publish an entire book ... of boring source code"[24]

Listening to thousands of boring lines of source code on Free Radio Linux might be only a slightly less numbing experience than reading thousands of boring lines of code in a book. In both cases, the medium chosen to carry the text seems inadequate.

But shifting the context alters more than the code's aesthetic quality. Putting code on air stresses the fact that we are dealing with language after all. Software is not merely a combination of tools on a hard disk; software is language, an assumption with legal consequences.

Over the past years, a great deal of juridical effort has been spent on establishing a clear distinction between "language" and "code." The mere fact that the U.S. legal system might dedicate its attention to such a linguistic discourse indicates a serious political and economic interest in the issue.

The political dimension becomes instantly apparent when taking a closer look at the code that triggered a previous legal battle. This was Pretty Good Privacy (PGP), a powerful encryption software that allows secure communication for anyone on the Internet, without any third party intercepting, not even the government of the United States.

In June 1991, Philip Zimmermann's encryption software PGP was made publicly available as freeware on the Internet. As the name suggests, Pretty Good Privacy was developed to secure privacy in digital networks, which the software's author believed to be a fundamental right.[25]

Needless to say so shortly after the Gulf War, the U.S. government had other plans. In 1991, the Senate was discussing Bill 266, which had been designed to force manufacturers of secure communications to provide a hidden access point, a back door, by which the federal government could retrieve plain-text versions of encrypted messages.[26] As it was becoming clear that this might be the reality of the Internet in the near future, Zimmermann decided to act and publish the software before it was too late.[27] Soon afterward, he became the target of a criminal investigation by the U.S. Customs Service.

The case against publishing PGP on the Internet was based largely on the notion that PGP's potential global availability constituted a security threat. Exporting strong encryption software was similar to exporting munitions, it was decided under the International Traffic in Arms Regulations. Since the main accusation against Zimmermann was based on this notion of international export, PGP developers looked into ways of distributing the source code across borders legally.

To cut a long story short: The source code was printed by the respectable institution MIT under the title PGP: Source Code and Internals. It was published in March 1995, priced at $55 and with the ISBN 0-262-24039-4. The book is out of print today, which does not matter much as the only relevant delivery of the book was to the University of Oslo.

The font used is also capable of being scanned by computer scanners. If the source code were scanned in and then run through a compiler program, it would be translated into an executable application or object code, which could then be read and executed by a computer to encrypt text and binary files.[28]

With a small tweak in the medium by which the source code was delivered, the legal framework prohibiting its use had become unhinged. It was no longer the "weapon" it had represented in digital form--merely language in a book. Needless to say, the program was successfully compiled at the receiver's end. And nearly a year later in January 1996, the case against Zimmermann was dropped.

"is there a point in distinguishing between source code and English prose"[29]

The relation between code and language is not resolved yet. In fact, it is again being debated in and outside the U.S. courts in relation to a short piece of code published under the name of DeCSS, which effectively undermines DVDs' copyright protection. DeCSS means that playing DVDs does not require any customized hard- or software solution. Instead, they can be viewed on any machine using the DeCSS code.

The case against those who developed and/or published the DeCSS program and source code still continues today. One of the remaining questions, since the case against Zimmermann, is to what extent source code is protected by the First Amendment to the U.S. Constitution. In other words: Is code speech?

Listening to Free Radio Linux, which runs by virtue of speech synthesis, it seems to be speech after all. Still, it is clear that its 4,141,432 lines of code could in theory be translated back into the code's digital form and compiled into the kernel. Similarly, this could be done using scanned versions of Zimmermann's book.

In both the Linux kernel and PGP source code cases, we are dealing with a large amount of data. In contrast, the DeCSS program is rather short. (In fact, it is short enough to be printed on T-shirts30 that one can buy to support the legal defense of the accused in the DeCSS case.[31]) Because it contains only a few lines of code, several versions have been developed in various languages.[32] This diversification--T-shirts on one side, clones and translations on the other--attempts to point out the absurdity of a situation in which source code can be legally differentiated from other forms of written expression. In fact, the algorithm protecting the DVD content from "unauthorized" use could even be described in plain English in an essay. Based on the description, a programmer could conceivably develop the DeCSS code without ever having seen the source code itself.

In an interesting attempt to blur the distinction even further, Jonathan Baccash coded the software BabelBuster, which translates C code to some form of colloquial English and back again without losing the information contained in the code. One simple line of C code, "main ()," would translate into the more poetic phrase "Let main be a function returning an integer. It is called with no arguments."[33]

As the discussion unfolds and the lobbying interests of the multinational entertainment industries become both transparent and vicious, Free Radio Linux will continue blurting out source code for a year to come.

"can we submit bug reports to the radio station now?"[34]

The bizarre reality is that Free Radio Linux marks a specific point in time in which issues to do with Open Source, Linux, software licensing, copyright protection, and streaming media are being debated in the mainstream, while the project itself demands stamina to be followed until its completion in late 2003.

In the initial postings on the Slashdot website, this schizophrenic aspect became an issue, with users asking if the station would provide updates if the kernel changed in the meantime.

Looking at Free Radio Linux from a conceptual point of view, it seems adequate to continue broadcasting a code freeze of the day transmission started and carry it all the way. It might remind its listeners of the open legal disputes and multinational lobbying occurring when the project was launched.

Looking at Free Radio Linux from a pragmatic point of view, another posting on Slashdot suggested that something useful is finally leaving this planet in the form of radio transmissions. Intelligent alien life forms could receive a stable version of the Linux kernel. What a success for the Linux community and what an audience for grassroots media!

Micz Flor works with and writes on new media. http://mi.cz


1. http://radioqualia.va.com.au/freeradiolinux/--Free Radio Linux
2. Kernel meaning the part of the operating software Linux on top of which all other applications run. Free Radio Linux is webcasting Linux kernel 2.4.18 from http://www.kernel.org.
3. 14,253.43 hours, or 593.89 days, to be precise. See the readme file on the site.
4. http://www.xs4all.nl/~qualia/freeradiolinux/playlist.m3u--Live audio link of Free Radio Linux
5. Larry Wall, creator of the Perl programming language, on computer code and linguistics: http://www.ddj.com/documents/s=923/ddj9802a/9802a.htm
6. A small extract from the code at linux/arch/ia64/ia32/ia32_signal.c
7. Find a list of some of the rebroadcasters at http://www.xs4all.nl/~qualia/freeradiolinux/cron.html
8. http://www.jodi.org
9. http://www.ljudmila.org/~vuk/ascii/blind/--Vuk Cosic, "ascii history of art for the blind"
10. http://www1.zkm.de/~wvdc/ascii/java/--Vuk Cosic, "Deep ASCII." See more of his work at http://www.ljudmila.org/~vuk/.
11. For a good introduction to the subject, see Florian Cramer's text "Digital Code and Literary Text" at http://beehive.temporalimage.com/content_apps43/app_d.html
12. Larry Wall, creator of the Perl programming language, on computer code and linguistics: http://www.ddj.com/documents/s=923/ddj9802a/9802a.htm
13. Comment taken from fork.c of the Linux kernel
14. Posting by Shiny Metal S. on Sunday, February 3, 2002, on Slashdot: http://slashdot.org/
15. For a brief introduction, dust down your Dutch: http://www.hobbyscoop.nl/NOStalgie.htm
16. Such computers would include TRS-80, Commodore PET, Apple II, Exidy Sorcerer
17. Find more information on the Chip Shop history: http://www.sincuser.f9.co.uk/024/news.htm
18. When exactly the first BBC software broadcast happened is hard to research: http://www.users.globalnet.co.uk/~jimg/yr09/yr09_03.htm
19. More information on the history of Basicode: http://www.xs4all.nl/~lennartb/basicode.html
20. The Basicode software is still available today: http://www.void.jump.org/utils/b.html
21. For a detailed discussion see http://mi.cz/txt/crosscodeccompatibility.htm
22. More on the Ogg Vorbis format: http://www.vorbis.com/
23. This comparison was brought up by Adam Hyde in preparation for this article
24. Philip Zimmermann's preface to the book PGP: Source Code and Internals: http://www.philzimmermann.com/essays-preface.shtml
25. http://www.pgpi.org--The International PGP Home Page
26. http://www.lugod.org/presentations/pgp/history.html--Introduction to PGP encryption
27. Philip Zimmermann's preface to the book PGP: Source Code and Internals: http://www.philzimmermann.com/essays-preface.shtml
28. Declaration of Philip R. Zimmermann in support of plaintiffs' opposition to defendants' motion to dismiss: http://people.qualcomm.com/karn/export/zimm.html
29. Jonathan Baccash: BabelBuster--C to English to C Translator: http://www-2.cs.cmu.edu/~dst/DeCSS/Baccash/
30. Copyleft DeCSS T-shirt: http://www.copyleft.net/item.phtml?dynamic=1&referer=%2F&page=product_276_front.phtml
31. Wired News on DeCSS T-shirts: http://www.wired.com/news/technology/0,1282,37941,00.html
32. Gallery of CSS Descramblers: http://www-2.cs.cmu.edu/~dst/DeCSS/Gallery/index.html
33. BabelBuster example: http://www-2.cs.cmu.edu/~dst/DeCSS/Baccash/example1.e
34. Posting by mESSDan on Sunday, February 3, 2002, on Slashdot: http://slashdot.org/ 7 of 7

 

"Hear me" by Micz Flor is first published May 2002 for r a d i o q u a l i a's Free Radio Linux, which was commissioned by Gallery 9/Walker Art Center with the support of the Jerome Foundation. All rights reserved to the author.

play Free Radio Linux