English [en]   Deutsch [de]   español [es]   français [fr]   italiano [it]   Nederlands [nl]   polski [pl]   русский [ru]  

Knock: Eine Abrissbirne für HACIENDA

GNU-Hacker eröffneten das GHM mit Offenlegung des offensiven HACIENDA als globales Überwachungsprogramm zur vollständigen Kolonisierung des Netzes, und wie man es mit TCP Stealth ausknockt! Jetzt angucken! [mehr]

Dieses Werk ist eine Übersetzung aus dem Englischen.

Anatomie eines trivialen Patents

von Richard Stallman

Programmierer sind sich dessen sehr wohl bewusst, dass viele der bereits vorhandenen Softwarepatente lächerlich offensichtliche Ideen abdecken. Dennoch argumentieren die Verfechter des Patentsystems häufig, dass diese Ideen nicht trivial seien, sondern erst im Nachhinein offensichtlich sind. Und es ist überraschenderweise schwer, sie bei Debatten zu besiegen. Woran liegt das?

Ein Grund ist, dass man jede Idee komplex aussehen lassen kann, wenn man sie zu Tode analysiert. Ein anderer Grund ist, dass diese trivialen Ideen, wie sie in den Patenten selbst beschrieben werden, oft ziemlich komplex aussehen. Die Verfechter des Patentsystems können auf diese komplexe Beschreibung hinweisen und sagen: „Wie kann etwas so kompliziertes offensichtlich sein?“

Ich erläutere dies anhand eines Beispiels. Hier ist Patentanspruch Nr. 1 aus US-Patent 5.963.916, angemeldet im Oktober 1996:

„1. Ein Verfahren, einem entfernten Benutzer ‚Remotebenutzer‘ zu ermöglichen, auf einen Ausschnitt eines voraufgezeichneten Musikprodukts von einer Netzwebseite mit vorausgewählten Ausschnitten von verschiedenen voraufgezeichneten Musikprodukten Probehören zu lassen, mit Hilfe eines Rechners, eines Bildschirms und einer bestehenden Telekommunikationsverbindung zwischen dem Rechner des entfernten Benutzers und der Netzwebseite, wobei das Verfahren folgende Schritte umfasst:

  • a) den Rechner des entfernten Benutzers zu benutzen, um eine Telekommunikationsverbindung zur Netzwebseite aufzubauen, wobei die Netzwebseite (i) einen zentralen Hostserver umfasst, der mit einem Kommunikationsnetzwerk verbunden ist, um auf Anfrage von einem entfernten Benutzer vorausgewählte Ausschnitte voraufgezeichneter Musikprodukte abzurufen und zu übermitteln und (ii) einem zentralen Speichergerät, um vorausgewählte Ausschnitte einer Vielzahl anderer voraufgezeichneter Musikprodukte zu speichern;
  • „b) Benutzeridentifikationsdaten vom Rechner des entfernten Benutzers an den zentralen Hostserver übermitteln, wodurch dem zentralen Hostserver möglich ist, den Fortschritt des Benutzers über die Netzwebseite zu identifizieren und zu verfolgen;“
  • „c) Auswählen von mindestens einem vorausgewählten Ausschnitt der voraufgezeichneten Musikprodukte vom zentralen Hostserver;“
  • „d) Empfangen des gewählten vorausgewählten Ausschnitts des voraufgezeichneten Musikprodukts und“
  • „e) Interaktives Probehören des empfangenen vorausgewählten Ausschnitts des voraufgezeichneten Musikprodukts.“

Das sieht wirklich nach einem komplexen System aus, nicht wahr? Sicherlich bedurfte es eines wirklich schlauen Typen, um darauf zu kommen? Nein, aber es bedurfte Geschick, um einen so komplexen Anschein zu erwecken! Analysieren wir, woher die Komplexität kommt:

„1. Ein Verfahren, einem entfernten Benutzer zu ermöglichen, auf einen Ausschnitt eines voraufgezeichneten Musikprodukts von einer Netzwebseite mit vorausgewählten Ausschnitten […] Probehören zu lassen …“

Das gibt den Hauptteil ihrer Idee an. Sie stellen Ausschnitte von bestimmten Musikstücken auf einem Server zur Auswahl, damit ein Nutzer sie anhören kann.

„… von verschiedenen voraufgezeichneten Musikprodukten …“

