Alexander Bernauer
Datenschleuder #85, Seite 10-14
Article:
Der CCC Ulm hat zwei Chaosseminare zum Thema Softwarepatente veranstaltet. Am 13. Oktober 2003 hat
Christian Cremer, Patentanwalt aus Neu-Ulm, das Patentsystem allgemein und den Übergang zu
Softwarepatenten aus seiner Sicht als Patentanwalt dargestellt. Am 4. November 2004 hat
Richard M. Stallman einen Vortrag über die Gefahren derSoftwarepatente gehalten. Stallman ist als Gründer der Free Software Foundation und der
GNU Bewegung besonders engagiert im Kampf gegen
Softwarepatente. Jedoch wird nicht nur freie Software von Softwarepatenten bedroht, sondern fast
alle, die im Bereich Informationstechnik tätig sind, und im Grunde auch jeder Endanwender. Dieser
Artikel greift die Inhalte und die Argumentationen aus beiden Vorträgen auf und gibt einen Überblick
über Softwarepatente und ihre Konsequenzen.
Ein Patente ist ein Monopol auf die Verwendung einer Idee. Softwarepatente sind damit Monopole auf die Verwendung von Ideen, die man in Software einsetzen könnte. Wichtig dabei ist, dass sich ein Softwarepatent sich nicht auf ein komplettes Programm bezieht, sondern auf eine Idee, die in vielen verschiedenen Programmen eingesetzt werden könnte.
Die ursprüngliche Idee des deutschen Patentsystems war, Erfindern einen Investitionsschutz zu gewähren und dafür im Gegenzug das neue Wissen für die Allgemeinheit zu erhalten. Jemand forscht an einer neuen Sache und veröffentlicht die Ergebnisse. Im Gegenzug bekommt er ein Monopol zur wirtschaftlichen Ausbeutung seiner Ergebnisse, um seine Investitionen für die Forschung wieder rein zu holen und Gewinn mit seiner Arbeit erzielen zu können. Nach einer gewissen Zeit läuft das Patent aus und das Wissen wird zum Allgemeingut. Der gewünschte Effekt des Patentsystems ist also die Förderung von Investitionen in die Forschung und damit die Förderung von Innovationen.
Damit eine Idee in Deutschland patentierbar ist, muss sie vier Kriterien erfüllen.
Um für eine Idee einen Patentschutz in Deutschland zu erlangen muss man eine Anmeldung beim zuständigen Patentamt abgeben und eine Gebühr bezahlen. Nach einer formalen Überprüfung der Anmeldung folgt die Recherche zum Thema und die Offenlegung der originalen Anmeldeunterlagen. Anschließen kommt es zur materiellen Prüfung in der sich ein technischer Patentprüfer mit den Ergebnissen der Recherche beschäftigt und die Patentierbarkeit der Idee überprüft. Er entscheidet dann, ob das Patent erteilt wird, oder nicht. Wird es erteilt, so kann jeder dritte ein Einspruchsverfahren starten, in dem er eigenes Material zur Erneuten materiellen Prüfung vorlegt. Das kann dazu führen, dass die Erteilung des Patentes zurückgezogen wird. Nach einer gewissen Frist erlischt die Möglichkeit, ein Einspruchsverfahren anzustreben. Es bleibt jedoch die Möglichkeit, ein Nichtigkeitsverfahren anzustreben, bei dem sich ein Gericht mit der Gültigkeit eines Patentes beschäftigt.
Patente werden oft mit Copyright oder Urheberrecht in einen Topf geworfen. Das ist aber gänzlich falsch. Das Urheberrecht schützt die Arbeit des Erfinders, also eine konkrete Umsetzung einer Idee. Ein Patent bezieht sich aber auf die Idee selber und somit auf alle möglichen Arbeiten, die diese Idee umsetzen. Wenn jemand ein Programm schreibt, so kann er sicher sein, kein Urheberrecht zu verletzen, wenn er nichts kopiert hat. Nicht zu kopieren heißt aber nicht, dass man sicher kein Patent verletzt. Ein weiterer wichtiger Unterschied ist, dass der Schutz des Urheberrechts auf eine Arbeit automatisch wirksam ist, während man für eine Patentanmeldung drei Dinge braucht: Geld, Zeit und das Glück, es als Erster angemeldet zu haben.
Im Lauf der Jahre hat sich die Praxis des Patentwesens von der anfänglichen Idee wegbewegt und widerspricht mittlerweile den Grundsätzen von damals. Klar ist, dass man als Unternehmen zwar den Patentschutz für eine Idee haben, der Konkurrenz aber trotzdem so wenig Wissen wie möglich darüber vermitteln möchte. Das führt dazu, dass die Patentschriften mit Absicht nur so viel über die Idee aussagen, um im Zweifelsfall mit ein wenig Interpretationshilfe ein Gericht überzeugen zu können, und sonst keine weiteren Details oder gar Hilfestellungen für einen Leser beinhalten. Die Kunst beim Formulieren von Patentschriften, diesen schmalen Grat nicht zu verlassen, ist das Handwerk der Patentanwälte. Damit wird der Vorteil eines Patentes für das Allgemeinwohl, die Erhaltung von Wissen über Neues, geschwächt.
Die schwammige Formulierungen in Patentschriften führen dazu, dass sich ein Patentprüfer schwer tut, einen Antrag zu bearbeiten. Verständlich, dass sich ein Einzelner schwer tut, innerhalb kurzer Zeit zu entscheiden, ob alle Kriterien für die Patentierbarkeit erfüllt sind. Da es für einen Patentprüfer mehr Arbeit bedeutet, ein Patent abzulehnen, wird er es im Zweifelsfall eher akzeptiert. Die Konsequenz sind Trivialpatente, mehrere Patente auf die selbe Idee und Patente auf bereits bekannte Ideen, wofür es jeweils genügend Beispiele gibt, wie z.B. ein Patent auf das Rad, das 2001 in Australien erteilt wurde.
Das Kriterium "Technizität" verhinderte bislang die Patentierbarkeit von Software. Natürlich ist eine exakte Trennung zwischen Softwarepatent und technischem Patent nicht einfach. In der Grauzone bewegt sich z.b. Software, die als zusätzlichen Seiteneffekt irgendwo ein Lämpchen blinken lässt. Da ein technisches Merkmal genügt, ist damit die Hürde der Technizität genommen. So gibt es mittlerweile eine Reihe von Patenten dieser Bauart, die sich eigentlich auf Software beziehen. Dazu kommt jetzt, dass man das Technizitätskriterium so erweitern möchte, dass es offiziell möglich ist, Software zu patentieren.
Falls Softwarepatente eingeführt werden, wird sich ein Programmierer überlegen müssen, was zu tun ist, um sicher kein Patent zu verletzen. Man müsste alle Ideen, die in der Software Verwendung finden auflisten und einzeln auf die Existenz von Patenten abprüfen. Das ist aber im Allgemeinen unmöglich. Zunächst einmal ist es nicht leicht, wirklich alle Strukturen und Ideen einer Software zu finden. Das liegt daran, dass man ein Programm auf viele verschiedene Arten strukturieren kann. Zum Beispiel könnte man die Granularität bei der Analyse verändern und bekäme damit ein ganz anderes Bild von Einzelkomponenten und ihrem Zusammenspiel. Das Erstellen einer erschöpfenden Liste aller verwendeter Ideen erfordert eine viel höhere mentale Fähigkeit als das Schreiben des Programms.
Angenommen man hätte aber tatsächlich die vollständige Liste der verwendeten Ideen: dann wäre es immer noch unmöglich, für jede Idee herauszufinden, ob sie patentiert ist. Das liegt zum einen an den so genannten schwebenden Patenten. Das sind Anmeldungen auf Patente, die zwar schon eingereicht aber noch nicht veröffentlicht wurden. Es kann also sein, dass sich erst später herausstellt, dass man ein Patent verletzt, ohne dass man eine Chance gehabt hätte, das im Vorfeld in Erfahrung zu bringen. Beispiel dafür ist die LZW Komprimierung, die im GNU Programm compress eingesetzt werden sollte. Kurze Zeit vor dem Release der Software wurde ein US Patent auf diesen Algorithmus erteilt. Selbst wenn man ein eigenes Patent für die Idee beantragt, bringt das in diesem Fall nichts, weil bei einem Konflikt immer derjenige den Zuschlag vom Patentamt bzw. vor Gericht erhält, der seinen Antrag als erster eingereicht hat. Ein weiteres Problem ist die Masse der existierenden Patente. Es sind so viele, dass das Durchforsten aller möglicherweise relevanten Patente bei weitem länger dauert, als das Schreiben der Software selber. Hinzu kommen die schwammigen und unklaren Formulierungen in Patenttexten, die die TTU (Time-To-Understanding) massiv verlängern. Stallman erwähnte zum Beispiel ein US Patent auf topologische Sortierung, in dessen Patenttext der Begriff "topologische Sortierung" kein einziges Mal auftaucht.
Es bleibt einem als Programmierer also nichts weiter übrig, als zu hoffen, kein Patent zu verletzen. Alternativ bleibt die Hoffnung, dass es niemandem auffällt, wenn man doch eines verletzt. Richard Stallman beschreibt das bildhaft als "mit verbundenen Augen durch ein Minenfeld laufen (mit dem Unterschied, dass Minen nur einmal explodieren)".
Falls man trotz aller Vorsicht ein Patent mit seiner Software verletzt, stellt sich die Frage, was man tun kann. Erstens kann man versuchen, die Verwendung der patentierten Idee zu vermeiden. Das kann einfach sein, es kann aber auch beliebig schwer werden. So gibt es zum Beispiel ein US Patent auf die Fast Fourier Transformation (FFT). Wenn man eine Software geschrieben hat, die die FFT verwendet, so kann man vielleicht auf die normale Fourier Transformation zurück greifen, da diese nicht patentiert ist. Wenn die Software aber ohnehin schon selbst auf den größten Maschinen am Resourcenlimit kratzt, so ist sie unbrauchbar, wenn man keine FFT einsetzen kann. Ein anderer Fall, in dem man nicht auf die Verwendung einer Idee verzichten kann, sind Spezifikationen, die die Verwendung bestimmter patentierter Algorithmen vorschreiben. Beispiele dafür sind PostScript und GIF. Die Implementierung gemäß der Spezifikation kann man vielleicht nicht umgehen, weil es sich um einen de-facto oder gar öffentlichen Standard handelt. Der Sinn von Software ist ja, dass sie benutzt wird. Wenn einer Software die Unterstützung vieler Standards fehlt, so wird sie keine Akzeptanz bei Benutzern finden und ihre Entwicklung damit sinnlos werden. Das gleiche gilt für Elemente der grafischen Benutzerschnittstelle, an die sich die Benutzer so gewöhnt haben, dass es schwer fällt, einen Ersatz zu finden, der das selbe vermittelt und vom Benutzer akzeptiert wird. Ein Beispiel dafür ist der Fortschrittsbalken. Ein Problem hat man auch, wenn man es mit einem Patent zu tun hat, das eine ganze Familie von Ideen abdeckt. Ein Beispiel dafür sind US Patente auf Public-Key-Kryptographie. Hier kann man nicht auf die Verwendung der Idee verzichten, weil die Wissenschaft keine Alternativen kennt.
Eine zweite Möglichkeit im Falle der Verletzung eines Patents ist es, eine Lizenz für die Nutzung zu erlangen. Diese Lizenz stellt grundsätzlich der Inhaber des Patents aus. Er ist dazu aber nicht verpflichtet. Auch für die Nutzungsbedingungen gibt es keinen Rahmen, so dass man der Willkür des Inhabers ausgeliefert ist. Zusätzlich ist es so, dass man vielleicht mehr als eine Lizenz kaufen muss, weil mehr als ein Patent verletzt oder mehrere Patente auf die selbe Idee existieren. Letzteres darf zwar gemäß Patentrecht nicht sein, kommt in der Realität aufgrund der schwammigen Formulierungen in den Patenttexten aber durchaus vor. Die Kosten für Lizenzen sind damit ein unkalkulierbares Risiko für Unternehmen. Erfahrungen aus den USA zeigen, dass wenige Lizenzen genügen, um den Business Plan eines Unternehmens zu sprengen und damit seinen Tod zu bedeuten.
Als letzte Möglichkeit bleibt ein Nichtigkeitsverfahren anzustreben. Man müsste dafür zeigen, dass eines der Kriterien für dieses Patent zum Vergabezeitpunkt nicht erfüllt war. Außer dem Neuheitskriterium sind alle anderen subjektiver Natur, so dass ein Gericht im Allgemeinen wahrscheinlich die damalige Entscheidung des Beamten respektieren wird. Es bleibt also nur die Möglichkeit, Beweise dafür zu finden, dass die Idee damals nicht neu war. Das kann in Einzelfällen gelingen. Im Allgemeinen gibt es jedoch selten beglaubigte Dokumente, die den Einsatz einer Idee zu einem bestimmten Zeitpunkt bestätigen. Selbst wenn man den Prozess gewinnt, so hat man viel Geld und Zeit verloren, was wieder die meisten Business Pläne sprengen dürfte.
Alle drei Möglichkeiten können gangbare Wege sein. Im Allgemeinen wird man jedoch selten das Glück haben, für jedes Patent, das man verletzt, einen der Wege gehen zu können und dabei insgesamt zu überleben. Scheitert man ein Mal, ist das Projekt tot. Und dabei ist im Vorfeld nicht abzusehen, mit wie vielen Forderungen von Patentinhabern man konfrontiert werden wird. In der Konsequenz werden sich weniger Unternehmer auf dieses unkalkulierbare Spiel einlassen, so dass die Einführung von Softwarepatenten für die Softwarebranche weniger Investition und damit weniger Innovation bedeuten würde. Beides Dinge, die das Patentwesen eigentlich fördern wollte.
Softwarepatente haben jedoch nicht nur Nachteile, sonst würde es niemanden geben, der ihre Einführung fordern würde. Der Vorteil von Patenten ist im Allgemeinen, dass man Geld durch die Vergabe von Lizenzen verdienen kann. Außerdem hat man ein Instrument zur Kontrolle des Marktes, weil man Konkurrenten beliebig ausschalten kann, wenn man ein Patent auf eine Schlüsseltechnologie besitzt. Dafür braucht man aber Patentanwälte, die bezahlt werden wollen. Außerdem kann es ebenso gut sein, dass ein Konkurrent ein Patent auf eine Schlüsseltechnologie besitzt, was für das eigene Unternehmen negative Konsequenzen haben kann.
Der Nachteil von Softwarepatenten überwiegt also den Vorteil deutlich, so dass sich die berechtige Frage stellt, wie sich das überhaupt für irgend ein Unternehmen rechnen kann. Der Antwort darauf lautet: Lizenzaustausch. Die Idee ist folgende: man hat stapelweise Patente, so dass man einen Patentinhaber im Falle einer Verletzung seines Patentes seinerseits wegen Patentverletzung verklagen kann. Das funktioniert, weil sich in der Menge der schwammig formulierten Patente im Normalfall immer mindestens eines finden lässt, gegen das der andere mit etwas Interpretationshilfe verstößt. Diese Situation der gegenseitigen Forderung lässt sich dann einfach auflösen, in dem man sich gegenseitig Lizenzen zur Verwendung des Patentes gibt.
Die Anmeldungen und die Verwaltung der Patente, das Finden von günstigen Patenten, die sich für Forderungen gegenüber andere eignen sowie das Aushandeln und Verwalten der Lizenzen ist ein sehr großer Aufwand, für den ein Unternehmen im Normalfall eine eigene Abteilung mit Patentanwälten braucht. Es ist klar, dass sich das nicht jedes Unternehmen leisten kann. Daher sind es meistens Megakonzerne, die diese Strategie verfolgen. Es folgt, dass man nur Zugang zu gewissen Technologien bekommt, wenn man zum Kreis der Megakonzerne gehört und sich damit den Zugang erzwingen kann. Der Nachteil der Softwarepatente, das unvorhersagbare Belangen durch Patentinhaber, ist somit kompensiert und es bleiben die Einnahmen durch Lizenzen und die Kontrolle des Marktes.
Vor allem in der Informatikbranche ist die Kontrolle des Marktes ein wichtiger Punkt. Zum einen gibt es fast monatlich neue Technologien und Ideen, die in ein Produkt implementiert Erfolg am Markt bringen können. Diese Schnellebigkeit der Branche macht es aber für marktkontrollierende Unternehmen schwer, den Überblick zu behalten. Außerdem braucht es im Gegensatz zum Ingenieurwesen viel weniger Startkapital, um ein Unternehmen zu gründen und mit Hilfe einer guten Idee Erfolg am Markt zu erlangen. Im Zweifelsfall tun es ein paar PCs aus dem nächsten Supermarkt und eine Hand voll Entwickler. In der Konsequenz gibt es ständig neue Unternehmen, die aus dem Nichts hervortreten und den Etablierten den Markt streitig machen. Mit Hilfe von Softwarepatenten wäre die Gefahr für Megakonzerne gebannt.
Ironischerweise lässt sich das am besten an Hand einer Argumentation von Befürwortern zeigen, und zwar am Mythos des 'Starving Genius' (verhungerndes Genie): Gegeben ein Genie, das eine tolle Erfindung hat und sich jahrelang in seiner Garage einschließt um die Idee zu implementieren. Wenn er damit fertig ist, gründet er ein Unternehmen, um die Früchte seine Arbeit zu ernten. Jetzt kommen aber die etablierten Konzerne der Branche, klauen ihm die Idee und drücken mit ihren Kapitalreserven die Marktpreise. Das arme Genie kann diesem Konkurrenzdruck nicht Stand halten, weil ihm das Kapital fehlt. Er geht zu Grunde. Das Patentsystem soll ihn jetzt vor den Großen schützen, da diese seine patentierte Idee nicht klauen dürfen und er somit in Ruhe sein geniales Produkt kommerziell verwerten kann. Hört sich gut an.
Doch die Realität ist eine andere. Das Genie wird zwar - mit etwas Geld und Geduld - ein Patent auf seine Idee erhalten, und ein Konkurrent wird dann seine Idee nicht klauen dürfen, da er sonst das Patent verletzt. Im Gegenzug jedoch verletzt das Genie mit seiner Software sehr wahrscheinlich gleich mehrere Patente von Megakonzernen. Das liegt ganz einfach daran, dass die Konzerne so viele schwammige Patente besitzen, dass sich mit hoher Wahrscheinlichkeit einige finden lassen, die sich auf irgend einen Teil der Software des Genies beziehen. Das Genie sieht sich somit mit einer Gegenforderung konfrontiert. Als einzigen Ausweg bietet die Konkurrenz einen Lizenzaustausch an. Wenn das Genie es nicht schafft, die Forderungen abzuwehren ohne dabei finanziell zu Grunde zu gehen, ist sein Unternehmen tot. Geht er auf den Lizenzaustausch ein, gibt er sein Monopol auf seine Idee auf, so dass der Megakonzern nun doch mit ihm auf dem Markt konkurrieren kann. Beide Fälle sollte das Patentsystem eigentlich verhindern.
Eine anderes Argument von Befürwortern ist, dass es in anderen Branchen auch Patente gibt. Warum nicht in der Informatik? Auch hier wollen Unternehmen Investitionsschutz. Wo ist der Unterschied? Grundsätzlich gilt es hier zu bedenken, dass diese Argumentation nur greift, wenn man das Patentsystem an sich als etwas Positives anerkennt. Ohne die Grundlagen des Patentsystems hier diskutieren zu wollen, wirft zumindest die gängige Praxis schwere Zweifel am Vorteil für die Allgemeinheit auf. Doch selbst wenn die Praxis den eigentlichen Ideen des Patentsystems folgen würde, gibt es grundsätzliche Unterschiede zwischen der Informatik und Ingenieurbranchen, so dass die Voraussetzungen für ein Patentsystem mit Vorteil für die Allgemeinheit nicht gegeben sind.
Software ist Mathematik. Eine Software läuft auf einer universellen Maschine mit einer Spezifikation. Diese Spezifikation ist eine mathematische Beschreibung der Funktionalität der Maschine. Die Anwendung dieses universellen Maschine, ein Programm, ist damit eine Sammlung von mathematischen Beschreibungen. Es liegt in der Natur von mathematischen Beschreibungen, dass sie umformuliert werden können, ohne ihre Aussage zu ändern. Der Zusammenhang zwischen zwei mathematischen Beschreibungen für die selbe Aussage ist im Allgemeinen nicht offensichtlich. Deshalb kann es einem Patentprüfer einfach passieren, dass er ein Patent auf eine Idee vergibt, die eigentlich schon patentiert ist; noch eher als bei technischen Patenten, wo das selbe allein auf Grund der schwammigen Formulierungen in den Patenttexten in der Vergangenheit schon geschehen ist. "Ein Patent pro Idee" wird sich also für Softwarepatente kaum halten lassen, was jedoch ein zentraler Aspekt eines Patentsystem ist.
Viele Probleme eines Ingenieurs stellen sich für einen Informatiker gar nicht: Resonanzfrequenzen, EMV, Verschleiß, Robustheit gegenüber Umwelteinflüssen, usw. Vor allem gibt es in der Informatik keine Diskrepanzen zwischen den Modellen und der Realität. Wenn man annimmt, dass Informatiker und Ingenieure im Schnitt die selbe Intelligenz besitzen, dann folgt daraus, dass ein Software viel komplexer aufgebaut werden kann, bevor die Probleme darin die mentalen Fähigkeiten des Entwicklers überschreiten. Je komplexer ein System ist, desto mehr Einzelkomponenten sind im Allgemeinen darin verbaut. Deshalb verletzt eine typische Software gleich mehrere Softwarepatente, was u.a. dem starving Genious das Genick bricht.
Alle oben beschriebenen Probleme mit der gängigen Praxis bei Patenten würden sich bei Softwarepatenten ergeben, selbst wenn die gängige Praxis sich an die Ideen des Patentsystems halten würde. Realistisch betrachtet werden sich also die Probleme mit Patenten für die Informatikbranche verschärfen. Eine geschlossene Gemeinschaft von Megakonzernen wird sich bilden, die sich den Markt aufteilen und gemeinsam kontrollieren. Für den Endanwender bedeutet das, dass es kaum Alternativen zu einer Software geben wird, und man sich mit seinen Wünschen komplett in der Hand und damit in der Willkür einzelner Unternehmen befindet.
Die Investitionskosten in der Informatikbranche sind im Vergleich zu denen aus Ingenieurbranchen sehr viel kleiner. Das liegt daran, dass man keine Labore und Produktionshallen mit vielen Auflagen, teure Messgeräte, Maschinen und Spezialwerkzeug braucht. Der Investitionsschutz ist deshalb nicht so zentral wie in anderen Branchen. Deshalb stellt sich die Frage, ob es hier auch legitim ist, dafür die Freiheitsrechte anderer zu beschränken und es staatlich durchzusetzen, was das Patentsystem tut.
Es wird argumentiert, dass es falsch wäre, wenn sich andere an den Früchten der Arbeit eines Erfinders bereichern. Deshalb muss ein Patentsystem her, auch in der Informatik. Das ist aber falsch. Man tut dabei so, als ob die geniale Idee aus dem Nichts entstanden wäre, ohne jegliches Vordenken und ohne Inspiration durch Ideen anderer. Das ist aber fast nie der Fall. Warum darf der Erfinder alles Vorwissen umsonst nehmen um es dann, wenn er es mit einer Idee von sich angereichert hat, auf einmal den anderen vorzuenthalten? Das ist nicht konsequent. Man müsste alle seine Vordenker entlohnen, und eigentlich deren Vordenker auch. Es ist klar, das das nicht praktikabel ist, weshalb es auch niemand ernsthaft fordert. Doch eigentlich ist es der einzig richtige Weg, wenn man die Entlohnung von Erfindern verlangt. Deshalb ist diese Forderung falsch.
Richard Stallman vergleicht Software mit Musik. Beides ist eine Komposition von bekannten Einzelteilen und bei beiden besteht die Kunst darin, bekannte Elemente so zusammenzusetzen, dass schöne Musik bzw. gute Software entsteht. Ab und zu findet jemand ein neues Element das er in ein Gesamtwerk aus sonst bekannten Elementen einbettet. Angenommen, es gäbe Patente auf Musik. Wie genial hätte dann ein Mozart oder ein Beethoven sein müssen, um Musik zu komponieren, die erstens von den Leuten akzeptiert wird und zweitens keine bis dahin bekannten Elemente verwendet? Da der Sinn von Musik ist, gehört zu werden, würde ein Komponist mit diesem Problem konfrontiert werden. Genau das selbe Problem hat ein Programmierer, der Software schreiben will, die vom Benutzer verwendet wird. Es ist einfach nicht möglich, Software zu schreiben, ohne dabei bekannte Ideen zu verwenden.
Ein Patente ist ein Monopol auf die Verwendung einer Idee. Softwarepatente sind damit Monopole auf die Verwendung von Ideen, die man in Software einsetzen könnte. Wichtig dabei ist, dass sich ein Softwarepatent sich nicht auf ein komplettes Programm bezieht, sondern auf eine Idee, die in vielen verschiedenen Programmen eingesetzt werden könnte.
Die ursprüngliche Idee des deutschen Patentsystems war, Erfindern einen Investitionsschutz zu gewähren und dafür im Gegenzug das neue Wissen für die Allgemeinheit zu erhalten. Jemand forscht an einer neuen Sache und veröffentlicht die Ergebnisse. Im Gegenzug bekommt er ein Monopol zur wirtschaftlichen Ausbeutung seiner Ergebnisse, um seine Investitionen für die Forschung wieder rein zu holen und Gewinn mit seiner Arbeit erzielen zu können. Nach einer gewissen Zeit läuft das Patent aus und das Wissen wird zum Allgemeingut. Der gewünschte Effekt des Patentsystems ist also die Förderung von Investitionen in die Forschung und damit die Förderung von Innovationen.
Damit eine Idee in Deutschland patentierbar ist, muss sie vier Kriterien erfüllen.
- Neuheit: Nach dem absoluten Neuheitsbegriff muss unter Berücksichtigung des allgemeinen Fachwissens zum Prioritätszeitpunkt die Erfindung neu sein. Das bedeutet auch, dass es nicht mehrere Patente auf die selbe Idee geben kann.
- Schöpfungshöhe: Unter Berücksichtigung des Standes der Technik und den Fähigkeiten des Durschnittsfachmanns muss es sich um eine erfinderische Tätigkeit handeln. Das bedeutet insbesondere, dass die aufgezeigte Lösung nicht nahe liegend sein darf. Trivialpatente sind damit ausgeschlossen.
- gewerbliche Anwendung: das Erfundene muss seiner Art nach geeignet sein, um in einem technischen Gewerbebetrieb hergestellt oder angewendet zu werden.
- Technizität: die Erfindung muss technisch sein. Die gültige Definition von Technizität ist: planmäßiges Handeln unter Einsatz von beherrschbaren Naturkräften zur Erzielung eines kausal übersehbaren Erfolges ohne menschliche Verstandestätigkeit zwischen zuschalten, wobei der kausal übersehbare Erfolg die unmittelbare Folge des Einsatzes beherrschbarer Naturkräfte ist.
Um für eine Idee einen Patentschutz in Deutschland zu erlangen muss man eine Anmeldung beim zuständigen Patentamt abgeben und eine Gebühr bezahlen. Nach einer formalen Überprüfung der Anmeldung folgt die Recherche zum Thema und die Offenlegung der originalen Anmeldeunterlagen. Anschließen kommt es zur materiellen Prüfung in der sich ein technischer Patentprüfer mit den Ergebnissen der Recherche beschäftigt und die Patentierbarkeit der Idee überprüft. Er entscheidet dann, ob das Patent erteilt wird, oder nicht. Wird es erteilt, so kann jeder dritte ein Einspruchsverfahren starten, in dem er eigenes Material zur Erneuten materiellen Prüfung vorlegt. Das kann dazu führen, dass die Erteilung des Patentes zurückgezogen wird. Nach einer gewissen Frist erlischt die Möglichkeit, ein Einspruchsverfahren anzustreben. Es bleibt jedoch die Möglichkeit, ein Nichtigkeitsverfahren anzustreben, bei dem sich ein Gericht mit der Gültigkeit eines Patentes beschäftigt.
Patente werden oft mit Copyright oder Urheberrecht in einen Topf geworfen. Das ist aber gänzlich falsch. Das Urheberrecht schützt die Arbeit des Erfinders, also eine konkrete Umsetzung einer Idee. Ein Patent bezieht sich aber auf die Idee selber und somit auf alle möglichen Arbeiten, die diese Idee umsetzen. Wenn jemand ein Programm schreibt, so kann er sicher sein, kein Urheberrecht zu verletzen, wenn er nichts kopiert hat. Nicht zu kopieren heißt aber nicht, dass man sicher kein Patent verletzt. Ein weiterer wichtiger Unterschied ist, dass der Schutz des Urheberrechts auf eine Arbeit automatisch wirksam ist, während man für eine Patentanmeldung drei Dinge braucht: Geld, Zeit und das Glück, es als Erster angemeldet zu haben.
Im Lauf der Jahre hat sich die Praxis des Patentwesens von der anfänglichen Idee wegbewegt und widerspricht mittlerweile den Grundsätzen von damals. Klar ist, dass man als Unternehmen zwar den Patentschutz für eine Idee haben, der Konkurrenz aber trotzdem so wenig Wissen wie möglich darüber vermitteln möchte. Das führt dazu, dass die Patentschriften mit Absicht nur so viel über die Idee aussagen, um im Zweifelsfall mit ein wenig Interpretationshilfe ein Gericht überzeugen zu können, und sonst keine weiteren Details oder gar Hilfestellungen für einen Leser beinhalten. Die Kunst beim Formulieren von Patentschriften, diesen schmalen Grat nicht zu verlassen, ist das Handwerk der Patentanwälte. Damit wird der Vorteil eines Patentes für das Allgemeinwohl, die Erhaltung von Wissen über Neues, geschwächt.
Die schwammige Formulierungen in Patentschriften führen dazu, dass sich ein Patentprüfer schwer tut, einen Antrag zu bearbeiten. Verständlich, dass sich ein Einzelner schwer tut, innerhalb kurzer Zeit zu entscheiden, ob alle Kriterien für die Patentierbarkeit erfüllt sind. Da es für einen Patentprüfer mehr Arbeit bedeutet, ein Patent abzulehnen, wird er es im Zweifelsfall eher akzeptiert. Die Konsequenz sind Trivialpatente, mehrere Patente auf die selbe Idee und Patente auf bereits bekannte Ideen, wofür es jeweils genügend Beispiele gibt, wie z.B. ein Patent auf das Rad, das 2001 in Australien erteilt wurde.
Das Kriterium "Technizität" verhinderte bislang die Patentierbarkeit von Software. Natürlich ist eine exakte Trennung zwischen Softwarepatent und technischem Patent nicht einfach. In der Grauzone bewegt sich z.b. Software, die als zusätzlichen Seiteneffekt irgendwo ein Lämpchen blinken lässt. Da ein technisches Merkmal genügt, ist damit die Hürde der Technizität genommen. So gibt es mittlerweile eine Reihe von Patenten dieser Bauart, die sich eigentlich auf Software beziehen. Dazu kommt jetzt, dass man das Technizitätskriterium so erweitern möchte, dass es offiziell möglich ist, Software zu patentieren.
Falls Softwarepatente eingeführt werden, wird sich ein Programmierer überlegen müssen, was zu tun ist, um sicher kein Patent zu verletzen. Man müsste alle Ideen, die in der Software Verwendung finden auflisten und einzeln auf die Existenz von Patenten abprüfen. Das ist aber im Allgemeinen unmöglich. Zunächst einmal ist es nicht leicht, wirklich alle Strukturen und Ideen einer Software zu finden. Das liegt daran, dass man ein Programm auf viele verschiedene Arten strukturieren kann. Zum Beispiel könnte man die Granularität bei der Analyse verändern und bekäme damit ein ganz anderes Bild von Einzelkomponenten und ihrem Zusammenspiel. Das Erstellen einer erschöpfenden Liste aller verwendeter Ideen erfordert eine viel höhere mentale Fähigkeit als das Schreiben des Programms.
Angenommen man hätte aber tatsächlich die vollständige Liste der verwendeten Ideen: dann wäre es immer noch unmöglich, für jede Idee herauszufinden, ob sie patentiert ist. Das liegt zum einen an den so genannten schwebenden Patenten. Das sind Anmeldungen auf Patente, die zwar schon eingereicht aber noch nicht veröffentlicht wurden. Es kann also sein, dass sich erst später herausstellt, dass man ein Patent verletzt, ohne dass man eine Chance gehabt hätte, das im Vorfeld in Erfahrung zu bringen. Beispiel dafür ist die LZW Komprimierung, die im GNU Programm compress eingesetzt werden sollte. Kurze Zeit vor dem Release der Software wurde ein US Patent auf diesen Algorithmus erteilt. Selbst wenn man ein eigenes Patent für die Idee beantragt, bringt das in diesem Fall nichts, weil bei einem Konflikt immer derjenige den Zuschlag vom Patentamt bzw. vor Gericht erhält, der seinen Antrag als erster eingereicht hat. Ein weiteres Problem ist die Masse der existierenden Patente. Es sind so viele, dass das Durchforsten aller möglicherweise relevanten Patente bei weitem länger dauert, als das Schreiben der Software selber. Hinzu kommen die schwammigen und unklaren Formulierungen in Patenttexten, die die TTU (Time-To-Understanding) massiv verlängern. Stallman erwähnte zum Beispiel ein US Patent auf topologische Sortierung, in dessen Patenttext der Begriff "topologische Sortierung" kein einziges Mal auftaucht.
Es bleibt einem als Programmierer also nichts weiter übrig, als zu hoffen, kein Patent zu verletzen. Alternativ bleibt die Hoffnung, dass es niemandem auffällt, wenn man doch eines verletzt. Richard Stallman beschreibt das bildhaft als "mit verbundenen Augen durch ein Minenfeld laufen (mit dem Unterschied, dass Minen nur einmal explodieren)".
Falls man trotz aller Vorsicht ein Patent mit seiner Software verletzt, stellt sich die Frage, was man tun kann. Erstens kann man versuchen, die Verwendung der patentierten Idee zu vermeiden. Das kann einfach sein, es kann aber auch beliebig schwer werden. So gibt es zum Beispiel ein US Patent auf die Fast Fourier Transformation (FFT). Wenn man eine Software geschrieben hat, die die FFT verwendet, so kann man vielleicht auf die normale Fourier Transformation zurück greifen, da diese nicht patentiert ist. Wenn die Software aber ohnehin schon selbst auf den größten Maschinen am Resourcenlimit kratzt, so ist sie unbrauchbar, wenn man keine FFT einsetzen kann. Ein anderer Fall, in dem man nicht auf die Verwendung einer Idee verzichten kann, sind Spezifikationen, die die Verwendung bestimmter patentierter Algorithmen vorschreiben. Beispiele dafür sind PostScript und GIF. Die Implementierung gemäß der Spezifikation kann man vielleicht nicht umgehen, weil es sich um einen de-facto oder gar öffentlichen Standard handelt. Der Sinn von Software ist ja, dass sie benutzt wird. Wenn einer Software die Unterstützung vieler Standards fehlt, so wird sie keine Akzeptanz bei Benutzern finden und ihre Entwicklung damit sinnlos werden. Das gleiche gilt für Elemente der grafischen Benutzerschnittstelle, an die sich die Benutzer so gewöhnt haben, dass es schwer fällt, einen Ersatz zu finden, der das selbe vermittelt und vom Benutzer akzeptiert wird. Ein Beispiel dafür ist der Fortschrittsbalken. Ein Problem hat man auch, wenn man es mit einem Patent zu tun hat, das eine ganze Familie von Ideen abdeckt. Ein Beispiel dafür sind US Patente auf Public-Key-Kryptographie. Hier kann man nicht auf die Verwendung der Idee verzichten, weil die Wissenschaft keine Alternativen kennt.
Eine zweite Möglichkeit im Falle der Verletzung eines Patents ist es, eine Lizenz für die Nutzung zu erlangen. Diese Lizenz stellt grundsätzlich der Inhaber des Patents aus. Er ist dazu aber nicht verpflichtet. Auch für die Nutzungsbedingungen gibt es keinen Rahmen, so dass man der Willkür des Inhabers ausgeliefert ist. Zusätzlich ist es so, dass man vielleicht mehr als eine Lizenz kaufen muss, weil mehr als ein Patent verletzt oder mehrere Patente auf die selbe Idee existieren. Letzteres darf zwar gemäß Patentrecht nicht sein, kommt in der Realität aufgrund der schwammigen Formulierungen in den Patenttexten aber durchaus vor. Die Kosten für Lizenzen sind damit ein unkalkulierbares Risiko für Unternehmen. Erfahrungen aus den USA zeigen, dass wenige Lizenzen genügen, um den Business Plan eines Unternehmens zu sprengen und damit seinen Tod zu bedeuten.
Als letzte Möglichkeit bleibt ein Nichtigkeitsverfahren anzustreben. Man müsste dafür zeigen, dass eines der Kriterien für dieses Patent zum Vergabezeitpunkt nicht erfüllt war. Außer dem Neuheitskriterium sind alle anderen subjektiver Natur, so dass ein Gericht im Allgemeinen wahrscheinlich die damalige Entscheidung des Beamten respektieren wird. Es bleibt also nur die Möglichkeit, Beweise dafür zu finden, dass die Idee damals nicht neu war. Das kann in Einzelfällen gelingen. Im Allgemeinen gibt es jedoch selten beglaubigte Dokumente, die den Einsatz einer Idee zu einem bestimmten Zeitpunkt bestätigen. Selbst wenn man den Prozess gewinnt, so hat man viel Geld und Zeit verloren, was wieder die meisten Business Pläne sprengen dürfte.
Alle drei Möglichkeiten können gangbare Wege sein. Im Allgemeinen wird man jedoch selten das Glück haben, für jedes Patent, das man verletzt, einen der Wege gehen zu können und dabei insgesamt zu überleben. Scheitert man ein Mal, ist das Projekt tot. Und dabei ist im Vorfeld nicht abzusehen, mit wie vielen Forderungen von Patentinhabern man konfrontiert werden wird. In der Konsequenz werden sich weniger Unternehmer auf dieses unkalkulierbare Spiel einlassen, so dass die Einführung von Softwarepatenten für die Softwarebranche weniger Investition und damit weniger Innovation bedeuten würde. Beides Dinge, die das Patentwesen eigentlich fördern wollte.
Softwarepatente haben jedoch nicht nur Nachteile, sonst würde es niemanden geben, der ihre Einführung fordern würde. Der Vorteil von Patenten ist im Allgemeinen, dass man Geld durch die Vergabe von Lizenzen verdienen kann. Außerdem hat man ein Instrument zur Kontrolle des Marktes, weil man Konkurrenten beliebig ausschalten kann, wenn man ein Patent auf eine Schlüsseltechnologie besitzt. Dafür braucht man aber Patentanwälte, die bezahlt werden wollen. Außerdem kann es ebenso gut sein, dass ein Konkurrent ein Patent auf eine Schlüsseltechnologie besitzt, was für das eigene Unternehmen negative Konsequenzen haben kann.
Der Nachteil von Softwarepatenten überwiegt also den Vorteil deutlich, so dass sich die berechtige Frage stellt, wie sich das überhaupt für irgend ein Unternehmen rechnen kann. Der Antwort darauf lautet: Lizenzaustausch. Die Idee ist folgende: man hat stapelweise Patente, so dass man einen Patentinhaber im Falle einer Verletzung seines Patentes seinerseits wegen Patentverletzung verklagen kann. Das funktioniert, weil sich in der Menge der schwammig formulierten Patente im Normalfall immer mindestens eines finden lässt, gegen das der andere mit etwas Interpretationshilfe verstößt. Diese Situation der gegenseitigen Forderung lässt sich dann einfach auflösen, in dem man sich gegenseitig Lizenzen zur Verwendung des Patentes gibt.
Die Anmeldungen und die Verwaltung der Patente, das Finden von günstigen Patenten, die sich für Forderungen gegenüber andere eignen sowie das Aushandeln und Verwalten der Lizenzen ist ein sehr großer Aufwand, für den ein Unternehmen im Normalfall eine eigene Abteilung mit Patentanwälten braucht. Es ist klar, dass sich das nicht jedes Unternehmen leisten kann. Daher sind es meistens Megakonzerne, die diese Strategie verfolgen. Es folgt, dass man nur Zugang zu gewissen Technologien bekommt, wenn man zum Kreis der Megakonzerne gehört und sich damit den Zugang erzwingen kann. Der Nachteil der Softwarepatente, das unvorhersagbare Belangen durch Patentinhaber, ist somit kompensiert und es bleiben die Einnahmen durch Lizenzen und die Kontrolle des Marktes.
Vor allem in der Informatikbranche ist die Kontrolle des Marktes ein wichtiger Punkt. Zum einen gibt es fast monatlich neue Technologien und Ideen, die in ein Produkt implementiert Erfolg am Markt bringen können. Diese Schnellebigkeit der Branche macht es aber für marktkontrollierende Unternehmen schwer, den Überblick zu behalten. Außerdem braucht es im Gegensatz zum Ingenieurwesen viel weniger Startkapital, um ein Unternehmen zu gründen und mit Hilfe einer guten Idee Erfolg am Markt zu erlangen. Im Zweifelsfall tun es ein paar PCs aus dem nächsten Supermarkt und eine Hand voll Entwickler. In der Konsequenz gibt es ständig neue Unternehmen, die aus dem Nichts hervortreten und den Etablierten den Markt streitig machen. Mit Hilfe von Softwarepatenten wäre die Gefahr für Megakonzerne gebannt.
Ironischerweise lässt sich das am besten an Hand einer Argumentation von Befürwortern zeigen, und zwar am Mythos des 'Starving Genius' (verhungerndes Genie): Gegeben ein Genie, das eine tolle Erfindung hat und sich jahrelang in seiner Garage einschließt um die Idee zu implementieren. Wenn er damit fertig ist, gründet er ein Unternehmen, um die Früchte seine Arbeit zu ernten. Jetzt kommen aber die etablierten Konzerne der Branche, klauen ihm die Idee und drücken mit ihren Kapitalreserven die Marktpreise. Das arme Genie kann diesem Konkurrenzdruck nicht Stand halten, weil ihm das Kapital fehlt. Er geht zu Grunde. Das Patentsystem soll ihn jetzt vor den Großen schützen, da diese seine patentierte Idee nicht klauen dürfen und er somit in Ruhe sein geniales Produkt kommerziell verwerten kann. Hört sich gut an.
Doch die Realität ist eine andere. Das Genie wird zwar - mit etwas Geld und Geduld - ein Patent auf seine Idee erhalten, und ein Konkurrent wird dann seine Idee nicht klauen dürfen, da er sonst das Patent verletzt. Im Gegenzug jedoch verletzt das Genie mit seiner Software sehr wahrscheinlich gleich mehrere Patente von Megakonzernen. Das liegt ganz einfach daran, dass die Konzerne so viele schwammige Patente besitzen, dass sich mit hoher Wahrscheinlichkeit einige finden lassen, die sich auf irgend einen Teil der Software des Genies beziehen. Das Genie sieht sich somit mit einer Gegenforderung konfrontiert. Als einzigen Ausweg bietet die Konkurrenz einen Lizenzaustausch an. Wenn das Genie es nicht schafft, die Forderungen abzuwehren ohne dabei finanziell zu Grunde zu gehen, ist sein Unternehmen tot. Geht er auf den Lizenzaustausch ein, gibt er sein Monopol auf seine Idee auf, so dass der Megakonzern nun doch mit ihm auf dem Markt konkurrieren kann. Beide Fälle sollte das Patentsystem eigentlich verhindern.
Eine anderes Argument von Befürwortern ist, dass es in anderen Branchen auch Patente gibt. Warum nicht in der Informatik? Auch hier wollen Unternehmen Investitionsschutz. Wo ist der Unterschied? Grundsätzlich gilt es hier zu bedenken, dass diese Argumentation nur greift, wenn man das Patentsystem an sich als etwas Positives anerkennt. Ohne die Grundlagen des Patentsystems hier diskutieren zu wollen, wirft zumindest die gängige Praxis schwere Zweifel am Vorteil für die Allgemeinheit auf. Doch selbst wenn die Praxis den eigentlichen Ideen des Patentsystems folgen würde, gibt es grundsätzliche Unterschiede zwischen der Informatik und Ingenieurbranchen, so dass die Voraussetzungen für ein Patentsystem mit Vorteil für die Allgemeinheit nicht gegeben sind.
Software ist Mathematik. Eine Software läuft auf einer universellen Maschine mit einer Spezifikation. Diese Spezifikation ist eine mathematische Beschreibung der Funktionalität der Maschine. Die Anwendung dieses universellen Maschine, ein Programm, ist damit eine Sammlung von mathematischen Beschreibungen. Es liegt in der Natur von mathematischen Beschreibungen, dass sie umformuliert werden können, ohne ihre Aussage zu ändern. Der Zusammenhang zwischen zwei mathematischen Beschreibungen für die selbe Aussage ist im Allgemeinen nicht offensichtlich. Deshalb kann es einem Patentprüfer einfach passieren, dass er ein Patent auf eine Idee vergibt, die eigentlich schon patentiert ist; noch eher als bei technischen Patenten, wo das selbe allein auf Grund der schwammigen Formulierungen in den Patenttexten in der Vergangenheit schon geschehen ist. "Ein Patent pro Idee" wird sich also für Softwarepatente kaum halten lassen, was jedoch ein zentraler Aspekt eines Patentsystem ist.
Viele Probleme eines Ingenieurs stellen sich für einen Informatiker gar nicht: Resonanzfrequenzen, EMV, Verschleiß, Robustheit gegenüber Umwelteinflüssen, usw. Vor allem gibt es in der Informatik keine Diskrepanzen zwischen den Modellen und der Realität. Wenn man annimmt, dass Informatiker und Ingenieure im Schnitt die selbe Intelligenz besitzen, dann folgt daraus, dass ein Software viel komplexer aufgebaut werden kann, bevor die Probleme darin die mentalen Fähigkeiten des Entwicklers überschreiten. Je komplexer ein System ist, desto mehr Einzelkomponenten sind im Allgemeinen darin verbaut. Deshalb verletzt eine typische Software gleich mehrere Softwarepatente, was u.a. dem starving Genious das Genick bricht.
Alle oben beschriebenen Probleme mit der gängigen Praxis bei Patenten würden sich bei Softwarepatenten ergeben, selbst wenn die gängige Praxis sich an die Ideen des Patentsystems halten würde. Realistisch betrachtet werden sich also die Probleme mit Patenten für die Informatikbranche verschärfen. Eine geschlossene Gemeinschaft von Megakonzernen wird sich bilden, die sich den Markt aufteilen und gemeinsam kontrollieren. Für den Endanwender bedeutet das, dass es kaum Alternativen zu einer Software geben wird, und man sich mit seinen Wünschen komplett in der Hand und damit in der Willkür einzelner Unternehmen befindet.
Die Investitionskosten in der Informatikbranche sind im Vergleich zu denen aus Ingenieurbranchen sehr viel kleiner. Das liegt daran, dass man keine Labore und Produktionshallen mit vielen Auflagen, teure Messgeräte, Maschinen und Spezialwerkzeug braucht. Der Investitionsschutz ist deshalb nicht so zentral wie in anderen Branchen. Deshalb stellt sich die Frage, ob es hier auch legitim ist, dafür die Freiheitsrechte anderer zu beschränken und es staatlich durchzusetzen, was das Patentsystem tut.
Es wird argumentiert, dass es falsch wäre, wenn sich andere an den Früchten der Arbeit eines Erfinders bereichern. Deshalb muss ein Patentsystem her, auch in der Informatik. Das ist aber falsch. Man tut dabei so, als ob die geniale Idee aus dem Nichts entstanden wäre, ohne jegliches Vordenken und ohne Inspiration durch Ideen anderer. Das ist aber fast nie der Fall. Warum darf der Erfinder alles Vorwissen umsonst nehmen um es dann, wenn er es mit einer Idee von sich angereichert hat, auf einmal den anderen vorzuenthalten? Das ist nicht konsequent. Man müsste alle seine Vordenker entlohnen, und eigentlich deren Vordenker auch. Es ist klar, das das nicht praktikabel ist, weshalb es auch niemand ernsthaft fordert. Doch eigentlich ist es der einzig richtige Weg, wenn man die Entlohnung von Erfindern verlangt. Deshalb ist diese Forderung falsch.
Richard Stallman vergleicht Software mit Musik. Beides ist eine Komposition von bekannten Einzelteilen und bei beiden besteht die Kunst darin, bekannte Elemente so zusammenzusetzen, dass schöne Musik bzw. gute Software entsteht. Ab und zu findet jemand ein neues Element das er in ein Gesamtwerk aus sonst bekannten Elementen einbettet. Angenommen, es gäbe Patente auf Musik. Wie genial hätte dann ein Mozart oder ein Beethoven sein müssen, um Musik zu komponieren, die erstens von den Leuten akzeptiert wird und zweitens keine bis dahin bekannten Elemente verwendet? Da der Sinn von Musik ist, gehört zu werden, würde ein Komponist mit diesem Problem konfrontiert werden. Genau das selbe Problem hat ein Programmierer, der Software schreiben will, die vom Benutzer verwendet wird. Es ist einfach nicht möglich, Software zu schreiben, ohne dabei bekannte Ideen zu verwenden.
No comments:
Post a Comment