Moderne Software-Entwicklung ist ohne den Einsatz von Open Source nicht mehr vorstellbar. In großen Software-Projekten kommen nicht selten über 100 Open-Source-Komponenten zum Einsatz. Für diese erscheinen regelmäßig neue Versionen und Releases mit Aktualisierungen und Verbesserungen.

Bug Fixes schließen Sicherheitslücken und beheben Fehler

Typische Gründe für das Erscheinen einer neuen Version von Open-Source-Komponenten sind Bug Fixes, Security Fixes, neue Funktionalitäten oder Verbesserungen in der Speichernutzung und Performance.

Alles gute Gründe für Anwendungsentwickler, zügig auf die neuste Version zu wechseln. Aber wie bekommen Ihre Software-Entwickler mit, dass es neue Versionen der verwendeten Bibliotheken gibt? Täglich Dutzende Open-Source-Bibliotheken auf neue Versionen zu überprüfen ist ein immenser Aufwand und nicht praktikabel.

In der Praxis führt das dazu,  dass Updates von Open-Source-Bibliotheken selten zeitnah in Projekten eingespielt werden. Dies ist sehr riskant, da damit Sicherheitslücken in Ihren Unternehmensprojekten offen bleiben und bekannte Fehler nicht behoben werden.

Müssen Sie den Quellcode Ihres Produkts veröffentlichen?

Ein anderes Problem sind Open-Source-Lizenzen. Jede Open-Source-Bibliothek steht unter einer bestimmten Lizenz. Diese beschreibt rechtlich genau, wie die Komponente verwendet werden darf. Dabei ist nicht jede Lizenz kompatibel mit dem kommerziellen Einsatz. So verlangt z.B. die GPL-Lizenz dass Produkte, die Komponenten mit GPL-Lizenz verwenden, ebenfalls unter GPL-Lizenz gestellt werden. Das bedeutet, dass Sie unter Umständen den Quellcode Ihres kommerziellen Projekts ebenfalls veröffentlichen müssen.

Aber nicht jeder Software-Entwickler kennt sich mit Lizenzen aus. Wissen Sie, ob Ihre Software-Entwickler nicht einfach eine Open-Source Komponente aus dem Internet laden und in Ihrem Projekt verwenden? Oft werden die Lizenzen dann kurz vor dem Markteintritt manuell überprüft. Wenn dabei festgestellt wird, dass Komponenten unter copyleft Lizenz (wie z.B. GPL)  verwendet wurden, dann ist der Schaden groß. Nicht selten wird der Markteintritt wegen solchen Lizenzverletzungen verschoben und stattdessen folgt eine teure Anpassung des Produkts.

VersionEye

Für beide Risiken bietet VersionEye Abhilfe. VersionEye ist 2012 online gegangen als SaaS (Software as a Service) Tool. Seit 2014 gibt es auch eine on premise Variante für große Firmen. Zu den Enterprise-Kunden zählt unter anderem XING.

Automatische Prüfung auf neue Versionen

VersionEye informiert Entwicklerteams automatisiert über neue Versionen der eingesetzten Open-Source-Bibliotheken. Dazu prüft VersionEye täglich, welche Open-Source-Komponenten im Projekt verwendet werden und ob für dieses Komponenten Aktualisierungen verfügbar sind. Es ist keine manuelle Prüfung notwendig,

Ihre Software-Entwickler werden dann einmal am Tag per E-Mail über neue Versionen informiert und können so Sicherheitslücken und Fehler in den eigenen Projekten zeitnah schließen. Ihr Team kann sich auf die eigentliche Software-Entwicklung konzentrieren, und das Projekt bleibt trotzdem immer up-to-date.

Überwachung von Lizenzen

Außerdem hilft VersionEye, eine firmenweite Lizenzpolitik zu implementieren. Lizenzen, die in Projekten verwendet werden dürfen, setzen Sie auf eine White List. VersionEye prüft dann täglich alle verwendeten Open-Source-Komponenten gegen diese Positivliste. Sollte ein Software-Entwickler eine Bibliothek mit nicht genehmigter Lizenz verwendet haben, wird sofort Alarm geschlagen und die Lizenz kann kurzfristig geprüft werden. Sollte die Lizenz nicht akzeptabel sein, kann die Komponente zu diesem frühen Zeitpunkt sehr schnell und einfach wieder entfernt werden.