Schutz gegen Entwickler-Ausfall

Anbieter pleite, Quellcode weg

22.12.2014
Von Stephan Peters
Fällt der Lieferant betriebskritischer Applikationen dauerhaft aus, ist die kontinuierliche Wartung und Pflege der Enterprise-Software gefährdet. Software-Escrow kann den Zugang zum Quellcode gewährleisten, wenn im Vorfeld Vorkehrungen für den Fall der Fälle getroffen wurden.
Foto: vege - Fotolia.com

Viele Anwendungen - ob standardisiert, angepasst oder eigens entwickelt - sind für den reibungslosen Betrieb moderner Unternehmen von entscheidender Bedeutung. Dabei werden den Kunden in der Regel nur die Nutzungsrechte am Programm eingeräumt. Wartung und Weiterentwicklungen leistet der Lieferant gegen Gebühr, und der für diese Änderungen notwendige Quellcode bleibt unter Verschluss - verständlich, denn er enthält exklusives Know-how und bildet die Geschäftsgrundlage des Anbieters.

Wenn jedoch der Lieferant und damit seine Wartungsleistungen ausfallen, dauert es nicht lange, bis aus einer "Herausforderung" für das Management ein ernstes Problem wird. Schließlich stehen die meisten Kunden unter dem Druck, ihre Applikationen permanent an neue Prozesse, Richtlinien oder Rahmenbedingungen anzupassen. Folglich haben Anwenderunternehmen ein vitales Interesse daran, im Fall der Fälle an den Quellcode zu kommen, um die Programme auch ohne den Lieferanten warten und aktuell halten zu können.

Mit einer einvernehmlichen Hinterlegung des Source-Codes ("Software-Escrow") bei einer neutralen Institution zu Beginn der Vertragsbeziehung kann der Lizenznehmer die Grundlage dafür schaffen, um das Ausfallrisiko seiner wichtigsten Programme deutlich zu senken. Wird der Lieferant insolvent oder kommt es zu anderen Komplikationen, hat der Kunde kaum Chancen, seinen vermeintlichen Anspruch gegenüber einem Insolvenzverwalter durchzusetzen. Dieser kann die Herausgabe des Codes aus der Insolvenzmasse an einen Dritten verweigern, da er nur dem Schutz der Gläubiger verpflichtet ist. Der Quellcode ist jedoch geistiges Eigentum - damit bildet er einen Wert, der im Sinne der Gläubiger noch verkauft werden könnte. Somit dient der unabhängige Zugriff auf den Quellcode über Software-Escrow als Investitionsschutz und als Mittel zur Risikominimierung.

Der Hintergrund von Software-Escrow

Das klassische Software-Escrow leitet sich vom Altfranzösischen Wort für "Schriftrolle" ab und wurde vor rund 30 Jahren in den USA entwickelt. Grundlage ist das Modell der doppelten Treuhand. Hierbei schließen ein Anwenderunternehmen (Lizenznehmer - Beneficiary) mit dem Software-Lieferanten (Lizenzgeber - Depositor) sowie dem neutralen Escrow-Agenten einen Vertrag, in dem mögliche Gründe für die Herausgabe der Software beziehungsweise deren Quellcode festgelegt sind.

Sollte der Entwickler nicht mehr in der Lage oder willens sein, die Software zu warten, kann der Anwender durch den Quellcode den Stand der Software weiternutzen, der bei ihm im Zeitpunkt der Wartungsunterbrechung produktiv eingesetzt wurde. Das Risiko-Management im klassischen Lizenzmodell hat somit zum Ziel, die Wartbarkeit aus Sicht des Anwenders mittel- und langfristig zu sichern.

Aufgaben für den Escrow-Agenten

Der Escrow-Dienstleister fungiert als neutrale Instanz zwischen den beiden anderen Parteien, dem Lizenzgeber und dem Lizenznehmer. Neben der Verifizierung und sicheren Verwahrung des Quellcodes muss er bei der vertraglichen und technischen Ausgestaltung der Dreiecksbeziehung zwischen den oft gegenläufigen Interessen vermitteln. Angesichts kurzer Release-Zyklen sollte er zudem über eine passende Hardware-Infrastruktur verfügen, auf der er Änderungen am Quellcode sowie der Dokumentation kontrollieren und sichern kann.

Auch Tests oder die vollständige Neukompilierung des Quellcodes können als Qualitäts- und Sicherheitsroutinen vertraglich festlegt und entsprechend dokumentiert werden. Schließlich ist der Escrow-Agent im Herausgabefall dafür verantwortlich, dass die hinterlegte Software an den Lizenznehmer übergeben wird. Entscheidend ist hier die individuelle vertragliche Regelung, ob der Quellcode beispielsweise schon beim Insolvenzantrag oder erst bei Eröffnung des Verfahrens an den Anwender übertragen wird.

