Jan | 02.09.2021

Warum Open Source für uns als Unternehmen sinnvoll ist

Allgemein > Warum Open Source für uns als Unternehmen sinnvoll ist

Das Konzept "Open Source" beschreibt Code, der für die Öffentlichkeit frei zugänglich ist. Dies bedeutet wiederum, dass ihn jeder lesen, bearbeiten und mit anderen teilen kann. Daraus resultiert die Möglichkeit zur einfachen Anpassung des Codes an die eigenen Bedürfnisse einer Privatperson, eines Unternehmens oder sogar eines Kundenprojektes.

Open Source Projekte sind deswegen auch ein fester Bestandteil unseres Arbeitsalltags! Egal ob zur Verarbeitung von Satellitendaten, dem Testen unseres Codes oder zum Erstellen von Excel Dokumenten: so gut wie jedes Projekt, das wir zusammen mit Kunden umsetzen, beinhaltet externe Abhängigkeiten in Form von Open Source Projekten.

Moderne Software und die Anforderungen, die Nutzer und Kunden an sie stellen, werden technisch immer komplexer. Alle Aspekte selbst zu entwickeln, ist meist vom zeitlichen Aufwand her undenkbar.

Das Ziel: mit Kunden an innovativen Ideen arbeiten

In diesem Prozess ist es wichtig, dass wir Ansätze und Annahmen möglichst schnell umsetzen und der Kunde erste Erkenntnisse und Daten in die weitere Entwicklung einfließen lassen kann. Dies ist ohne den Einsatz von fertigen Lösungen in Form von Open Source, sowohl aufwands- als auch zeittechnisch kaum realisierbar.

Dass es Privatpersonen und Firmen gibt, die ihre Arbeit unter einer freien Lizenz zur Verfügung stellen, wird von uns sehr geschätzt. Dabei sollten Nutzer und auch unsere Kunden jedoch Themen wie Lizenzierung (Darf ich es überhaupt einsetzen?), Updates (Wer kümmert sich darum und wie übernehme ich Änderungen in mein Projekt?) und Security (Welche Risiken entstehen durch den Einsatz?) nicht außer Acht lassen. Im Vergleich zu einer Eigenentwicklung ist der Einsatz von Open Source nicht kostenfrei, sondern bringt seine ganz eigenen Aufgabenstellungen und Aufwände mit sich. Schlussendlich überwiegen für uns jedoch die Vorteile.

Umso besser, dass wir Open Source nicht nur schätzen und einsetzen, sondern bei newcubator im Rahmen unserer Arbeit auch die Möglichkeit haben, etwas zu diesen Projekten beizutragen.

Was heißt das nun konkret?

Beim Einsatz von klassischer "Closed Software" erhalte ich neben der Software und den entsprechenden Nutzungsrechten auch einen Support Vertrag. Wenn etwas schief läuft kann ich mich an den Hersteller oder Verkäufer mit meinem Problem wenden und diesen zur Beseitigung auffordern. Das bedeutet in der Regel das ich in einem Support Portal des Herstellers ein Ticket mit meiner Problembeschreibung aufmache. Dieses wird dann meistens von einem Incident Manager bearbeitet und an den First Level Support weitergeleitet. Gerade bei sehr technischen Themen gibt es hier dann meist Rückfragen, die per Email oder im jeweiligen Portal geklärt werden müssen. Das dauert oft mehrere Tage und komplexe Fragen werden meist an den Second Level Support weitergegeben. Die komplette Lösung dauert dabei viele Tage oft mehrere Wochen, schlimmstenfalls muss ich sogar auf das nächste Produkt Release warten.

Bei einem OpenSource-Ansatz stehen mir als Entwickler alle Informationen zu Verfügung, die ich brauche um die technische Situation analysieren zu können. Ich kann direkt im Quellcode versuchen mein Problem nachzuvollziehen und kann den Entwicklern einen konkreten Alternativvorschlag im Zuge eines sogenannten Pull Request machen.

Open Source Code im Einsatz

Das haben wir ganz konkret in einem unserer Kundenprojekte getan. Wir konnten analysieren, dass ein von uns erkanntes Problem im Speicher Management durch eine fehlerhafte Ermittlung der Größe des Arbeitsspeichers zu erklären war. Wir konnten effizient innerhalb der Software einen Problemvorschlag unterbreiten. In dieser Situation war vor allem vorteilhaft, dass wir einen direkten Einblick in die Software und ihre Funktionsweisen hatten. So waren wir in der Lage das Problem zusammen mit dem Projekt zu analysieren und zu verstehen.

Im nächsten Schritt konnte das Team dann eine Lösung erstellen, die nicht nur direkt uns und unserem Kunden sondern auch allen anderen Nutzern des Projektes helfen konnte. Durch dieses Vorgehen entstand auf unserer Seite der Aufwand für die Quellcodeerstellung, durch den OpenSource Charakter der Bibliothek war der Kommunikationsaufwand aber viel geringer und damit nicht nur unser Gesamtaufwand deutlich niedriger, als bei einer Closed Source Lösung, sondern auch die Lösung deutlich schneller verfügbar.

Mehr zu unserer Zusammenarbeit mit der KWS lesen Sie hier. Wir beheben aber nicht nur Fehler, sondern sind als newcubator auch auf Github aktiv unterwegs. Hier haben wir gerade eine neue JavaScript-Bibliothek veröffentlicht.

Vor- und Nachteile von Open Source

Der Einsatz von OpenSource ist insbesondere dann sinnvoll, wenn im Unternehmen entsprechende technologische Kompetenz und eine entsprechende "hands on" Mentalität herrscht. Durch die kurzen Wege und die verringerte Bürokratie, können oft schnelle und pragmatische Lösungen gefunden werden. Man darf sich allerdings nicht der Illusion hingeben, dass Open Source gleichbedeutend mit kostenloser Software ist. Auch wenn ich für die Lizenz keine Explizite Gebühr zahlen muss, fallen dennoch Wartungskosten an. Entweder, weil eigene Mitarbeiter ihre Arbeitszeit investieren müssen oder weil ich einen expliziten Wartungsvertrag schließen muss.

Da aber ein solcher Service meist nicht nur von einem, sondern einer Vielzahl Unternehmen angeboten werden, bin ich hier deutlich flexibler und begebe mich nicht in eine einseitige Herstellerabhängigkeit.

Jan Sauer
Jan (Softwareentwickler)

… ist als bewanderter Backend-Entwickler mit Focus auf DevOps-Engineering in der TypeScript- und JavaScript-Welt zuhause. Für alle Themen rund um Cloud und Softwarearchitektur ist er als AWS Certified... mehr anzeigen

Github

Standort Hannover

newcubator GmbH
Bödekerstraße 22
30161 Hannover

Standort Dortmund

newcubator GmbH
Westenhellweg 85-89
44137 Dortmund