Das unterstreicht, dass ihre Server die Auswahl von mehr als einem Musikstück speichert.

Es ist ein Grundprinzip der Informatik, dass ein Rechner, der eine Sache einmal ausführen kann, diese Sache viele Male mit verschiedenen Daten zu jeder Zeit ausführen kann. Viele Patente geben an, dass die Anwendung dieses Prinzips auf einen konkreten Fall eine Erfindung macht.

„… mit Hilfe eines Rechners, eines Bildschirms und einer Telekommunikationsverbindung zwischen dem Rechner des entfernten Benutzers und der Netzwebseite …“

Das besagt, dass ein Server in einem Netzwerk benutzt wird.

„… wobei das Verfahren folgende Schritte umfasst:

a) den Rechner des entfernten Benutzers zu benutzen, um eine Telekommunikationsverbindung zur Netzwebseite aufzubauen …“

Das besagt, dass der Nutzer sich über das Netzwerk mit dem Server verbindet (so benutzt man einen Server nun mal).

„… wobei die Netzwebseite (i) einen zentralen Hostserver umfasst, der mit einem Kommunikationsnetzwerk verbunden ist …“

Das informiert uns darüber, dass der Server im Netz ist (was typisch für Server ist).

„… um auf Anfrage von einem entfernten Benutzer vorausgewählte Ausschnitte voraufgezeichneter Musikprodukte abzurufen und zu übermitteln …“

Dies wiederholt die allgemeine in den ersten beiden Zeilen angegebene Idee.

„… und (ii) einem zentralen Speichergerät, um vorausgewählte Ausschnitte einer Vielzahl anderer voraufgezeichneter Musikprodukte zu speichern;“

Sie haben beschlossen, eine Festplatte (oder äquivalentes) in ihren Rechner einzubauen und die Musikproben darauf zu speichern. Schon seit etwa 1980 ist das der normale Weg, um irgendetwas auf einem Rechner für den schnellen Zugriff zu speichern.

Beachten Sie, wie wiederholt betont wird, dass mehr als eine Auswahl auf dieser Festplatte gespeichert werden kann. Selbstverständlich ermöglicht jedes Dateisystem die Speicherung von mehr als einer Datei.

„b) Benutzeridentifikationsdaten vom Rechner des entfernten Benutzers an den zentralen Hostserver übermitteln, wodurch dem zentralen Hostserver möglich ist, den Fortschritt des Benutzers über die Netzwebseite zu identifizieren und zu verfolgen;“

Das bedeutet, es kann ständig nachvollzogen werden, wer Sie sind und worauf Sie zugreifen ‑ eine (jedoch unangenehme) Gemeinsamkeit von Webservern. Ich glaube, dass es bereits im Jahr 1996 üblich war.

„c) Auswählen von mindestens einem vorausgewählten Ausschnitt der voraufgezeichneten Musikprodukte vom zentralen Hostserver;“

In anderen Worten: der Nutzer klickt, um mitzuteilen, welchem Verweis gefolgt werden soll. Das ist für Webserver typisch; hätten sie einen anderen Weg dafür gefunden, wäre das vielleicht eine Erfindung gewesen.

„d) Empfangen des gewählten vorausgewählten Ausschnitts des voraufgezeichneten Musikprodukts und“

Wenn Sie einem Verweis folgen, liest Ihr Webbrowser den Inhalt. Das ist ein typisches Verhalten für Webbrowser.

„e) Interaktives Probehören des empfangenen vorausgewählten Ausschnitts des voraufgezeichneten Musikprodukts.“

Das besagt, Ihr Webbrowser spielt die Musik für Sie ab (genau das machen viele Webbrowser, wenn Sie einem Verweis zu einer Audiodatei folgen).

Nun sehen Sie, wie dieser Patentanspruch aufgebläht wurde, um ihn nach einer komplexen Idee aussehen zu lassen: sie kombinierten ihre eigene Idee (angegeben in zwei Textzeilen) mit wichtigen Aspekten von Rechnern, Netzwerken, Webservern und Webbrowsern. Das summiert sich zu der sogenannten Erfindung, für die sie das Patent erhielten.

Dies ist ein typisches Beispiel für Softwarepatente. Auch das seltene Patent, dessen Idee nicht trivial ist, hat die gleiche Art hinzugefügter Komplikation.

Sehen Sie sich nun folgenden Patentanspruch an:

