Quellcode-Hinterlegung
Bei einer Quellcode-Hinterlegung verwahrt eine unabhängige dritte Stelle den Quellcode einer Software und gibt ihn an den Auftraggeber heraus, sobald ein vertraglich festgelegter Fall eintritt.
Die Quellcode-Hinterlegung sichert den Weiterbetrieb einer Individualsoftware für den Fall ab, dass der Anbieter dauerhaft ausfällt.
In einfachen Worten
Wird eine Software nur als fertiges Programm überlassen, hat der Auftraggeber keinen Zugriff auf den Quellcode, also auf die vom Menschen lesbare Fassung, aus der das Programm erzeugt wird. Ohne diese Fassung lässt sich die Software weder anpassen noch fehlerbereinigt weiterführen. Die Quellcode-Hinterlegung, im Fachgebrauch auch Software-Escrow genannt, löst den Zielkonflikt: Der Anbieter behält sein Geschäftsgeheimnis, der Auftraggeber erhält eine Absicherung. Eine unabhängige Stelle nimmt den Code entgegen und verwahrt ihn. Die Herausgabe erfolgt ausschließlich, wenn ein im Vertrag benannter Fall eintritt, etwa die Insolvenz des Anbieters, die dauerhafte Einstellung der Pflege oder eine erhebliche Pflichtverletzung. Drei Punkte bestimmen den Wert der Vereinbarung: welche Fälle die Herausgabe auslösen, in welchem Rhythmus der hinterlegte Stand aktualisiert wird und ob die Hinterlegung auch die Nutzungsrechte umfasst, die der Auftraggeber zur Weiterentwicklung braucht.
Wozu brauche ich das?
Sinnvoll ist eine Hinterlegung bei Individualsoftware, die einen zentralen Geschäftsprozess trägt und von einem einzelnen Anbieter stammt. Bei Standardsoftware mit breitem Anwenderkreis ist sie selten nötig, weil der Markt die Fortführung sichert. Sie ist kein Ersatz für Übergabefähigkeit: Die Hinterlegung greift erst im benannten Fall, während Übergabefähigkeit den laufenden Wechsel ermöglicht. Beide Instrumente ergänzen sich, und beide verlangen, dass der hinterlegte oder übergebene Stand aktuell ist.
Beispiel aus der Praxis
Ein Fertigungsbetrieb lässt eine Anwendung zur Auftragssteuerung entwickeln, die er im Tagesgeschäft benötigt. Der Anbieter ist ein kleiner Betrieb mit wenigen Beschäftigten. Die Parteien vereinbaren eine Hinterlegung bei einer unabhängigen Stelle, mit vierteljährlicher Aktualisierung des Stands und einer Prüfung, ob das Hinterlegte vollständig und übersetzbar ist. Als Herausgabefälle sind die Insolvenz, die Einstellung der Pflege und der Verzug mit der Fehlerbehebung über eine festgelegte Dauer benannt. Mitverwahrt werden die Betriebsdokumentation und die Beschreibung der Übersetzungsumgebung, ohne die der Code allein nicht ausführbar wäre.
Wirtschaftlicher Nutzen
Die Hinterlegung begrenzt ein Risiko, das sich anders nicht absichern lässt: den dauerhaften Wegfall des Anbieters bei einer Software, die den Betrieb trägt. Für den Auftraggeber ist sie zugleich ein Argument, Individualsoftware bei einem kleinen Anbieter zu beauftragen, statt allein aus Sorge vor dessen Ausfall auf eine Standardlösung auszuweichen. Für den Anbieter ist sie das Mittel, den Quellcode als Geschäftsgeheimnis zu behalten und dem Kunden trotzdem Sicherheit zu geben. Der Wert steht und fällt mit der Aktualität: Ein hinterlegter Stand von vor drei Jahren bildet die heutige Anwendung nicht mehr ab.
Typische Fehler
- Der hinterlegte Stand wird nach der ersten Übergabe nicht mehr aktualisiert und bildet die heutige Fassung nicht ab.
- Die Herausgabefälle sind allgemein formuliert, sodass im Ernstfall über ihr Vorliegen gestritten wird.
- Hinterlegt wird nur der Code, ohne Beschreibung der Übersetzungsumgebung und ohne Abhängigkeiten.
- Die Nutzungsrechte zur Weiterentwicklung sind nicht eingeräumt, und der herausgegebene Code darf nicht geändert werden.
- Das Hinterlegte wird nie geprüft, und erst im Herausgabefall zeigt sich, dass es unvollständig ist.
Worauf achten?
- Die Herausgabefälle einzeln und prüfbar benennen, statt auf eine allgemeine Klausel zu vertrauen.
- Einen Aktualisierungsrhythmus vereinbaren und die Einhaltung nachhalten.
- Dokumentation, Abhängigkeiten und Übersetzungsumgebung mit hinterlegen.
- Die Nutzungsrechte für den Herausgabefall ausdrücklich regeln, einschließlich der Weiterentwicklung.
- Eine Prüfung der Vollständigkeit durch die verwahrende Stelle vereinbaren; die rechtliche Gestaltung mit Ihrer Rechtsberatung abstimmen.
Häufig gestellte Fragen
Wozu dient eine Quellcode-Hinterlegung?
Sie sichert den Weiterbetrieb einer Software für den Fall, dass der Anbieter dauerhaft ausfällt. Eine unabhängige Stelle verwahrt den Quellcode und gibt ihn an den Auftraggeber heraus, sobald ein im Vertrag benannter Fall eintritt.
Welche Fälle lösen die Herausgabe aus?
Üblich sind die Insolvenz des Anbieters, die dauerhafte Einstellung der Pflege und der Verzug mit der Fehlerbehebung über eine festgelegte Dauer. Die Fälle gehören einzeln und prüfbar in den Vertrag, sonst wird im Ernstfall über ihr Vorliegen gestritten.
Genügt es, den Quellcode zu hinterlegen?
Nein. Ohne die Beschreibung der Übersetzungsumgebung, die Abhängigkeiten und die Betriebsdokumentation lässt sich aus dem Code kein lauffähiges System herstellen. Ebenso müssen die Nutzungsrechte zur Weiterentwicklung für den Herausgabefall geregelt sein.
Ersetzt die Hinterlegung die Übergabefähigkeit?
Nein. Die Hinterlegung greift erst, wenn ein benannter Fall eintritt. Übergabefähigkeit bedeutet, dass ein Wechsel im laufenden Betrieb möglich ist. Wer den Dienstleister wechseln will, braucht die zweite Eigenschaft, nicht die erste.