Was ist Open-Source-Software?
Open-Source-Software wird häufig gemeinsam von einer großen, weitgehend unbezahlten Entwickler:innen-Community getragen. Von proprietärer Software unterscheidet sie sich vor allem dadurch, dass der Quellcode öffentlich zugänglich ist. Wer die nötigen Kenntnisse besitzt, kann ihn somit jederzeit prüfen – und dazu beitragen. Open-Source-Projekte, die von einer aktiven Community gepflegt werden, erhalten regelmäßig neue Funktionen und Sicherheits-Updates.
“Freie Software” bzw. FOSS (“Free and Open-Source-Software”) geht einen Schritt über den öffentlichen Quellcode hinaus und definiert vier weitere essenzielle Kriterien:
- Die Freiheit, die Software für jeden Zweck auszuführen
- Die Freiheit, die Funktionsweise der Software zu untersuchen und den eigenen Bedürfnissen anzupassen
- Die Freiheit, die Software weiterzugeben und anderen damit zu helfen
- Die Freiheit, Software zu verändern und anschließend weiterzugeben
Es sind diese Freiheiten, für die das “free” in FOSS steht. Sie ist damit nicht zwangsläufig kostenfrei, weswegen auch die Bezeichnung “libre” verwendet wird.
“Freeware” hingegen ist tatsächlich kostenlos verfügbar – es handelt sich dabei dennoch häufig um proprietäre Software. Freeware sollte daher nicht mit freier/libre Open-Source-Software verwechselt werden.
Ein wichtiger Aspekt von Open-Source-Projekten sind deren Lizenzen. Code ist urheberrechtlich geschützt, weswegen Unternehmen, die solche Software in ihren Projekten verwenden, deren Lizenzbedingungen kennen sollte. So kann manche Software beispielsweise nicht für kommerzielle Zwecke verwendet werden.
Lizenzen für Open-Source-Software
Es gibt zahlreiche verschiedene Software-Lizenzen für Open-Source-Projekte, die deren Verwendung unterschiedlich stark begrenzen.
Manche davon lassen sich dem Konzept "Copyleft" zuordnen. Damit ist gemeint, dass Software, die Code mit einer solchen Lizenz verwendet, nicht proprietär sein kann. Andernfalls liegt ein Lizenzverstoß vor. Ein Beispiel hierfür ist die beliebte GNU General Public License (GPL). Unternehmen sollten das nicht auf die leichte Schulter nehmen: Die Missachtung einer solchen Lizenz kann rechtliche Konsequenzen haben, die bis zum sofortigen Verkaufsstopp und der Offenlegung des Quellcodes reichen.
Am anderen Ende des Spektrums stehen permissive Lizenzen. Diese schränken die Verwendung des Codes nur minimal ein und erlauben seine Integration in proprietäre Software. Die BSD License und die MIT License sind hierfür gute Beispiele. Die Integration solchen Codes in proprietäre Software birgt meist kein Risiko, sollte aber dennoch im Einzelnen geprüft werden.
Manchmal werden beliebte Open-Source-Projekte von Unternehmen übernommen, was dazu führen kann, dass die Community das Projekt aufspaltet. Ein solcher “Fork” beginnt als Kopie des Quellcodes, welcher dann unabhängig weiterentwickelt wird.
Ein bekanntes Beispiel ist MariaDB, ein Fork des relationalen Datenbankmanagementsystems MySQL. Im Jahr 2009, kurz vor einer Übernahme durch Oracle, machten sich die Open-Source-Entwickler:innen Sorgen über die künftige Ausrichtung des Projekts und entschieden sich für einen Fork, was zu MariaDB führte. Anfangs war es funktionsgleich mit MySQL, doch heute ist es ein eigenständiges Tool, das viele zusätzliche Funktionen und eine verbesserte Leistung bietet.
Schnelles und zuverlässiges Mobile Scanning
Integrieren Sie Barcode Scanning, Document Scanning und Data Capture innerhalb weniger Stunden in Ihre Mobil- oder Web-App
Vor- und Nachteile von Open-Source-Tools
Wie bereits erwähnt, besteht der Vorteil von quelloffenem Code darin, dass er häufig kostenlos ist, unabhängig entwickelt wird, und in vielen Fällen sehr sicher ist, da jede sachkundige Person ihn überprüfen kann.
Die von der Gemeinschaft betriebene Entwicklung von Open-Source-Software hat jedoch auch eine Kehrseite. Da die Arbeit freiwillig erfolgt, gibt es selten einen monetären Anreiz, länger als nötig zum Projekt beizutragen. So ist es möglich, dass selbst grundlegende Bausteine der heutigen Softwareentwicklung von ihren Entwickler:innen aufgegeben werden, was sie anfällig für Sicherheitslücken und böswillige Akteure macht.
Laut dem 8th Annual State of the Software Supply Chain Report von Sonatype werden jeden Monat 1,2 Milliarden Dependencies mit bekannten Schwachstellen heruntergeladen. Parallel dazu nahm die Zahl der Angriffe auf Software-Lieferketten von 2019 bis 2022 jedes Jahr um 742 % zu.
Ein weiterer Nachteil ist, dass ein Software-Produkt schnell in Konflikt mit den vielen verschiedenen Open-Source-Lizenzen gerät, insbesondere wenn es zahlreiche Bibliotheken verwendet. Bei proprietären Produkten sollte Code mit GNU GPL-Lizenzen generell vermieden werden, während die Apache-, BSD- und MIT-Lizenzen ein geringeres Risiko darstellen.
Herausforderungen der App-Entwicklung mit Open-Source-Software
Angenommen, Sie möchten Ihrer mobilen Anwendung Funktionen zum Scannen von Dokumenten und zur Texterkennung hinzufügen. Dafür können Sie verschiedene frei verfügbare Bibliotheken kombinieren. Dazu zählen solche für die Scan-API, verschiedene Bildfilter, die Benutzeroberfläche und die Texterkennung über OCR. Jede dieser Komponenten bringt womöglich eine andere Lizenz und unterschiedliche Nutzungsbedingungen mit.
Diese Lizenzen müssen überprüft werden, um sicherzustellen, dass alle Softwarekomponenten rechtskonform verwendet werden. Soll die Software für geschäftlichen Zwecke genutzt werden, müssen alle Updates der Entwickler:innen zudem manuell geprüft und eingearbeitet werden. Nur so ist sichergestellt, dass neue Versionen der Komponenten mit der Softwareumgebung Ihres Unternehmens kompatibel sind.
Die Implementierung all dieser Aktualisierungen bedeutet einen erheblichen Zeit- und Arbeitsaufwand für das interne Entwicklungsteam. Kunden können damit nicht immer sofort mit der neuesten Version der Komponenten versorgt werden.
Wenn der ursprüngliche quelloffene Code einer Komponente dann nicht mehr von der Community gepflegt wird, ist das Entwicklungsteam des Unternehmens für alle weiteren Verbesserungen und Sicherheitsupdates verantwortlich.
Trotz geringer Anfangsinvestitionen kann ein Software-Produkt, das auf Open-Source-Projekten basiert, aufgrund dieser Unsicherheiten beträchtliche Kosten nach sich ziehen, die im Voraus schwierig zu kalkulieren sind.
Die Vorteile eines proprietären Software Development Kit
Im Gegensatz zur Kombination einzelner, auf Open-Source-Code basierender Softwarekomponenten ist ein proprietäres Software Development Kit (SDK) eine umfassende Lösung, die leicht integriert und an die Bedürfnisse eines Unternehmens angepasst werden kann. Der Anpassungsfähigkeit von Open-Source-Software steht ein proprietäres Produkt mit entsprechend flexiblen Optionen in nichts nach.
Kontinuierliche Updates und die Integration neuer Funktionalitäten erfolgen automatisch und erfordern keine weiteren Anpassungen. Die Kompatibilität mit Betriebssystemen und plattformübergreifenden Wrappers ist jederzeit gewährleistet. Funktionen spiegeln den neuesten technologischen Stand wider und bieten so zugleich eine optimale Benutzererfahrung und präzise Ergebnisse.
Durch den Kauf einer proprietären Software-Lizenz erhalten Unternehmen umfassenden Support. Kunden, die unser Scanbot SDK in ihren Produkten verwenden, haben Zugang zu einem speziellen Slack-Kanal, in dem sie sich bei Fragen oder Problemen direkt an unsere internen Entwickler:innen wenden können.
Alle Updates, neuen Funktionen und Fehlerbehebungen sind in der Lizenzgebühr enthalten, ebenso wie die Unterstützung durch engagierte Customer Success Manager:innen, die während des gesamten Lizenzzeitraums für umfassenden Support sorgen. Dadurch garantieren wir eine einwandfreie Benutzererfahrung.