49
in seiner allgemeinsten Form bis zum ausformulierten Computerprogramm. Eine
saubere Trennung im Sinne einer isolierten Betrachtung sprachlicher und funktioneller Bestandteile des Codes ist so gut wie nicht möglich, schon weil jede einzelne
Formulierung unmittelbar mit einer Funktionalität verknüpft ist. Algorithmus und
Code bilden mithin eine technische Einheit.
Kienzle108 bezeichnet beide unter Berücksichtigung dieser Abgrenzungsschwierigkeiten treffend als „die zwei Aspekte des Computerprogramms“.109 Einerseits
verkörpert das Computerprogramm eine Musterlösung des jeweiligen technischen
Problems, nämlich den Algorithmus, andererseits enthält es Befehle in sprachlicher
Ausgestaltung, die konkret genug sind, um die Durchführung der Operation zu veranlassen. Erst durch diese sprachliche Formulierung wird der Rechner veranlasst,
die vom Algorithmus vorgegebenen Organisationsschritte auszuführen. Codebestandteile, die völlig losgelöst vom Algorithmus als sprachliche Konstrukte betrachtet werden können, können daher allenfalls Kommentarzeilen sein, die mit der eigentlichen, durch den Algorithmus vorgegebenen Befehlsabfolge nichts zu tun haben. Dies ist bei der Untersuchung des urheberrechtlichen Schutzes zu beachten.
III. Allgemeingültige Definition des Computerprogramms
Eine ungefähre Vorstellung davon, was ein Computerprogramm ausmacht, hat wohl
fast jeder. Eine allgemeingültige Legaldefinition fehlt währenddessen im deutschen
und auch im europäischen Recht.110 Diese Lücke ist darauf zurückzuführen, dass der
Gesetzgeber bei der Formulierung der urheberrechtlichen Regelungen den Begriff
für den technischen Fortschritt offen halten wollte.111 Bemerkenswerter Weise hat es
vergleichbare Erwägungen im Patentrecht soweit ersichtlich nicht gegeben, wenngleich dieses sowohl auf deutscher als auch auf europäischer Ebene „Computerprogramme als solche“ vom Schutz ausnimmt und es hier gleichermaßen an einer Definition fehlt.
Die Überlegung des Gesetzgebers hat dazu geführt, dass mit jeder Untersuchung
des Themas stets aufs Neue versucht wird, eine Definition zu finden, die zur jeweiligen Schwerpunktsetzung passt. Daraus entsteht eine Vielfalt an rechtlichen Deutungsmöglichkeiten, die insbesondere im Hinblick auf das Patentrecht Rechtsunsi-
108 Kienzle, Die Patentierbarkeit von Computerprogrammen, 1975, S. 40.
109 Zum Begriff des Algorithmus auch schon Ulmer/Kolle, GRUR Int 1982, 489, 497; Erdmann,
CR 1986, 249, 253.
110 Das US-amerikanische Urheberrecht enthält demgegenüber in 17 U.S.C. §101 eine Definition. Zum europäischen Recht: Ohst, Computerprogramm und Datenbank, 2003, S. 5. Das Fehlen einer Definition wurde vor allem im Patentrecht auch schon als eine der Hauptschwierigkeiten im Zusammenhang mit Softwarepatenten bezeichnet, vgl. Laub, GRUR Int. 2006, 629,
630.
111 BT-Drs. 12/4022, S. 9. Einige Autoren gehen bis heute davon aus, dass eine rein juristische
Definition des Begriffs nicht gefunden werden kann, sondern dieser stets von der Technik beeinflusst sein muss, vgl. Koch, GRUR 2000, 191ff.
50
cherheit provoziert und außerdem unnötig ist. Das technische Grundverständnis dessen, was ein Computerprogramm ist, hat sich seit Erlass der RL 91/250/EWG nämlich nicht geändert. Es sind lediglich einige neue Entwicklungsformen hinzu gekommen. Darüber hinaus gibt es in der Informatik seit mehreren Jahren eine gängige
Definition, so dass sich das Argument, der Gegenstand sei zu schnelllebig um definiert werden zu können, als substanzlos erweist.
1. Technischer Programmbegriff – Die Turing-Maschine
Der Blick auf die Informatik zeigt, dass eine dauerhafte Definition des Computerprogramms entgegen der Auffassung des deutschen und europäischen Gesetzgebers112 durchaus möglich ist. Unter einem „Computerprogramm“ wird hier alles verstanden, was durch die sog. Turing-Maschine darstellbar ist.113 Diese Maschine, benannt nach ihrem Erfinder Alan Turing, ist das mathematische Modell einer universellen Rechenmaschine. Sie besteht aus einer Steuerungseinrichtung, die endlich
viele Zustände einnehmen kann, einem beweglichen Steuerungsband, auf dem eine
bestimmte Anzahl von Symbolen gespeichert werden kann und aus einem Schreibund Lesekopf, der durch die Steuerungseinrichtung gelenkt wird und an dafür bestimmten Stellen des Bandes Symbole schreiben oder lesen kann.114 Gibt der
Schreib- und Lesekopf ein bestimmtes Symbol an die Steuerungseinrichtung weiter,
so ordnet diese ihm ein bestimmtes Ergebnis oder einen nächsten Schritt zu und veranlasst so, dass der Kopf entweder das nächste Symbol liest oder ein bestimmtes anderes Symbol schreibt.
Die technische Besonderheit dieser Maschine lag darin, dass sie als erste Maschine nicht von vorn herein für eine bestimmte Aufgabe konzipiert war, sondern dass
sie ihre Eigenschaften mit jedem auf dem Steuerungsband fixierten „Programm“,
d.h. einer linearen Abfolge von Symbolen ändern konnte. Die Parallelen zu den heutigen Universalrechnern sind unübersehbar. Damit ist die Turing-Maschine Symbol
für den industriellen Zeitenwechsel: Die Funktion einer Maschine wird nicht mehr
durch ihre Konstruktion bestimmt und umgekehrt, sondern erst durch ein zusätzliches Element, dass die Abläufe steuert. Mit der Turing-Maschine lässt sich daher je
nach verwendetem Programm grundsätzlich alles berechnen, was mathematisch kalkulierbar ist. Sie ist „die Universalmaschine schlechthin“.115 Was heute unter dem
Begriff „Computer“ verstanden wird, ist nichts anderes als die digitale Weiterentwicklung dieser Maschine.116
112 BT-Drs. 12/2044, S. 10 unter Berufung auf ErwGr. 7 RL 91/250/EWG.
113 Die Turing-Maschine wurde 1936 von Alan Turing geschaffen. Vgl. dazu Turing, Proceedings of the London Mathematical Society 2nd Series 42 (1937), 230. (Deutsche Übersetzung
dieses Texts bei Dotzler (Hrsg.), Alan Turing – Intelligence Service, 1987, S. 19ff.)
114 Dazu ausführlich und verständlich Horns, GRUR 2001, 1, 5ff.
115 Horns, GRUR 2001, 1, 6.
116 Jede Datenverarbeitungsanlage ist die technische Realisation der abstrakten Turing-Maschine.
51
2. Juristischer Programmbegriff
Diese technische Definition wurde bei den Versuchen, eine juristisch verwendbare
Begriffsbestimmung zu finden, nur selten berücksichtigt, ja kaum einmal erwähnt.117
Dies mag einerseits daran liegen, dass es sich bei der Turing-Maschine um ein mathematisches Rechenmodell handelt, dessen Anwendung mit großer Rechtsunsicherheit behaftet ist.118 Andererseits ist die Ablehnung einer originär technischen Definition wohl auch darauf zurückzuführen, dass es schlicht juristischer Präzision und
Tradition entspricht, eigenständige Begriffsbestimmungen zu entwickeln.119
Ansätze, das Computerprogramm „für den juristischen Hausgebrauch“ begrifflich
zu umreißen, gibt es indessen – insbesondere im Bereich des Urheberrechts – zahlreiche, von denen sich bislang jedoch keiner endgültig durchsetzen konnte.120
Überwiegend anerkannt121 ist die Definition der WIPO122, die sich in § 1 (i) der
1977 veröffentlichten Mustervorschriften findet und der sich der BGH in seiner „Inkassoprogramm“-Entscheidung weitgehend angeschlossen hat.123 Demnach ist ein
Computerprogramm
„eine Folge von Befehlen, die nach Aufnahme in einen maschinenlesbaren Träger fähig sind
zu bewirken, dass eine Maschine mit informationsverarbeitenden Fähigkeiten eine bestimmte
Funktion oder Aufgabe ausführt.“
117 Eine Ausnahme macht Ohst, Computerprogramm und Datenbank, 2003, S. 18; Koch, GRUR
2000, 191, 195 spricht davon, dass es sich beim Computerprogramm um einen „informatiktechnischen“ Begriff handelt.
118 Zumal nicht alle mit Computerprogrammen beschäftigten Juristen technisch versiert genug
sein dürften, um die Definition sachgerecht anwenden zu können. Vgl. Ohst, Computerprogramm und Datenbank, 2003, S. 18.
119 So ausdrücklich BGHZ 149, 68, 73 – Suche fehlerhafter Zeichenketten, der sich vom Verständnis der „Computerfachleute“ differenziert. Dazu auch Ohst, Computerprogramm und
Datenbank, 2003, S. 18. Vollkommen außer acht gelassen werden darf der technische Aspekt
insbesondere im Hinblick auf die patentrechtliche Bedeutung des Computerprogramms jedoch nicht.
120 Vgl. dazu die Sammlung bei Ohst, Computerprogramm und Datenbank, 2003, S. 22f. Für das
Patentrecht vgl. exemplarisch Keukenschrijver, in: Busse, PatG, 6. Aufl. 2003, § 1 RdNr. 41;
Bacher/Mellulis, in: Benkard, PatG, 10. Aufl. 2006, § 1 RdNr. 105.
121 Vgl. nur Preuß, Rechtsschutz von Computerprogrammen, 1987, S. 11; Pres, Gestaltungsformen urheberrechtlicher Softwarelizenzverträge, 1904, S. 9; Haberstumpf, in: Lehmann,
Rechtsschutz und Verwertung von Computerprogrammen, 1993, Kap. II RdNr. 15, 21 ff.,
König, Das Computerprogramm im Recht, 1991, RdNr. 150 ff; Marly, Urheberrechtsschutz,
1995, S. 108 Fn. 260-276; ders., Softwareüberlassungsverträge, 2004, RdNr. 8 ff., jeweils m.
w. N.
122 GRUR Int. 1978, 290; dazu auch Denkschrift über den Rechtsschutz der Datenverarbeitungssoftware in GRUR 1979, 300 ff.; Ziff. 1.1 des Richtlinienvorschlages der EG-Kommission
vom 5. Januar 1989, Abl. Nr. 89/C 91/5, 9.
123 BGHZ 94, 276, 283 – Inkassoprogramm. Diese Entscheidung gilt als erste grundlegende Entscheidung über den urheberrechtlichen Schutz von Computerprogrammen.
52
Umfasst ist von dieser Definition auch lediglich auf Papier niedergeschriebener
Code („…fähig sind…“).
Ähnlich weitgehend ist die Begriffsbestimmung nach der DIN 44300 aus dem
Jahre 1988, in der das Computerprogramm als
nach den Regeln der verwendeten Sprache festgelegte syntaktische Einheit aus Anweisungen
und Vereinbarungen, die die zur Lösung einer Aufgabe notwendigen Elemente umfasst
bezeichnet wird. Im Gegensatz zur WIPO-Definition erfordert die DIN-Norm also eine erfolgreiche Problemlösung, nicht bloß die Erfüllung einer Aufgabe, und
spricht außerdem von Anweisungen und Vereinbarungen und nicht von Befehlen.
Durch die Verwendung des Terminus „syntaktische Einheit“ wird eine linguistische
Komponente in den Vordergrund gerückt.124 Technische Aspekte, wie etwa die
Steuerungsfunktion des Computerprogramms bezüglich der zum Ablauf verwendeten Maschine, geraten dagegen in den Hintergrund. Dem Wortlaut nach könnten von
dieser Definition auch Bedienungsanleitungen für andere Maschinen als Computer
erfasst sein. Das führt notwendigerweise zu Missverständnissen und Auslegungsproblemen.
Kritisch zu sehen ist auch das Erfordernis der „Problemlösung“. Objektiv fehlerhafte, aber gleichwohl zur Lösung bestimmte Programme sind damit aus der Definition ausgeschlossen, da bei ihnen aus technischen Gründen kein Erfolg, und damit
auch keine Problemlösung eintreten kann. Auch sog. Betaversionen, also Vor- und
Testversionen von Programmen, sind auf diese Weise teilweise nicht erfasst,125 so
dass nur ein kleiner Teil der tatsächlich existenten Computerprogramme der Definition unterfiele. Das ist ersichtlich nicht wünschenswert.
Trotz Verzicht auf eine abschließende Begriffsbestimmung hat auch der europäische Richtliniengeber einige Anhaltspunkte für das Verständnis gegeben. Es soll
sich demnach nach dem jeweiligen Stand der Technik richten.126 Eine Beschreibung
dessen, was zum Zeitpunkt der Gesetzgebung unter dem „Stand der Technik“ zu
verstehen war, findet sich in den Begründungserwägungen zur Richtlinie
91/250/EWG. Hiernach ist ein Computerprogramm
124 Da sich die Mustervorschriften insgesamt stark am Urheberrecht orientieren, ist das auch
nicht weiter verwunderlich.
125 Horns, GRUR 2001, 1, 5.
126 Vorschlag für eine Richtlinie des Rates der Europäischen Gemeinschaften über den Rechtsschutz von Computerprogrammen, Abl. EG Nr. C 91/2 ff.; Richtlinie des Rates über den
Rechtsschutz von Computerprogrammen, Abl.EG Nr. L 122/42 ff., BGBl. 1993, S. 910; Begründung des Regierungsentwurfs BT-Drs. 12/4022, S. 10; Auch der Copyright, Designs- and
Patent Act 1988 des Vereinigten Königreichs sowie das französische Urheberrechtsgesetz
enthalten keine Definition.
53
das in jeder Form, Sprache und Notation oder in jedem Code gewählte Ausdrucksmittel für eine Folge von Befehlen, welche ihrerseits dazu dient, einen Computer zu einer bestimmten
Aufgabe oder Funktion zu veranlassen.127
Nach den weiteren Erläuterungen der Kommission fallen darunter alle menschlich
wahrnehmbaren und maschinenlesbaren Formen, aus denen das Programm, dass die
Maschine zur Ausführung ihrer Funktion veranlasst, entwickelt worden ist oder
entwickelt werden kann.128 Auch das vorbereitende und unterstützende Entwurfsmaterial gehört demnach dazu,129 nicht jedoch Bedienungsanleitungen, Dokumentationen und andere ergänzende Medien.130 Damit umfasst die Richtlinie alle menschlich
wahrnehmbaren und maschinenlesbaren Formen von Programmen, und zwar einschließlich nicht endgültiger Versionen, Ablaufdiagrammen und Beschreibungen
von Schrittfolgen in Klarschrift.131
Diese Sichtweise entspricht weitgehend dem US-amerikanischen Urheberrecht,
welches mit 17 U.S.C. § 101 eine explizite Definition enthält:
A “computer program” is a set of statements or instructions to be used directly or indirectly in
a computer in order to bring about a certain result. 132
Den bislang vielversprechendsten Versuch einer allgemeingültigen Definition unter Berücksichtigung aller wesentlichen Bestandteile des Programms hat Ohst unternommen, allerdings mit einem deutlichen urheberrechtlichen Schwerpunkt.133 Hier
heißt es, ein Computerprogramm sei zu verstehen als
eine Ansammlung von Befehlen, die nach Aufnahme auf einen maschinenlesbaren Träger bewirkt, dass eine informationsverarbeitende Maschine sowohl Eingaben als auch Ausgaben verarbeiten kann.
Wesentlicher Unterschied zu den übrigen Ansätzen ist hier, dass das Kriterium
der Ein- und Ausgabenverarbeitung mit aufgenommen ist. Dieses ist aber charakteristisch für das Programm in der Abgrenzung etwa zur Programmdarstellung (z. B.
die grafische Gestaltung von Benutzeroberflächen), und damit ein wesentliches
Element der Definition.
127 Abl. EG Nr. C 91, S. 5 (Einleitung) und Abl. EG Nr. C 91, S. 9 (Art. 1 Abs. 1 S. 4 der Begründung).
128 Marly, Urheberrechtsschutz, 1995, S. 109.
129 Abl. EG Nr. C 91, S. 5 (Einleitung) und Abl. EG Nr. C 91, S. 9 (Art. 1 Abs. 1 S. 4 der Begründung) und Weber-Steinhaus, Computerprogramme im deutschen Urheberrechtssystem,
1993, S. 15.
130 Vgl. Marly, Softwareüberlassungsverträge, 2004, RdNr. 11. Anders ist dies z. B. im spanische UrhG in Art. 96 Abs. 2, in dem der Schutz auf die technische Dokumentation und die
Benutzungshandbücher ausgedehnt wird.
131 Marly, Softwareüberlassungsverträge, 2004, RdNr. 11
132 17 U.S.C. § 101.
133 Ohst, Computerprogramm und Datenbank, 2003, S. 36.
54
3. Eigener Ansatz
Bislang wurde der Begriff des Computerprogramms hauptsächlich vor dem Hintergrund des urheberrechtlichen Schutzes untersucht.134 Diese Sichtweise ist für die
hier vorgenommene übergreifende Betrachtung zu eng. Bei der Definition eines
Rechtssubjektes kann das einschlägige Rechtsgebiet nicht den Ausschlag geben,
schon gar nicht wenn dieses wie hier gerade zur Diskussion gestellt wird. Das würde
zu einem unzulässigen Zirkelschluss führen, der eine objektive Beurteilung der Eignung des jeweiligen Schutzsystems unmöglich macht. Erforderlich ist bei einer
interdisziplinären Analyse vielmehr, alle Aspekte des Computerprogramms zu erfassen, was auch bedeutet, sich nicht auf die rechtlich relevanten Elemente zu beschränken, sondern zu berücksichtigen, dass es sich beim Computerprogramm um
einen originär technischen Gegenstand handelt.135 Trotzdem definiert die Rechtsprechung Computerprogramme in der Regel in Anlehnung an die DIN-Definition,136
und auch im Schrifttum wird in der Regel auf diese oder die WIPO-Mustervorschriften abgestellt.137
Das Fehlen einer allgemeingültigen Definition mag vor 15 Jahren unproblematisch gewesen sein, da damals die Programmiertechnik noch relativ überschaubar
war. Mittlerweile gibt es Computerprogramme jedoch in vielen unterschiedlichen
Erscheinungsformen. Auch die Entwicklungskonzepte variieren und enthalten zum
Teil nicht nur programmiersprachliche Elemente, sondern auch natursprachliche,
ebenso wie bereits erwähnt immer mehr Computerprogramme in unterschiedlichem
Ausmaß in Hardware integriert sind.138 Eine klare Trennung des „Programms“ von
den übrigen Elementen eines Rechensystems ist also nicht mehr so einfach möglich
wie Anfang der 1990er Jahre.
Besonders im Patentrecht, dessen praktische Akzeptanz zunehmend wächst, führt
das Fehlen einer Definition zu gravierenden Unsicherheiten. Die patentrechtlichen
Regelungen in Art. 52 Abs. 2 lit.c, Abs. 3 EPÜ und § 1 Abs. 3 Nr 3, Abs. 4 PatG
nehmen nämlich „Computerprogramme als solche“ vom Patentschutz aus. Ohne zu
wissen, was ein Computerprogramm ist, ist nicht feststellbar, wie weit dieser
Schutzausschluss reicht.139 Im Folgenden gilt es daher, eine Begriffsbestimmung zu
134 Koch, GRUR 2000, 191ff.; kritisch Horns, GRUR 2001, 1ff.
135 Vgl. a. Ohst, Computerprogramm und Datenbank, 2003, S. 17ff.; Koch, GRUR 2000, 191,
195; Grützmacher, in: Wandtke/Bullinger, UrhG, 3. Aufl 2009, § 69a RdNr. 3; ansatzweise
auch Loewenheim, in: Schricker, UrhG, 3. Aufl. 2006, § 69a RdNr. 2ff.
136 BGHZ 94, 276 – Inkassoprogramm; OLG Düsseldorf, NJWE-WettbR 2000, 61 – Add-On-
CD; vgl. a. Grützmacher, in: Wandtke/Bullinger, UrhG, 3. Aufl. 2009, § 69a RdNr. 3; Loewenheim, in: Schricker, UrhG, 3. Aufl. 2006, § 69a RdNr. 2.
137 Vgl. u. a. Loewenheim, in: Schricker, UrhG, 3. Aufl. 2006, § 68a RdNr. 2 m. w. N.; Hoeren,
in: Möhring/Nicolini, UrhG, 2. Aufl. 2000, § 69a RdNr 2f.
138 So auch Horns, GRUR 2001, 1, 2.
139 Vgl. a. Laub, GRUR Int. 2006, 629, 630; und unten Drittes Kapitel, D. III. 5.
55
finden, die technische und rechtliche Aspekte gleichermaßen berücksichtigt140 und
daher nicht nur im Urheberrecht, sondern im Sinne einer einheitlichen Rechtsordnung und ausreichender Rechtssicherheit auch in allen anderen betroffenen Rechtsgebieten Anwendung finden kann.
a) Notwendige Bestandteile einer Definition
aa) Steuerungsfunktion
Wichtigster Aspekt ist der, dass die Programme aus „Befehlen“ bestehen. Deren Ziel
ist ein bestimmter Ablauf im Computer. Im Unterschied zu reinen Daten und zur
Hardware- wohnt den Bestandteilen des Programms also eine Steuerungsfunktion
inne.141 Befehle sind imperative Anweisungen zur Bewirkung einer Reaktion bzw.
zur Ausführung einer Aktion durch den Computer im Maschinencode oder in einer
bestimmten Programmiersprache. Ein Computerprogramm liegt also nicht vor, wenn
keine unmittelbare (bzw., falls eine Übersetzung oder Interpretation vor der Verarbeitung durch den Rechner notwendig ist, auch mittelbare) technische Reaktion im
Computer hervorgerufen wird. Beschreibungen und Deklarationen oder die Zuführung von zwar darstellbaren, aber nicht ausführbaren Daten reichen demnach nicht
aus, um ein Programm annehmen zu können.142 Diese Maschinensteuerung ist die
hauptsächliche Funktion eines Computerprogramms, seine Daseinsberechtigung. Da
Maschinensteuerung etwas ohne Zweifel Technisches ist, scheint eine (alleinige)
Zuordnung zum urheberrechtlichen Schutz bereits an dieser frühen Stelle der Untersuchung fraglich.
bb) Datenverarbeitung
Eng mit der Maschinensteuerung zusammen hängt der Aspekt der Datenverarbeitung. Das Programm ist eine Rechenvorschrift, die von außen zugeführte Daten aufnehmen kann und diese verarbeitet. Allein die Eingabenannahme und -darstellung
durch die Maschine genügt nicht, um vom Vorliegen eines Computerprogramms
ausgehen zu können.143 Der Eingabe muss eine Ausgabe ggf. auch in Form einer bestimmten maschinellen Reaktion gegenüber gestellt werden.144 Nur dann kann von
140 Koch, GRUR 2000, 191ff. geht sogar davon aus, dass es sich beim Computerprogramm nicht
um einen auslegungsfähigen juristischen Begriff handelt, sondern um einen Begriff aus dem
informatiktechnischen Bereich, aus dem auch die Bedeutungszuschreibung erfolgt.
141 OLG Hamburg CR 1998, 332, 333f – Computerspielergänzung; vgl. a Grützmacher, in:
Wandtke/Bullinger, UrhG, 3. Aufl. 2009, § 69a RdNr. 3.
142 So auch Ohst, Computerprogramm und Datenbank, 2003, S. 30.
143 Ein bloßer „Maschinenbezug“, wie von Koch, GRUR 2000, 191, 195 gefordert, reicht demgegenüber nicht, Ohst, Computerprogramm und Datenbank, 2003, S. 31. Vgl. a. BGHZ 94,
276, 283ff. – Inkassoprogramm.
144 Sog. Eingabe-Ausgabe-Postulat.
56
einer „Steuerung“ der Maschine gesprochen werden. Ein Programm muss also mindestens die Fähigkeit besitzen, die eingegebenen Daten zu verarbeiten und anschlie-
ßend irgendein Verarbeitungsergebnis auszugeben. Umgekehrt muss aber auch keine vollständige „Problemlösung“, wie von der DIN-Definition verlangt, erfolgen, da
Steuerungsfunktionen bzw. die Verarbeitung eingegebener Daten auch ohne eine
spezifische Lösung als Ergebnis wahrgenommen werden können.145
cc) Linguistischer Aspekt
Die vorher genannten Punkte betrafen in erster Linie funktionale Gesichtspunkte des
Computerprogramms. Darin erschöpft sich sein Wesen aber nicht. Damit das Programm den Rechner steuern kann, muss es nämlich zunächst niedergeschrieben
werden. Das geschieht wie beschrieben zunächst in menschenlesbarer Form in Gestalt einer höheren Programmier- oder Assemblersprache (Quellcode), die dann
durch Compiler oder Interpreter in durch den Rechner lesbare Nullen und Einsen
(sog. Binärcode) übersetzt wird.146 Die Darstellung der für die Steuerung notwendigen Befehlsabfolgen erfolgt also in im weitesten Sinne sprachlicher Form. Diese
Tatsache hat dazu geführt, dass Computerprogramme dem Urheberrecht als Sprachwerke zugeordnet wurden.147 Dabei ist die sprachliche Gestaltungsfreiheit überwiegend eng durch technische Regeln und Gesetze begrenzt. Das hat zur Folge, dass sie
untrennbar mit der Funktionalität des Programms verbunden ist. Eine sprachlich ungenügende Programmierung führt unweigerlich dazu, dass das Programm nicht korrekt funktioniert. Code ist gleichzeitig Funktionsbeschreibung und Funktion. Darin
unterscheidet er sich von anderen urheberrechtlich geschützten Funktionsbeschreibungen, beispielsweise den Bauplänen eines Architekten oder den Konstruktionsplänen eines Ingenieurs. Daher ist auch der sprachliche Aspekt eines Computerprogramms zwingend in die Definition aufzunehmen.
b) Definition
Die vorstehenden Überlegungen haben gezeigt, dass das Computerprogramm eine
Doppelnatur hat:148 Es enthält einerseits funktionale Aspekte, andererseits sprachliche Gesichtspunkte. Eine Definition mit allgemeingültigem Anspruch muss diesen
145 Ohst, Computerprogramm und Datenbank, 2003, S. 31.
146 Hierin liegt ein wesentlicher Unterschied zu den häufig als Parallele herangezogenen Geschichten in Büchern, bei denen die bloße mündliche Erzählung zur Wahrnehmung durch den
Empfänger ausreicht. Zur Differenzierung zwischen Maschinen- und Quellcode siehe oben A.
II. 4.
147 § 2 Abs. 1 Nr. 1 UrhG.
148 Haberstumpf, in: Lehmann, Rechtsschutz und Verwertung von Computerprogrammen, 1993,
Kap. II RdNr. 30. So auch schon Kienzle, Die Patentierbarkeit von Computerprogrammen,
1975, S. 42, der Computerprogramme als „Zwitter“ aus geistigen und technischen Anweisungen bezeichnet.
57
Dualismus zwischen linguistischem Konstrukt und technischer Funktionalität
(„Running Code“) berücksichtigen,149 wenngleich der sprachliche Aspekt gegenüber
der technischen Wirkungsweise zurücktritt. Daraus ergibt sich folgende Definition,
die in dieser Arbeit zugrunde gelegt wird:150
„Ein Computerprogramm ist eine Befehlsabfolge in Form einer bestimmten Zeichenfolge nach
den Regeln einer formalen Sprache, die geeignet und dazu bestimmt ist, nach Aufnahme in einen maschinenlesbaren Träger als Steuerungsmittel die Aufeinanderfolge von Betriebszuständen einer Maschine so festzulegen, dass eine Datenverarbeitung erfolgt und das Ergebnis dieser Datenverarbeitung ausgegeben werden kann.“
c) Überblick über erfasste Programmdarstellungen und -arten
Zur Klarstellung sollen im Folgenden die von dieser Definition erfassten und nicht
erfassten Programmformen und –arten dargestellt werden.151
aa) Keine Programme
Bei einigen Elementen ist offensichtlich, dass sie – zumeist mangels Steuerungsfunktion – nicht unter die erarbeitete Definition fallen. Der Algorithmus als solcher
beispielsweise ist noch kein Programm, weil er nicht die vollständige Befehlsabfolge enthält, sondern nur Funktionsbeschreibungen. Wie beschrieben, ist er allerdings
in jedem fertigen Programm als notwendiger Bestandteil enthalten. Auch Dateien,
d.h. etwa die im Rechner gespeicherten Text- oder Bilddokumente, sind keine Programme, sondern lediglich deren Erzeugnis.
Ähnliches gilt für die Programmiersprachen. Sie sind bloße Regelsysteme im
Sinne von Werkzeugen für die Programmentwicklung. Auch ihnen fehlt es an einer
unmittelbaren Steuerungsfunktion, so dass sie kein Programm darstellen.152 Über
diese Frage bestand in Deutschland einige Zeit Streit,153 der aber in erster Linie auf
begriffliche Unklarheiten zurückzuführen war. Die Bezeichnung „Programmiersprache“ wurde damals häufig für das gesamte Gefüge aus Sprache und Übersetzungsprogramm, das die menschenlesbare Sprache in maschinenlesbaren Code übersetzt,
verwendet.154
149 So geschehen auch bei Horns, GRUR 2001, 1, 2ff., der wohl als erster einen vielversprechenden Versuch der interdisziplinären Definition unternommen hat.
150 In Anlehnung an Horns, GRUR 2001, 1, 4 (Definition 1).
151 Dazu auch Ohst, Computerprogramm und Datenbank, 2003, die eine gründliche Analyse im
Hinblick auf die urheberrechtliche Schutzfähigkeit vornimmt.
152 Im Ergebnis ebenso Ohst, Computerprogramm und Datenbank, 2003, S. 39ff. In einigen Ländern sind Programmiersprachen deshalb ausdrücklich ausgenommen, vgl. etwa Art. 10 Abs. 3
JPL; Art. 2 Abs. 5 russ. Urheberrechtsgesetz.
153 Vgl etwa Dreier, CR 1991, 577, 578; Heymann, CR 1990, 9, 15; Moritz, GRUR Int. 1991,
697, 701; Cichon, ZUM 1998, 897.
154 So auch noch Ohst, Computerprogramm und Datenbank, 2003, S. 39.
58
bb) Definition erfüllt
Diese Übersetzungsprogramme, sog. Compiler und Interpreter, gehören zu den sog.
Anwendungsprogrammen155 und fallen damit unter die oben stehende Definition.
Anwendungsprogramme sind alle Applikationen, die eine Nutzung der Rechenmaschine für bestimmte Zwecke ermöglichen, so wie beispielsweise Textverarbeitungsprogramme. Da ihr Ablaufen stets eine bestimmte Reaktion im Rechner hervorruft und sie dazu dienen, vom Nutzer eingegebene Inhalte zu verarbeiten und
dann in verarbeiteter Form darzustellen, sind alle Kriterien der Definition erfüllt. Zu
den Anwendungsprogrammen gehören auch sog. ausführbare Dateien.156 Gleiches
gilt für Computerspiele und sog. Browser, also Programme, mit denen Internetdateien (insb. HTML, siehe dazu sogleich) dargestellt werden können, ebenso wie SQL-
Anweisungen, mit denen Datenbankabfragen vorgenommen werden.157
Grundlage für die Ausführung eines jeden Anwendungsprogramms ist das Betriebssystem. Betriebssysteme, z. B. Windows und Linux, sind die zentralen Steuerungseinheiten eines Rechners. Schon aufgrund dessen sind sie ohne Weiteres Computerprogramme.158 Nicht von Bedeutung ist dabei, dass Betriebssysteme physikalisch häufig nicht von der Hardware getrennt werden können.159 Die technische Erscheinungsform kann nicht darüber entscheiden, ob ein Programm vorliegt oder
nicht.
Grundsätzlich ebenfalls als Computerprogramm anzusehen sind HTML-Dateien,
wenngleich dies umstritten ist.160 HTML ist eine sog. „Markup-Language“, die dazu
dient, natursprachliche Textdokumente in einer bestimmten Form auf dem Bildschirm anzuzeigen. Der Rechner erhält also Anweisungen, bestimmte Daten in bestimmter Form darzustellen. Dabei liegt ein Steuerungsprozess vor, bei dem der
Browser in Form von sog. „Tags“161 angewiesen wird, den bildlichen Ausdruck ei-
155 Im Rahmen der Anwendungsprogramme wird manchmal noch unterschieden zwischen sog.
Standardprogrammen, etwa Textverarbeitungsprogrammen, und Individualprogrammen, die
auf bestimmte Problemstellungen zugeschnitten sind. Vgl a. Waltl, Geschützte und nicht geschützte Computerprogramme, 1990, S. 9ff.
156 Sie bestehen aus direkten Befehlsfunktionen, die der Rechner ohne weitere Hilfe ausführen
kann. Zu erkennen sind sie an der .exe oder .com-Endung.
157 Zur urheberrechtlichen Schutzfähigkeit der SQL-Sprachen ausführlich Ohst, Computerprogramm und Datenbank, 2003, 52ff.
158 Bejahend auch BGH GRUR 1991, 449, 450 – Betriebssystem; KG GRUR 1996, 974 – OEM
Software; Loewenheim, in: Schricker, UrhG, 3. Aufl. 2006, § 69a RdNr. 3; Grzeszick, MMR
2000, 412.
159 Vgl zur urheberrechtlichen Schutzfähigkeit des Betriebssystems als Computerprogramm auch
Ohst, Computerprogramm und Datenbank, 2003, S. 46.
160 Wie hier zumindest für den Einzelfall Horns, GRUR 2001, 1, 14ff.; Bechtold ZUM 1997,
427, 428; anders aber Hoeren, in: Möhring/Nicolini, UrhG, 2. Aufl. 2000, § 69a RdNr. 7;
Ohst, Computerprogramm und Datenbank, 2003, S. 54ff.; Ernst, MMR 2001, 208, 211f.
161 Etwa
am Anfang und
am Ende der Hauptüberschrift des darzustellenden Textes.
Umlaute werden beispielsweise so dargestellt: ä für ä; ü für ü. Ausführliche Beispiele finden sich bei Horns, GRUR 2001, 1, 15 und Ohst, Computerprogramm und Datenbank, 2003, S. 269f.
59
ner natursprachlichen Datei in einer bestimmten Weise zu steuern. Diese Tags sind
problemlos als Computerprogramme im o. g. Sinne anzusehen.162 Da die Steuerung
aber nur im Zusammenhang mit dem Originaltext funktioniert, gilt dies auch für die
gesamten Dokumente in ihrer HTML-Fassung.
Nicht endgültig geklärt ist demgegenüber die Frage, ob sog. Fonts, also Schriftzeichen, Computerprogramme sind. Nach der Rechtssprechung soll dies der Fall
sein.163 Zur hier vertretenen Begriffsbestimmung passt das freilich nicht. Fonts sind
lediglich Beschreibungen von Schriftzeichen, ähnlich wie Drucktypen im analogen
Druck, nicht aber konkrete Anweisungen an den Computer, die dieser verarbeitet.164
Unter die Definition fallen aber die (Bildbearbeitungs-)Programme, mit Hilfe derer
die Schriftzeichen erstellt werden, sog. Fonteditoren oder Rasterizer.165 Durch Drücken der entsprechenden Taste auf der Tastatur wird im Rechner ein Ablauf ausgelöst, der dazu führt, dass das Schriftzeichen auf dem Bildschirm in der bekannten
Form dargestellt wird. Gleiches gilt für sog. Fonts-Dateien, in denen die notwendigen Informationen für die Fonts gespeichert sind, soweit sog. „Hints“ enthalten sind,
die die jeweilige Neuberechnung der Schriftdarstellung ermöglichen und verbessern.166
IV. Zusammenfassung
Für die Analyse des immaterialgüterrechtlichen Schutzes von Computerprogrammen
ergeben sich aus dem vorstehenden Abschnitt folgende Erkenntnisse.
Zunächst muss anhand des Entwicklungsprozesses zwischen drei Elementen eines
Computerprogramms differenziert werden: Algorithmus, Quellcode und Maschinencode.167 Algorithmen sind nach allgemeinem Verständnis zielgerichtete Handlungsanweisungen. Bei Computerprogrammen enthalten sie die Lösung des zugrundeliegenden technischen Problems und die dafür notwendigen Arbeitsschritte des Rechners. In der Erstellung eines derartigen Algorithmus ist der Hauptteil der schöpferischen Leistung des Programmierers zu sehen. Der Quelltext eines Programms, der
häufig als dessen Urform bezeichnet wird, ist demgegenüber lediglich die durch
technische Bedingungen und den Algorithmus selbst weitgehend vorgegebene linguistische Umsetzung dieses Konzepts, die vom Entwickler in einer bestimmten
Programmier- oder Assemblersprache geschrieben wird.168 Der Quelltext ist insofern
ein wesentliches Element des Computerprogramms, als hauptsächlich in dieser Form
Änderungen und Fehlerbeseitigung vorgenommen werden können. Algorithmus und
162 Horns, GRUR 2001, 1, 15.
163 LG Köln CR 2000, 104.
164 Zu unterscheiden ist zwischen sog. Bitmap-Schriften und Outline-Schriften, das Ergebnis ist
jedoch für beide das gleiche: Sie sind keine Computerprogramme im hier verstandenen Sinne.
165 Ohst, Computerprogramm und Datenbank, 2003, S. 44f.; Jaeger/Koglin, CR 2002, 169, 173.
166 Dazu ausführlich Ohst, Computerprogramm und Datenbank, 2003, S. 45.
167 Vgl. oben A. II. 4.
168 Oben A. II. 4. a).
Chapter Preview
References
Zusammenfassung
Die vorliegende Arbeit will langjährige Missverständnisse und Schwierigkeiten des immaterialgüterrechtlichen Schutzes von Computerprogrammen endgültig ausräumen. Die Betrachtung aus wettbewerbsorientiertem Blickwinkel auf der Grundlage der technischen und ökonomischen Besonderheiten ist – soweit ersichtlich – die erste Untersuchung, die sowohl das Urheber- als auch das Patentrecht einbezieht und dabei eine umfassende Neuregelung vorschlägt.
Dr. Lina Barbara Böcker befasst sich im Rahmen ihrer Tätigkeit am Institut für Wirtschafts-, Wettbewerbs- und Regulierungsrecht an der Freien Universität Berlin in erster Linie mit wettbewerbsrechtlichen Problemen des Immaterialgüterrechtsschutzes und allgemeinem Zivilrecht.