Ressourcen / Recht
Code, Daten, Lizenzen: wem gehört was.
Software kauft man nicht wie eine Maschine. Sie bezahlen eine Leistung und bekommen Rechte. Welche Rechte, steht genau dort, wo Sie es hineingeschrieben haben, und sonst nirgends.
Ich bin Softwareentwickler, kein Anwalt, und ich darf Sie rechtlich nicht beraten. Dieser Text sagt Ihnen, worauf Sie achten und was Sie fragen sollten, damit Sie mit einer geordneten Liste zu einem Anwalt für IT-Recht gehen und nicht mit einem Bauchgefühl. Den Vertrag prüfen lassen müssen Sie trotzdem.
Die kurze Antwort.
Das Urheberrecht am Code bleibt beim Menschen, der ihn geschrieben hat, und ist nicht übertragbar. Was Sie als Auftraggeber bekommen können, sind Nutzungsrechte, und zwar genau die, die der Vertrag benennt. Für alles, was dort nicht steht, gilt im Zweifel: nicht eingeräumt. Diese Zweckübertragungsregel in § 31 Abs. 5 UrhG ist der Grund, warum der beliebte Halbsatz von den Rechten, die auf den Auftraggeber übergehen, zu wenig ist.
Bei angestellten Entwicklern ist die Lage einfacher: dort stehen dem Arbeitgeber die vermögensrechtlichen Befugnisse zu, wenn das Programm in Erfüllung der Aufgaben entstanden ist (§ 69b UrhG). Bei einem externen Dienstleister gibt es diesen Automatismus nicht. Keine Rechnungshöhe der Welt ersetzt die fehlende Klausel.
Praktisch heißt das: Sie brauchen drei Dinge, und zwar alle drei. Die Rechte im Vertrag, den Code in Ihrem eigenen Repository und einen Datenexport, den jemand einmal ausgeführt hat. Fehlt eines davon, haben Sie eine Abhängigkeit, die Sie nicht gewählt haben.
Drei Dinge, die ständig verwechselt werden.
Wenn im Gespräch von Eigentum an Software die Rede ist, sind meistens drei verschiedene Sachen gemeint. Sie werden getrennt geregelt und getrennt verloren.
- Bleibt beim MenschenDas Urheberrecht
Es entsteht beim Menschen, der den Code geschrieben hat, und bleibt dort. Verkaufen kann man es nicht (§ 29 Abs. 1 UrhG). Für Sie ist das praktisch ohne Bedeutung, solange die Nutzungsrechte stimmen. Wenn Ihnen jemand anbietet, Ihnen das Urheberrecht zu übertragen, weiß er entweder nicht, wovon er redet, oder meint etwas anderes.
- Das, was Sie verhandelnDie Nutzungsrechte
Einfach oder ausschließlich, mit oder ohne Bearbeitung, übertragbar oder nicht. Hier entscheidet sich, ob ein anderer Dienstleister Ihre Software später weiterentwickeln darf, ob Sie sie in einem Tochterunternehmen einsetzen dürfen und ob Sie den Betrieb verkaufen können, ohne nachverhandeln zu müssen.
- Die härteste WährungDer Besitz der Dateien
Wer das Repository hat, hat den Code. Das ist kein Recht, sondern eine Tatsache, und in der Praxis die wichtigste von dreien. Ein Nutzungsrecht ohne Quellcode ist ein Anspruch, den Sie einklagen müssten, und zwar genau dann, wenn Sie am wenigsten Zeit dafür haben.
Was in den Vertrag gehört.
Neun Punkte, die Sie mit der Vertragsvorlage Ihres Dienstleisters abgleichen können. Fehlt einer, ist das kein Grund abzubrechen, sondern ein Satz in der nächsten E-Mail. Die meisten Dienstleister ergänzen ohne Diskussion, was ihnen schlicht nicht eingefallen war.
- 01 / 09Ausschließliche Nutzungsrechte, vollständig beschrieben
Räumlich, zeitlich und inhaltlich unbeschränkt, übertragbar, unterlizenzierbar. Und ausdrücklich das Recht zur Bearbeitung und Weiterentwicklung, auch durch Dritte. Diese letzte Halbzeile fehlt am häufigsten. Ohne sie dürfen Sie die Software benutzen, aber niemand außer dem Autor darf sie ändern.
- 02 / 09Die Rechtekette ist geschlossen
Hat der Auftragnehmer Subunternehmer, Werkstudenten oder freie Mitarbeiter eingesetzt, muss er von diesen die Rechte haben, die er Ihnen einräumt. Lassen Sie sich das zusichern. Die Lücke fällt erst auf, wenn der frühere Freelancer Ansprüche anmeldet.
- 03 / 09Quellcode ist Teil der Leistung, nicht ein Extra
Laufende Übergabe während des Projekts, nicht auf Anforderung am Ende. Und nicht nur die Dateien, sondern das Repository mit Versionsgeschichte. Die Historie ist der Teil, der einem Nachfolger erklärt, warum eine Stelle so aussieht, wie sie aussieht.
- 04 / 09Die Bauanleitung gehört dazu
Der Code muss sich auf einem frischen Rechner übersetzen und starten lassen, ohne dass der Autor daneben sitzt. Dazu gehören die Abhängigkeiten mit festen Versionen, die Konfiguration ohne Geheimnisse und ein Startskript oder eine Container-Beschreibung. Vereinbaren Sie eine Abnahme, bei der genau das einmal vorgeführt wird.
- 05 / 09Zugänge und Infrastruktur laufen auf Ihren Namen
Domain, Repository, Cloud-Konto, Datenbank, Zertifikate, Build-System. Wer die Rechnung bezahlt, ist Vertragspartner des Anbieters. Der Dienstleister bekommt Zugriff, nicht Eigentum. Das ist die kleinste Änderung mit der größten Wirkung, und sie kostet nichts.
- 06 / 09Fremdbestandteile sind aufgelistet
Eine Liste aller eingesetzten Bibliotheken mit Version und Lizenz, gepflegt bis zur Abnahme. Dazu die Zusicherung, dass keine Komponente verwendet wird, deren Lizenz Ihre Nutzung einschränkt, ohne dass Sie vorher zugestimmt haben.
- 07 / 09Daten: Zugriff, Zweckbindung, Löschung
Der Dienstleister verarbeitet Ihre Daten zur Erfüllung des Auftrags und sonst zu nichts. Keine Auswertung, keine Weitergabe, keine Verwendung zum Training von Modellen. Nach Projektende Löschung mit Nachweis. Sind personenbezogene Daten im Spiel, gehört ein Vertrag zur Auftragsverarbeitung nach Art. 28 DSGVO dazu, und zwar vor dem ersten Zugriff.
- 08 / 09Ausstieg ist geregelt, bevor er gebraucht wird
Was passiert bei Kündigung: Übergabe binnen einer festen Frist, Mitwirkung bei der Übergabe an einen Nachfolger gegen die übliche Vergütung, Herausgabe der Dokumentation. Eine Exit-Klausel schreibt man, solange alle zufrieden sind. Danach schreibt man sie nicht mehr.
- 09 / 09Was der Auftragnehmer behält, steht auch drin
Jeder Entwickler bringt eigene Bausteine mit und nimmt sie wieder mit. Das ist normal und sollte benannt sein statt verschwiegen. Die Grenze ist einfach: generische Hilfsmittel darf er behalten, der Gegenstand Ihres Auftrags nicht. Steht nichts dazu im Vertrag, streiten Sie später über diese Grenze.
Wie diese Punkte in ein Projekt eingebaut werden, steht im Vorgehen in vier Phasen: jede Phase endet mit einem Ergebnis, das übergeben ist und bei Ihnen bleibt, auch wenn keine weitere folgt.
Fremdbestandteile: Open Source in Ihrer Software.
Keine ernsthafte Anwendung besteht nur aus selbst geschriebenem Code. Unter jeder Individualsoftware liegen Dutzende fremder Bibliotheken, und jede bringt ihre eigene Lizenz mit. Das ist normal und kein Mangel. Ein Mangel ist es erst, wenn niemand weiß, welche es sind.
Drei Gruppen, die Sie auseinanderhalten sollten
Der unkomplizierte Fall. Sie dürfen einsetzen, ändern und weitergeben, müssen aber Lizenztext und Urhebervermerk mitführen. Apache 2.0 verlangt zusätzlich einen Hinweis auf Änderungen und enthält eine Patentregelung. Für interne Betriebssoftware ist diese Gruppe das Ziel.
Hier hängen Pflichten an der Weitergabe: wer das Programm verbreitet, muss den Quelltext unter denselben Bedingungen mitgeben. Intern eingesetzte Software ist davon meist nicht betroffen. Die AGPL geht weiter und erfasst auch den Zugang über das Netz, was bei einer Anwendung für Kunden oder Lieferanten den Unterschied macht.
Einige bekannte Werkzeuge stehen unter Lizenzen, die den Quelltext zeigen, die gewerbliche Nutzung aber begrenzen oder erst nach einer im Lizenztext genannten Frist freigeben. Wer nur auf das öffentliche Repository schaut, hält das für Open Source. Lesen Sie in diesen Fällen die Lizenzdatei, nicht die Startseite.
Die Stückliste
Verlangen Sie eine maschinell erzeugte Liste aller Fremdbestandteile mit Name, Version und Lizenz. Jede gängige Entwicklungsumgebung kann sie ausgeben, und der Aufwand liegt im Minutenbereich. Der Wert der Liste liegt nicht in der Liste, sondern in dem, was ihr Erstellen sichtbar macht: veraltete Bibliotheken, doppelte Abhängigkeiten und die eine Komponente, die niemand mehr pflegt.
Lassen Sie die Liste bei jeder Abnahme neu erzeugen, nicht einmal am Anfang. Abhängigkeiten kommen im Projektverlauf dazu, und die eine, die Ihnen Sorgen machen würde, kommt selten am ersten Tag.
Quellcodehinterlegung: wann sie hilft.
Bei einer Hinterlegung legt der Anbieter den Quelltext bei einem Dritten ab. Tritt ein vereinbartes Ereignis ein, meistens Insolvenz oder Einstellung der Pflege, bekommen Sie ihn heraus. Für Standardsoftware eines kleinen Anbieters, von dem Ihr Betrieb abhängt, ist das ein ernsthaftes Mittel.
Bei Individualentwicklung ist es meistens ein Umweg. Wenn der Code ohnehin in Ihrem Repository liegt und Sie die Rechte haben, hinterlegen Sie etwas, das Sie schon besitzen. Das Geld ist besser in einer Abnahme angelegt, bei der jemand den Code auf einem fremden Rechner übersetzt und startet.
Hinterlegt wird oft nur ein Archiv. Ob sich daraus eine lauffähige Anwendung bauen lässt, prüft niemand. Vereinbaren Sie deshalb eine technische Prüfung des hinterlegten Stands, eine Aktualisierungspflicht bei jeder neuen Version und die Herausgabe der Bauanleitung samt Abhängigkeiten. Ob die Vereinbarung eine Insolvenz übersteht, hängt davon ab, wie die Rechte eingeräumt sind. Das ist die Stelle, an der Sie einen Anwalt brauchen und nicht mich.
Daten: der Export ist der Nachweis.
Bei Daten aus Standardsystemen hilft die Rechtslage wenig. Ein Eigentum an Daten wie an einer Maschine kennt das deutsche Recht nicht. Was zählt, ist der Vertrag und die tatsächliche Möglichkeit, die Daten vollständig und maschinell lesbar herauszubekommen. Diese Möglichkeit prüft man, indem man sie einmal benutzt.
Was ein vollständiger Export enthalten muss
- Stammdaten und Bewegungsdaten, nicht nur die Auswertungen, die der Anbieter für wichtig hält
- Belege und Anhänge als Dateien, mit der Zuordnung zum jeweiligen Vorgang
- Historie und Änderungsprotokolle, soweit vorhanden, weil sie den Nachweis tragen
- Verknüpfungen und Schlüssel, sonst haben Sie Tabellen ohne Zusammenhang
- Ein beschriebenes Format: Zeichensatz, Trennzeichen, Datumsformat, Feldbedeutung
Bevor Sie ein Altsystem abschalten
Steuerlich relevante Daten müssen über die Aufbewahrungsfrist lesbar und maschinell auswertbar bleiben. Die Fristen aus § 147 AO reichen je nach Unterlagenart von sechs bis zehn Jahren, für Buchungsbelege wurde die Frist zum 1. Januar 2025 verkürzt. Welche Frist für welche Unterlage gilt, sagt Ihnen Ihr Steuerberater, nicht Ihr Softwareanbieter. Ein Stapel PDF-Ausdrucke erfüllt die Anforderung an die maschinelle Auswertbarkeit in der Regel nicht.
Planen Sie deshalb früh, ob das Altsystem in einem lesenden Zustand weiterläuft oder ob die Daten in ein Archiv umziehen. Wie das im Ablauf aussieht, steht in Datenmigration ohne Datenverlust. Welche Systeme überhaupt betroffen sind, finden Sie mit der Inventur der Schatten-IT.
Code, der mit KI entstanden ist.
Zwei Fragen werden hier oft vermischt. Die erste ist die nach dem Schutz: rein maschinell erzeugte Ergebnisse haben keinen menschlichen Schöpfer und sind deshalb urheberrechtlich nicht geschützt. Für Betriebssoftware, die Sie selbst nutzen und nicht verkaufen, ist das selten das Problem, das man dahinter vermutet.
Die zweite Frage ist die praktische und die wichtigere: Darf Ihr Dienstleister Ihren Code und Ihre Daten überhaupt in ein KI-Werkzeug geben, und was passiert dort damit? Das gehört in den Vertrag, mit einer klaren Aussage zur Verwendung der Eingaben für Modelltraining und, sobald personenbezogene Daten im Spiel sind, in die Auftragsverarbeitung. Wie ich selbst damit umgehe, steht in KI in der Softwareentwicklung.
Sechs Fragen vor der Unterschrift.
Stellen Sie diese Fragen in einem Gespräch, nicht per E-Mail. Sie prüfen damit weniger die Antwort als die Reaktion. Wer gewohnt ist, sauber zu übergeben, findet die Fragen selbstverständlich. Wer Unbehagen zeigt, hat Ihnen die eigentliche Auskunft schon gegeben.
- Frage 1
Zeigen Sie mir bitte heute das Repository.
Nicht am Ende, sondern jetzt. Wer das nicht auf der Stelle zeigen kann, hat entweder keinen geordneten Stand oder will ihn nicht herzeigen. Beides ist eine Antwort.
- Frage 2
Was braucht ein anderer Entwickler, um das zu übernehmen?
Die gute Antwort ist eine kurze Liste: Repository, eine Datei mit den Zugangsdaten außerhalb des Codes, eine Seite Betriebsdokumentation. Die schlechte Antwort ist ein Termin.
- Frage 3
Welche Fremdbestandteile stecken drin und unter welcher Lizenz?
Eine Stückliste sollte in Minuten erzeugbar sein. Wenn dafür erst recherchiert werden muss, weiß niemand, was eingebaut ist.
- Frage 4
Was passiert, wenn Sie morgen ausfallen?
Bei einem Einzelunternehmen wie meinem ist das die berechtigtste Frage überhaupt. Die belastbare Antwort ist nicht ein Versprechen, sondern der Umstand, dass alles Nötige ohnehin bei Ihnen liegt.
- Frage 5
Welche Ihrer Bausteine bleiben Ihre, und was heißt das für mich?
Sie suchen keine leere Antwort, sondern eine ehrliche. Wer sagt, er bringe nichts Eigenes mit, hat entweder wenig Erfahrung oder liest die Frage nicht.
- Frage 6
Wie komme ich an meine Daten, wenn wir aufhören? Zeigen Sie mir einen Export.
Kein Datenblatt, keine Zusage, eine Datei. Diese Frage gilt für Dienstleister und für Standardsoftware gleichermaßen.
Wann Eigentum am Code nichts nützt.
Ein Repository, das niemand öffnen kann, ist ein Archiv und kein Vermögenswert. Wenn in Ihrem Haus niemand ist, der Code lesen kann, und auch niemand eingestellt werden soll, dann ändert die beste Rechteklausel wenig. Sie brauchen dann nicht mehr Eigentum, sondern einen zweiten Dienstleister, der einspringen könnte. Und dafür brauchen Sie nur eines: dass der Code für ihn verständlich, übersetzbar und rechtlich freigegeben ist.
Es gibt auch den Fall, in dem eigener Code die falsche Entscheidung ist. Wenn ein Ablauf in Ihrem Betrieb nichts Besonderes hat und eine Standardsoftware ihn ordentlich abbildet, dann kaufen Sie die Standardsoftware und achten auf den Exportweg statt auf Eigentum. Die Abwägung dazu steht in Selbst bauen oder kaufen und in ERP ablösen oder ergänzen.
Umgekehrt gilt: Je näher eine Software an dem liegt, was Ihren Betrieb von anderen unterscheidet, desto teurer wird jede Abhängigkeit. Ob Ihre Ausgangslage dazu passt, sehen Sie unter Situationen oder im ERP-Selbsttest.
Wie ich es halte.
Ohne Verhandlung
- Der Code liegt von der ersten Zeile an in einem Repository, das Ihnen gehört. Nicht in meinem, aus dem später etwas übergeben wird.
- Sie bekommen ausschließliche, übertragbare Nutzungsrechte einschließlich Bearbeitung durch Dritte. Auch dann, wenn wir nach einer Phase auseinandergehen.
- Fremdbestandteile sind freizügig lizenziert, die Stückliste liegt bei. Alles andere nur nach Rücksprache mit Ihnen.
- Ihre Daten verlassen den vereinbarten Rahmen nicht und werden nach Projektende gelöscht, auf Wunsch mit Nachweis.
- Eine Quellcodehinterlegung ist nicht nötig, weil es nichts zu hinterlegen gibt, das nicht ohnehin bei Ihnen liegt.
Das ist keine Großzügigkeit, sondern Eigennutz. Wer weiß, dass er jederzeit gehen könnte, entscheidet ruhiger, und ich arbeite lieber mit jemandem, der bleibt, weil es passt.