1. Begrifflichkeiten und Gegenstand des Schutzes
Rz. 213
Mit den §§ 69a–69g UrhG zum Recht der Computerprogramme (und deren Nutzung) wurde die EG-Richtlinie vom 14.5.1991, zuletzt geändert durch Art. 10 Abs. 1 Änderungsrichtlinie 2009/24/EG vom 23.4.2009, umgesetzt. Nach der Urheberrechtsreform 2021 finden die Vorschriften über die angemessene Vergütung, die gemeinsamen Vergütungsregelungen, das Recht zur anderweitigen Verwertung sowie dem Rückrufsrecht gem. §§ 32–32g, 36–36d, 40a und 41 UrhG auf Computerprogramme keine Anwendung (§ 69a Abs. 5 UrhG).
Rz. 214
Computerprogramme sind Programme, auf die die für Sprachwerke geltenden Bestimmungen Anwendung finden (§ 69a Abs. 4 UrhG), nach der Urheberrechtsreform 2021 auch die Regelungen über das allgemeine Text und Data Mining (§ 44b UrhG), über Unterricht und Lehre (§ 60a UrhG) sowie über die Kulturerbe-Einrichtungen (§§ 60f, 60e UrhG). § 69a Abs. 3 UrhG bringt zum Ausdruck, dass zur Bestimmung der Schutzfähigkeit keine qualitativen oder ästhetischen Kriterien anzuwenden sind. Erfasst sind alle Ausdrucksformen eines Computerprogramms. Ausgenommen sind dagegen Ideen und Grundsätze, die einem Element eines Computerprogramms zugrunde liegen, einschließlich der den Schnittstellen zugrunde liegenden Ideen und Grundsätze (§ 69a Abs. 2 UrhG).
Rz. 215
Hinweis
Im Gegensatz zum Datenbankschutz kommt es für die Schutzfähigkeit von Computerprogrammen nicht auf die Investitionshöhe an, sondern auf die Komplexität des Codes. Die getätigten Investitionen und die benötigte Zeit der Entwicklung können allerdings gewichtige Indizien sein.
Rz. 216
§ 69a Abs. 1 UrhG definiert dabei die Computerprogramme als "Programme in jeder Gestalt, einschließlich des Entwurfmaterials". Diese Legaldefinition bedarf der näheren begrifflichen Erläuterung.
Danach versteht man unter Computerprogrammen 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 oder ein bestimmtes Ergebnis anzeigt, ausführt oder erzielt. Dementsprechend ist das Programm als eine maschinengeeignete Fassung eines Algorithmus bezeichnet worden.
Rz. 217
Der Algorithmus als nicht geschützte Vorstufe ist ein vollständiger, geordneter Satz von präzisen Anweisungen zur Lösung eines Problems in einer endlichen Zahl von Schritten, also eine Arbeitsanweisung an den Rechner.
Rz. 218
Zum Programm gehören Arbeitsanweisungen, die Beschreibung der Datenstruktur, die Definition der Schnittstellen und die Gestaltung der Benutzeroberflächen. Die Entwicklung verläuft in folgenden Schritten: Das Entwurfsmaterial gibt zunächst den Programmablauf wieder und enthält das Struktogramm oder ähnlich gegliederte Darstellungen. Im Endzustand liegt das Programm entweder im Quellcode oder im Objektcode vor. Beim Quellcode handelt es sich um eine in einer höheren Programmiersprache abgefasste Folge von Befehlen, als Zwischenstufe zwischen menschlicher Sprache und für den Computer verständlicher Maschinensprache. Objektcode ist das (in Maschinensprache vorliegende) Ergebnis der Übersetzung des Quellcodes durch ein Übersetzungsprogramm.
Rz. 219
Das Computerprogramm kann nicht zwingend mit Software gleichgesetzt werden, sondern umschließt auch die integrierte Betriebs-Software, die oftmals der Hardware zugeordnet wird. Unterschieden wird zwischen System-Software und Anwendungs-Software. Die System-Software besteht aus Steuerprogrammen, Übersetzungsprogrammen und Dienstprogrammen (Editorprogramme und Kopierprogramme) und ermöglicht damit erst den Ablauf von Anwendungs-Software. Anwendungs-Software dient der eigentlichen Bewältigung der dem Computer gestellten Aufgaben von Textverarbeitung, Tabellenkalkulation, Datenverwaltung und Grafik bis hin zu CAD und CIM. Schließlich wird nach der Anzahl der potenziellen Anwender zwischen Standard-Software und Individual-Software unterschieden.
Rz. 220
Geschützt sind auch Schnittstellen als ein "gedachter oder tatsächlicher Übergang an der Grenze zwischen zwei gleichartigen Einheiten, wie Funktionseinheiten, Baueinheiten oder Programmbausteinen, mit den vereinbarten Regeln für die Übergabe von Daten oder Signalen". Sie sind die Verbindungsstellen zwischen Programm und Hardware und zwischen verschiedenen Programmen oder Programmteilen.
Rz. 221
Bei multimedialen Anwendungen, insbesondere der Erstellung von Webseiten, stellt sich die Frage nach der Abgrenzung von Programmoberfläche und dem zugrunde liegenden Computerprogramm selbst. Abzugrenzen sind Computerprogramme auch von reinen Daten. Ebenfalls nicht erfasst werden lediglich auf Standard Generalized Markup Language (SGML), Hypertext Markup Language (HTML) oder Wireless Markup Language (WML) basierende Websites, da es dort um die Formatierung auf der Benutzeroberfläche geht.