„3. Die Verfahren gemäß Patentanspruch 1, wobei das zentrale Speichergerät aus einer Vielzahl von CD-ROMs besteht.“

Was sie hier sagen, ist: „Selbst wenn Sie nicht glauben, dass Patentanspruch Nr. 1 wirklich eine Erfindung ist, so ist die Verwendung von CD-ROMs, um Daten darauf zu speichern, sicherlich eine Erfindung. Ein durchschnittlicher Systementwickler hätte nie daran gedacht, Daten über eine CD zu speichern.“

Jetzt zum nächsten Patentanspruch:

„4. Das Verfahren gemäß Patentanspruch 1, wobei das zentrale Speichergerät aus einer redundanten Anordnung unabhängiger Festplatten (RAID) besteht.

Ein Raid-Array ist eine Anordnung von Festplatten, die wie eine einzelne große Festplatte arbeiten, mit der Besonderheit, dass, selbst wenn eine Festplatte einen Fehler aufweist und ausfällt, alle Daten immer noch auf den anderen Festplatten der Gruppe verfügbar sind. Solche Arrays konnten schon lange vor 1996 erworben werden und sind ein Standardverfahren, um Daten mit hoher Verfügbarkeit zu speichern. Diese brillianten Erfinder jedoch haben die Benutzung eines RAID-Arrays für diesen bestimmten Zweck patentiert.

So trivial es auch sein mag, würde dieses Patent selbst im Falle eines Prozesses nicht unbedingt außer Kraft gesetzt werden. Nicht nur das US-Patentamt, auch die Gerichte tendieren zur Anwendung eines sehr niedrigen Standards, wenn sie entscheiden, ob ein Patent nicht offensichtlich ist. Laut ihnen mag dieses Patent den Anforderungen genügen.

Darüber hinaus zögern Gerichte, sich über das Patentamt hinwegzusetzen; es gibt damit eine bessere Chance ein Patent aufzuheben, wenn man vor Gericht einen Stand der Technik nachweisen kann, den das Patentamt nicht berücksichtigte. Wenn die Gerichte bereit sind, einen höheren Standard bei der Beurteilung von Unoffensichtlichem zu erwägen, hilft dies, ihnen den Stand der Technik zu sichern. Dementsprechend könnten die Vorschläge, die das System verbessern sollen, indem dem Patentamt eine bessere Datenbank mit dem Stand der Technik bereit gestellt wird, die Dinge in Wirklichkeit verschlechtern.

Es ist sehr schwer, ein Patentsystem zu einer vernünftigen Handlungsweise zu bewegen; es ist eine komplizierte Bürokratie und folgt tendenziell seinen strukturellen Imperativen, ohne Rücksicht darauf, was es angeblich tun sollte. Der praktisch einzige Weg, um die vielen offensichtlichen Patente auf Softwarefunktionen und Geschäftspraktiken loszuwerden, ist, alle Patente in diesen Bereichen loszuwerden. Glücklicherweise wäre das kein Verlust: die nicht offensichtlichen Patente bewirken im Softwarebereich auch nichts Gutes. Was Softwarepatente bewirken, ist Softwareentwickler und -benutzer der Bedrohung auszusetzen.

Das Patentsystem soll, angeblich, den Fortschritt und jene fördern, die von Softwarepatenten profitieren und uns bitten, ohne Fragen zu stellen, zu glauben, dass sie diesen Effekt auch haben. Doch die Erfahrung der Programmierer zeigt anderes. Neue, theoretische Analysen legen dar, dass dies kein Paradoxon ist (siehe http://www.researchoninnovation.org/patent.pdf). Es gibt keinen Grund, warum die Gesellschaft Softwareentwickler und -benutzer den Gefahren von Softwarepatenten aussetzen sollte.

FSF„Unsere Mission ist die Freiheit zu bewahren, zu schützen und zu fördern, um Rechnersoftware nutzen, untersuchen, kopieren, modifizieren und weiterverbreiten zu können und die Rechte von Freie-Software-Nutzern zu verteidigen.“

Die Free Software Foundation ist der organisatorische Hauptsponsor des GNU-Betriebssystems. Unterstützen Sie GNU und die FSF durch den Kauf von Handbüchern und Kleidung, als assoziiertes Mitglied oder mit einer Spende direkt an die FSF oder via Flattr.

Zum Seitenanfang