Die technische Verifizierung der Software

Der Escrow-Agent übernimmt den Quellcode sowie die Dokumentation einschließlich Programmierhandbuch und Build Guide vom Lieferanten der Software. Darüber hinaus werden häufig auch die Namen der maßgeblichen Entwickler übergeben - um diese im Notfall nach einer Freisetzung aus dem insolventen Unternehmen kontaktieren zu können. Im Anschluss an die Übergabe beginnt die technische Verifizierung. Dabei handelt es sich um eine Serie von Tests auf Vollständigkeit und Brauchbarkeit der Software. Dieser Schritt ist neben der eigentlichen Übergabe des Materials das Kernstück der Ausfallabsicherung aus Sicht des Anwenders. Eine umfangreiche Verifizierung des Source-Codes stellt sicher, dass das Programm vollständig sowie lauffähig ist und künftig weiter bearbeitet werden kann.

Um das hinterlegte Escrow-Material vollständig zu verifizieren, werden in der Regel die folgenden Schritte absolviert:

  1. Zunächst gibt es einen ersten, quantitativen Test des Materials auf Unversehrtheit und Lesbarkeit: Lässt sich die Software entschlüsseln, entpacken und ist sie frei von Schadcode? Ist mindestens eine Basisdokumentation wie ein Build Guide vorhanden, werden Drittkomponenten identifiziert und eventuelle Fremdlizenzen genannt?

  2. Die Entwicklungsumgebung, also die "Werkstatt" des Entwicklers wird nachgebaut. Hierfür werden zunehmend auch Virtual Machines (VM) genutzt - eigenständige elektronische Container, die mit den wesentlichen Komponenten wie beispielsweise der Entwicklungsumgebung ausgestattet sind.

  3. Compile & Link und anschließend Deploy & Install, in Anlehnung an die Entwicklungsschritte der Software-Hersteller.

  4. Die Anwendung wird getestet, etwa durch einen so genannten "Smoke Test", bei dem zentrale Funktionen genutzt werden und kein "Rauch" aufsteigen darf. Hierbei geht es nicht um eine funktionale Abnahme der Software, sondern um die grundsätzliche Lauffähigkeit sowie die Gewissheit, dass die hinterlegte Anwendung identisch mit der beim Anwender eingesetzten Version ist.

  5. Die einzelnen Schritte und Ergebnisse der Verifizierung werden in einem Kurzgutachten für den Lizenzgeber und den Lizenznehmer dokumentiert. Darüber hinaus wird gegebenenfalls eine Einschätzung zur Eignung des Materials für eine eigenständige Weiterentwicklung durch den Anwender oder einen von ihm beauftragten Experten abgegeben.

Szenarien für den Escrow-Einsatz

Einer Entscheidung zum Software-Escrow liegen viele Kriterien zugrunde. In der Regel lohnt sich das Verfahren für den Anwender, wenn die Investitionssumme über 50.000 Euro liegt oder mehr als 50 Mitarbeiter mit dem Programm arbeiten. Zudem greift Escrow immer bei kritischen Prozessen, deren Ausfall oder unzureichende Verfügbarkeit die Produktivität des Unternehmens belasten und wirtschaftlichen Schaden verursachen. Darüber hinaus müssen Anwenderunternehmen die Kosten und Ressourcen für einen eventuellen Ersatz der fraglichen Software bestimmen: Dies umfasst den erneuten Auswahlprozess einschließlich der Lizenzgebühren, die notwendige Hardware sowie anfallende Kosten für Integration, Anpassungen und Schulungen.

Neben der möglichen Insolvenz des Lieferanten oder seines Entwicklungspartners könnten auch Nachlässigkeiten bei der vertraglich zugesicherten Wartung für Probleme sorgen. Dies ist beispielsweise der Fall, wenn der Entwickler nicht ausreichende Ressourcen für die Wartung abstellen kann oder will. Zudem könnte ein Entwickler das Produkt beziehungsweise gleich den gesamten Geschäftsbetrieb einstellen, etwa um eine Insolvenz zu vermeiden. Eine zusätzliche Hinterlegung im Namen des Kunden kann auch dann sinnvoll sein, wenn die Software von einem Generalunternehmer bezogen und betrieben wird - selbst wenn dieser sich selbst um eine Hinterlegung gekümmert hat.

Schließlich dient Escrow auch noch als eine "vertrauensbildende Maßnahme": Gerade kleinere Entwicklungsunternehmen und Dienstleister müssen bei kritischen Programmen ihre wirtschaftliche Stabilität nachweisen. Mit dem Bekenntnis zu Software-Escrow ist dem nervösen Kunden schon einmal die Sorge genommen, dass er eines Tages auf einer Software sitzen bleibt, die nicht adäquat gewartet und daher auch nicht mehr genutzt werden kann. (jha)

Zur Startseite