Das GNU-Manifest
Was ist GNU? GNU ist nicht gleich Unix!
GNU steht für »GNU ist nicht gleich Unix« und ist der Name eines kompletten, Unix-kompatiblen Software-Systems, das ich gerade schreibe, um es dann an jeden, der es brauchen kann, frei weiterzugeben. (1) Einige andere Freiwillige unterstützen mich. Beiträge in Gestalt von Zeit, Geld, Programmen und Material werden dringend benötigt.
Bis jetzt haben wir einen Emacs-Texteditor mit Lisp, um Editorkommandos zu schreiben, einen Quelltextdebugger, einen yacc-kompatiblen Parsergenerator, einen Linker und etwa 35 Dienstprogramme. Ein Kommandointerpreter (shell) ist beinahe fertig. Ein neuer, portabler, optimierender C-Compiler hat sich selbst compiliert und könnte dieses Jahr herausgegeben werden. Anfänge zu einem Kernel existieren, aber es werden noch viele Funktionen benötigt, um Unix zu emulieren. Sobald der Kernel und der Compiler vollendet sind, wird es möglich sein, ein zur Programmentwicklung einsatzfähiges GNU-System herauszugeben. Wir werden TeX als Textsatzsystem einsetzen, aber auch an einem nroff wird gearbeitet. Auch werden wir das freie, portable X-Window-System verwenden. Danach werden wir ein portables Common Lisp hinzufügen, ein Empire-Spiel, ein Tabellenkalkulationsprogramm und hunderte anderer Dinge plus on-line-Dokumentation. Wir hoffen, schließlich alles Nützliche, was normalerweise zu einem Unix-System gehört, anbieten zu können - und mehr.
GNU wird in der Lage sein, Unix-Programme laufen zu lassen, aber es wird nicht mit Unix identisch sein. Auf der Grundlage unserer Erfahrungen mit anderen Betriebssystemen werden wir alle gebräuchlichen Verbesserungen vornehmen; insbesondere sind längere Dateinamen geplant, Datei-Versionsnummern, ein absturzsicheres Dateisystem, eventuell Dateinamen-Komplettierung, terminalunabhängige Ausgabe und schließlich ein auf Lisp basierendes Window-System, durch welches mehrere Lisp-Programme und gewöhnliche Unix-Programme ein- und denselben Bildschirm miteinander teilen können. Sowohl C als auch Lisp werden als Systemsprogrammiersprachen verfügbar sein. Für die Kommunikation beabsichtigen wir, UUCP, MIT-Chaosnet sowie die Internet-Protokolle zu unterstützen.
GNU zielt zunächst auf Maschinen der 68000/16000-Klasse mit virtuellem Speicher, weil es auf diesen am leichtesten lauffähig gemacht werden kann. Die Zusatzarbeit, es auf kleinere Maschinen zu portieren, überlassen wir jemandem, der es auf diesen verwenden will.
Um fürchterliche Verwechselungen zu vermeiden, sprechen Sie bitte auch im Englischen das »G« in »GNU« mit aus.
Warum ich GNU schreiben muß
Ich glaube, daß es das Gebot der Nächstenliebe verlangt, daß ich ein Programm, das mir gefällt, mit anderen teile, denen es ebenfalls gefällt. Software-Anbieter hingegen wollen die Anwender isolieren und beherrschen, wobei sie jeden Anwender dazu verpflichten, nicht mit anderen zu teilen. Ich weigere mich, die Solidarität mit anderen Anwendern in dieser Weise zu brechen. Ich kann nicht mit gutem Gewissen einen Nichtoffenbarungsvertrag oder einen Software-Lizenzvertrag unterzeichnen.
Damit ich ehrlich bleiben und trotzdem weiterhin Computer benutzen kann, habe ich mich entschlossen, eine genügend große Sammlung von freier Software zusammenzustellen, so daß ich in der Lage sein werde, ohne jegliche nicht-freie Software auszukommen. Ich habe meinen Beruf im AI lab aufgegeben, um dem MIT keinen rechtlichen Vorwand zu bieten, mich daran zu hindern, GNU weiterzugeben.
Warum GNU Unix-kompatibel sein wird
Unix ist nicht mein ideales Betriebssystem, aber es ist nicht übel. Die wesentlichen Eigenschaften von Unix scheinen gut zu sein, und ich denke, daß ich fehlendes ergänzen kann, ohne die guten Eigenschaften zu verderben. Außerdem wird ein Unix-kompatibles System für viele Menschen eher annehmbar sein.
Wie GNU erhältlich sein wird
GNU ist nicht in der public domain. Zwar wird jedem gestattet sein, GNU zu modifizieren und weiterzugeben, aber keinem Distributor wird es erlaubt sein, die Weiterverbreitung von GNU einzuschränken; sprich: proprietäre Modifikationen werden nicht erlaubt sein. Ich möchte sicherstellen, daß alle Versionen von GNU frei bleiben.
Warum viele andere Programmierer mithelfen wollen
Ich habe viele andere Programmierer gefunden, die vom GNU-Projekt begeistert sind und ihre Hilfe anbieten.
Viele Programmierer sind mit der Kommerzialisierung von Systemsoftware unzufrieden. Es mag ihnen die Möglichkeit geben, mehr Geld zu machen, aber es zwingt sie gleichzeitig, andere Programmierer im allgemeinen als Gegner anstatt als Kameraden zu betrachten. Der fundamentale Akt der Freundschaft zwischen Programmierern ist das Teilen von Programmen; derzeitige Vermarktungspraktiken verbieten Programmierern im wesentlichen, sich gegenseitig als Freunde zu behandeln. Der Käufer von Software hat die Wahl zwischen Freundschaft und Gesetzestreue. Naturgemäß entscheiden viele, daß Freundschaft für sie wichtiger ist, aber diejenigen, welche an das Gesetz glauben, haben eine schwere Entscheidung. Sie werden zynisch und betrachten Programmierung nur noch als eine Möglichkeit, Geld zu machen.
Wenn wir an und mit GNU anstelle von proprietären Programmen arbeiten, können wir gleichzeitig zu jedem gastfreundlich sein und dem Gesetz genügen. Außerdem dient GNU uns als inspirierendes Beispiel und als Banner, andere zu sammeln, um sich uns beim Teilen anzuschließen. Dies kann uns ein Gefühl der Harmonie bringen, das beim Gebrauch nicht-freier Software unmöglich wäre. Für jeden zweiten Programmierer, mit dem ich gesprochen habe, ist dies ein wichtiges Glück, das durch Geld nicht ersetzt werden kann.
(...)
|