[DE |
EN |
FR |
JA |
ES]
Willkommen zu einer weiteren Ausgabe von Georg's Brave GNU World. Um
die Routine etwas aufzubrechen, fange ich diesmal auf der rechtlichen
Seite an, um dann über die technische zur gesellschaftlichen zu
kommen, da ich gebeten wurde, wieder mehr hierzu zu schreiben.
Dies ist aus mehreren Gründen sehr wichtig. Zunächst einmal ist gerade die Software ein Gebiet, in dem die Gesetzgebung noch im Aufbau ist und wir brauchen kompetente Juristen, die dafür sorgen, daß die Gesetze ausreichend Raum für Freie Software lassen. Außerdem benötigen alle größeren Firmen eine gewisse Rechtssicherheit bei ihren Tätigkeiten, und durch das ifrOSS kann diese gewährleistet werden.
Speziell zur Rechtssicherheit der GNU General Public License, nach der in der Vergangenheit von vielen Firmen gefragt wurde, gibt es bereits eine interessante Studie "Open Source Software und deutsches Urheberrecht" von Axel Metzger und Till Jaeger, den Gründern des ifrOSS, die auf der Homepage verfügbar ist [6].
Die Studie kommt zu dem Ergebnis, daß sich die GNU General Public License relativ problemlos in das deutsche Urheberrecht einfügt auch wenn einige Klauseln in Deutschland nicht wirksam werden. Probleme könnte es beispielsweise bei "künstlerisch gestalteter Software" geben, deren Veränderung eine Integritätsverletzung nach dem §14 UrhG darstellen könnte. Zudem kann die Entwicklung neuer Nutzungsarten im Sinne des § 31 Abs. 4 UrhG Probleme aufwerfen. Wichtiger ist sicherlich der Ausschluß von Gewährleistung und Haftung, die vor dem AGBG keinen Bestand hat. Gerade in Fällen, wo die Software unter das Kaufrecht fällt, können sich Gewährleistung und Haftung erheblich ausweiten.
Interessant ist auch der abschließende Kommentar der Studie, daß der Erfolg und die Marktpräsenz von GNU/Linux den Entlohnungsgedanken des Urheberrechts auf den Kopf stellen könnte. Auf die daraus hervorgehenden Diskussionen darf man mit Recht gespannt sein.
Was ich mir in diesem Zusammenhang wünschen würde, wäre ein Überspringen dieses Konzepts auf andere Länder und eine globale Vernetzung dieser Institute zu einer Art "Legal FSF." Dies könnte den Erfolg Freier Software und die Verbreitung der Freiheit nachhaltig fördern, da es sie einerseits schützt und andererseits mehr Firmen die Möglichkeit gibt, daran teilzunehmen.
Damit komme ich zum technischen Teil dieser Ausgabe.
Da vielen Leuten der Begriff "Message Oriented Middleware" zunächst einmal nichts sagen wird, sollte ich wohl eine Kleinigkeit dazu schreiben. MOM kommt immer dann zum Einsatz, wenn Informationen in einem heterogenen Netzwerk ausgetauscht werden sollen, bei denen die verschiedenen Teilnehmer unterschiedliche Protokolle verwenden. Das klassische Beispiel ist ein über das ganze Land verteiltes Netz von Fahrkartenautomaten, die von mehreren Herstellern stammen und daher mit unterschiedlichen Sprachen von unterschiedlichen Teams programmiert wurden. Soll nun beispielsweise der Preis für eine Fahrkarte verändert werden, so benötigt man einen Vermittler, der die Nachricht "neuer Fahrkartenpreis" in das korrekte Format der einzelnen Maschinen übersetzt und weiterleitet. Zudem müssen die Antworten (in diesem Fall Erfolg/Fehler) wieder in eine Form übersetzt werden, die das Verwaltungsprogramm versteht. Diese Aufgabe erfüllt Message Oriented Middleware wie der xmlBlaster. Wer hier übrigens Parallelen zu Jabber aus der vorherigen Ausgabe sieht, hat gut aufgepasst.
Auch der xmlBlaster beruht auf einem Client/Server Modell, bei dem der Server aber in purem Java geschrieben ist und auf jeder Plattform mit dem JDK >= 1.2 laufen sollte. Bei den Clients gibt es die (nahezu) freie Wahl. Beispielclients für Java, Perl, C/C++ sind bereits in der Distribution, die Beispiele für Tcl und Python sind in Arbeit.
Die Kommunikation mit dem Server basiert auf CORBA, und es ist möglich, die Nachrichten über XPath Ausdrücke zu filtern. Falls CORBA als Kommunikationsprotokoll ungeeignet sein sollte, lassen sich jedoch auch email oder http als Plug-ins verwenden. Wie der Name bereits suggeriert, sind die einzelnen Nachrichten XML-kodiert, es lassen sich daher beliebige Daten (auch binäre) übertragen.
Mögliche Anwendungen sind weit gefasst und in letzter Konsequenz kommt fast jedes Projekt in Frage, bei dem die instantane Kommunikation mehrerer Programme/Rechner eine Rolle spielt. Obwohl xmlBlaster noch recht neu ist, ist es bereits einsetzbar und ich kann interessierten Entwicklern nur nahelegen, mal einen Blick darauf zu werfen.
Scheme ist eine extrem mächtige Hochsprache aus der LISP Familie, die ursprünglich von Guy Lewis Steele Jr. und Gerald Jay Sussman entwickelt wurde. Damit steht in Scsh-Skripten auch das volle Programm an Typen zur Verfügung: Listen, Vektoren, Prozeduren, Hashtables, Zahlen usw. Da Scheme Syntax ist zudem erweiterbar, sie kann an bestimmte Anwendungsgebiete angepasst werden.
Mit der Scsh kann man einerseits normale Shellskripte schreiben; unterstützt wird dies auch durch eine spezielle Notation zur Programmausführung und für Pipelines und I/O-Umleitung. Doch die Scsh eignet sich darüberhinaus auch zur Systemprogrammierung. Sie bietet einen direkten Zugriff auf die gesamten Posix Systemfunktionen zusammen mit Erweiterungen wie z.B. ein vollständiger Support von Sockets. Damit lassen sich Systemprogramme statt in C auch in Scheme schreiben. So hat der "Scheme Underground" [9] am MIT, der auch die Scsh Entwicklung betreibt, beispielsweise einen kompletten HTTP-Server in Scsh geschrieben, der am MIT eingesetzt wird.
Es wurde bei dem Design der Scsh besonderer Wert darauf gelegt, den Betriebssystem-Zugriff sauber zu gestalten um eine maximale Portierbarkeit zu erreichen. So läuft die Scsh auf allen Systemen, auf der die Scheme 48 VM kompiliert werden kann, welche üblicherweise nur einen C-Compiler benötigt. Auch das Betriebssystems-Interface ist sehr portabel und die Scsh wird bereits erfolgreich auf allen verfügbaren 32-Bit Unix-Derivaten eingesetzt ohne daß das Interface angepaßt werden mußte. Nur mit Portierungen zu nicht 32-Bit Maschinen gibt es momentan noch Probleme. Außerdem fehlt der Thread-Support und der Startup ist noch zu langsam, doch daran wird gearbeitet.
Damit möchte ich den technischen Teil für diesen Monat schließen und mich einem Thema nähern, das normalerweise nicht unbedingt mit Software und Computern in Verbindung gebracht wird.
Ausgelöst wurde dieser Beitrag durch die Werbung der deutschen "Wirtschaftswoche," die große Plakate über die Stadt verteilt hat, auf denen "Jede Generation hat Ihre Vorbilder" zu lesen ist. Das Bild dazu zeigt Steinbüsten von Julius Caesar, Napoleon Bonaparte und Bill Gates. Wäre nicht Bill Gates auf diesem Plakat vertreten, hätte ich es wohl für einen etwas mißglückten Scherz gehalten, doch da es hier um die Wirtschaftswoche geht und Bill Gates der reichste Mann der Welt ist, muß es wohl ernst genommen werden.
Was sagt es aus, diese Menschen zu Vorbildern zu erklären? Julius Caesar und Napoleon Bonaparte waren machtbesessene Eroberer und Egomanen, deren Feldzüge Hunderttausende ins Elend gestürzt haben - auch wenn es ihrem eigenen Volk dadurch zwischenzeitlich besser ging. An irgendeinem Punkt haben beide den Kontakt zur Realität verloren und wähnten sich allmächtig. Caesar rief sich zum Diktator aus und wurde ermordet, während Napoleon sich übernahm und ins Exil geschickt wurde. Wäre auf dem Bild mehr Platz, hätten vermutlich auch Attila und Dschinghis Khan gut in die Reihe gepasst. Sie alle sind bestimmt historische Gestalten, die die Welt verändert haben. Aber Vorbilder?
Ohne das Konterfei von Bill Gates wäre der Bezug zum GNU Projekt vermutlich nicht so leicht zu erkennen. Doch wie auch das Gericht in den Vereinigten Staaten mittlerweile festgestellt hat, weist sein Geschäftsgebaren durchaus Ähnlichkeiten zu den obigen Beispielen auf.
Vermutlich ging es der Wirtschaftswoche eher um die Macht, die mit diesen Personen verbunden war bzw. ist. Doch ich finde es höchst fragwürdig, die bloße Anhäufung von Macht auf Kosten anderer zu dem zum Vorbild prädestinierenden Merkmal zu machen.
Womit ich bei dem gesellschaftlichen Aspekt des GNU Projektes angekommen bin. Es wird die Freiheit der Software propagiert. Auch weil dies zu besserer Software führt, aber eben nicht nur. Es geht darum, die eigene Energie auf etwas zu verwenden was einem selbst und auch allen Anderen nützt ohne direkt auf Kosten der Mitmenschen zu gehen. Dies wird von den Meisten für Altruismus gehalten, doch die Tätigkeit ist nicht selbstlos. Die Programme werden für den eigenen Vorteil geschrieben - unabhängig davon, wie dieser konkret aussehen mag. Denkbar ist hierbei eine große Zahl an Motiven: Spaß an der Sache, Aufbau der Reputation, direkte Bezahlung, Altruismus und vieles mehr. Altruismus ist eben nur ein mögliches Motiv, nicht das hauptsächliche.
Letzten Endes geht es darum, sich einen eigenen Platz zum Leben zu schaffen, der den Rest der Menschheit so wenig wie möglich beeinträchtigt bzw. ihm sogar nützt. Dabei müssen die Menschen jedoch nicht notwendigerweise gut sein. Es kann sogar eine nahezu unbegrenzte Anzahl von "Parasiten" geben, die friedlich koexistieren, da sie dem Rest nicht den Lebenssaft abdrehen können. In der Software wird dies durch die GNU General Public License gewährleistet, die es zwar jedem erlaubt, an diesen Programmen teilzuhaben, jedoch Änderungen zwangsweise auch wieder der Allgemeinheit zugute kommen läßt. Tatsächlich stärken in diesem Fall die "Parasiten" die Bewegung sogar, da sie sich auf deren Produkte stützen und damit indirekt diese zum Maß der Dinge erheben.
Wie es in der Software-Welt funktioniert, ist relativ leicht ersichtlich. Doch der Gedanke läßt sich auch auf andere Gebiete übertragen - auch wenn dies zum Teil nicht unmittelbar deutlich wird. Der erste Schritt müßte dabei wohl die Schaffung eines Äquivalents zur GNU GPL sein, die die Beiträge des Einzelnen vor Mißbrauch schützt und sie dabei den Anderen zugänglich macht.
Auch wenn dieser Vorwurf gerade in der Anfangszeit immer wieder aufgekommen ist, hat dies übrigens nichts mit Kommunismus zu tun. Der Kommunismus geht von einem selbstlosen Menschen aus und greift zudem das Eigentum an, was bei den Meisten von uns - auch mir - ein Gefühl von Unsicherheit und Angst auslöst.
Es geht bei dem GNU Projekt vielmehr um eine Form des "selbstsüchtigen Teilens," bei der jeder zwar den eigenen Vorteil sucht, aber bereit ist, andere daran teilhaben zu lassen, sofern es ihn selbst nicht beeinträchtigt.
Auch wenn ich keine Ahnung habe, ob ich mich verständlich machen konnte, hoffe ich doch, ein paar Lesern zumindest eine interessante Gedankenspielerei eröffnet zu haben. Wenn ihr damit nichts anfangen konntet, dann fühlt Euch dazu ermuntert, diesen Beitrag zu ignorieren.
Infos |
[1] Ideen, Anregungen, Kommentare an die Brave GNU World:
column@gnu.org
|
Please send FSF & GNU inquiries & questions to
gnu@gnu.org.
There are also other ways to contact the FSF.
Please send comments on Georg's Brave GNU World (in English or German) to
column@gnu.org,
send comments on these web pages to
webmasters@www.gnu.org,
send other questions to
gnu@gnu.org.
Copyright (C) 2000 Georg C. F. Greve
Permission is granted to make and distribute verbatim copies of this transcript as long as the copyright and this permission notice appear.
30 May 2000 tower