Einsatz von Open Source Software bei TNG: "Open Source ist ein guter Einstieg in die Software-Entwicklung"
Frei im Internet verfügbar, von vielen schlauen Köpfen programmiert und anpassbar – Open-Source-Software scheint viele Vorteile zu haben. Aber kann man sie auch in größeren IT-Projekten anwenden? Und was muss man dabei beachten? Benjamin Goose von TNG erklärt es. Und berichtet, wie er als Musikwissenschaftler zur Software-Entwicklung gekommen ist.
Du hast einen PhD in Musikwissenschaften – wie kamst du zur Software-Entwicklung?
Ich habe Musik studiert, aber immer nebenher aus Spaß programmiert. Ich habe oft Software oder Websites mit Bezug zu Musik entwickelt, um meine beiden Interessen zu verbinden. Zum Beispiel habe ich eine Website erstellt, die komponieren konnte. Nach der Promotion in Musikwissenschaften habe ich versucht, interessante Jobs in der Musik zu finden – das war aber nicht so einfach.
Nebenher habe ich online an Open-Source-Projekten mitentwickelt. Das ist ein guter Einstieg in die Software-Entwicklung, weil in diesen Projekten sehr gute Leute mitarbeiten. Und es gibt immer etwas zu tun: Die Entwickler:innen in den Projekten sind froh, wenn sie Freiwillige finden. Man hat dort Gelegenheit, unter Aufsicht zu programmieren und gutes Feedback zu bekommen. Am Anfang habe ich das unbezahlt gemacht, später aber Geld dafür bekommen.
Benjamin Goose studierte Musikwissenschaften in Oxford und London und schloss mit dem PhD ab. Seit September 2011 arbeitet er bei TNG Technology Consulting.
Wie bist du zu TNG gekommen?
Als ich nicht sofort eine passende Stelle in der Musik gefunden habe, habe ich mich als Software-Entwickler selbstständig gemacht und später dann nach Stellen in der IT-Branche gesucht. TNG war damals ein in München und Umgebung bekanntes IT-Unternehmen. Es hat dann auch sofort funktioniert, TNG hat mich genommen.
Was mich besonders überzeugt hat: TNG hat mein technisches Wissen im Vorstellungsgespräch überprüft. Das war für mich wichtig, weil mein Abschluss ja nicht mein Können in Programmierung deutlich macht und ich so meine Fähigkeiten direkt unter Beweis stellen konnte.
Bist du bei TNG mittlerweile der Spezialist für Open Source?
Open Source gehört zum Arbeitsalltag – alle Consultants kommen in Kontakt mit Open-Source-Projekten. Es gibt aber auch Besonderheiten von Open-Source-Software wie Kenntnisse der Lizenzen und Lizenzpflichten die Verwaltung der "Bill of Materials" für Software. Dafür haben wir in der Firma viel Wissen aufgebaut, greifen aber gerne auf einige Spezialisten zurück.
Wo setzt man Open-Source-Software am besten und am häufigsten ein?
Open Source nutzen wir fast überall: in Programmiersprachen und Entwicklungstools, bei der Versionskontrolle, mit der man Änderungen nachverfolgen kann, bei Betriebssystemen, bei Bibliotheken und Frameworks. Wenn man an einem großen Projekt arbeitet, sind oft mehr als 80 Prozent der Komponenten Open Source. Viele Open-Source-Produkte haben sich in den letzten Jahren als Standard etabliert.
Starte auch du bei TNG durch: Jetzt informieren
Welche Open-Source-Software nutzt ihr häufig?
Linux und git sind in der Software-Entwicklung nicht wegzudenken. Ökosysteme wie Java, Python, Javascript oder .NET waren die Grundlage der meisten meiner bisherigen Projekte und bestehen inzwischen größtenteils aus Open-Source-Komponenten. Für Frontends setzte ich oft Vue.js ein – eines von vielen verbreiteten Open-Source-Frameworks.
Sind die schnellen Update-Zyklen von Open-Source-Projekten ein Problem, weil die Software noch nicht sicher ist?
Dadurch, dass Open-Source mittlerweile so verbreitet ist, sind solche Probleme längst adressiert. Die meisten etablierten Open-Source-Projekte pflegen eine oder mehrere stabile Versionen neben der neuen, experimentellen. Diese werden über einen längeren Zeitraum mit Sicherheitsupdates versorgt. Und auch die neuesten Versionen, vor allem von den großen Open-Source-Anbietern wie Google oder Microsoft, haben eine sehr gute Qualitätssicherung.
Es gibt aber auch viele kleinere Produkte, die weniger Aufmerksamkeit bekommen und vielleicht von wenigen Leuten entwickelt werden. Sie können trotzdem sehr hilfreich sein, aber es ist wichtig, auf die Risikofaktoren zu achten, bevor wir entscheiden, ob wir das Produkt einsetzen wollen.
Woher bekommst du diese Informationen?
Es gibt ein paar Kennzahlen wie die Anzahl der aktiven Entwickler:innen, die Änderungsrate, das Datum der zuletzt veröffentlichte Version, die aus der Versionskontrolle ersichtlich sind. Darüber hinaus ist die Prävalenz von Fragen zu dieser Software in öffentlichen Foren wie Stackoverflow ein guter Hinweis, wie oft es eingesetzt wird und welche Probleme bei der Nutzung auftauchen.
So klappt der Quereinstieg bei TNG
Wie finanzieren sich Open-Source-Projekte?
Die führenden Projekte werden inzwischen von Unternehmen entwickelt oder gesponsert, weil sie selbst einen Vorteil davon haben. Andere bieten zwar ihre Software kostenlos an, der Support dafür ist aber kostenpflichtig. Unsere Kunden lassen sich auch viel eher davon überzeugen, ein Open-Source-Produkt zu nutzen, wenn dazu ein guter Support angeboten wird, der sie nach der Implementierung nicht allein lässt mit ihren Problemen.
Projekte von Google werden natürlich vom Mutterkonzern unterstützt und öffentlich gemacht. Manchmal gibt es auch Sponsoren, die eine Finanzspritze geben, weil sie das Projekt wichtig finden. Und manche Projekte finanzieren sich über Spenden.
Gebt ihr auch Teile des Projektes an die Community zurück?
Ja, das reicht vom Beheben von Fehlern bis hin zu neuen Features, die wir oder unsere Kunden brauchen. Wenn wir im Auftrag unserer Kunden arbeiten, brauchen wir natürlich ihre Erlaubnis, bevor wir Code den Open-Source-Projekten überlassen.
Aber unsere Kunden sehen oft die Vorteile davon: Was wir der Open-Source-Community geben, wird auch von der Community gewartet und weiterentwickelt. Es kommt auch immer öfter vor, dass wir Open-Source-Software direkt im Auftrag von Kunden entwickeln – das war früher selten.
Was sind die Vorteile von Open-Source-Software?
Auf jeden Fall die Vielfalt: Es gibt Projekte für viele Bedürfnisse. Open Source ist zwar oft kostengünstiger, aber auch nicht zwingend. Denn wenn man beispielsweise ein schon vorhandenes System mit einem Open-Source-Produkt ersetzen möchte, kostet dieser Umbau natürlich. Das Praktische an Open Source ist außerdem, dass man immer selbst Hand anlegen und Dinge verändern kann. Bei gekauften Komponenten ist das nicht immer der Fall, manchmal kann man in den Quellcode schauen, manchmal auch nicht.
Und ein weiterer Vorteil: Open Source kann man auch einfach mal ausprobieren. Wenn es nicht passt, dann lässt man es wieder.
Jetzt bei TNG einsteigen
In Kooperation mit TNG Technology Consulting
Dieser Artikel ist in Zusammenarbeit mit TNG Technology Consulting entstanden. Die Münchner Unternehmensberatung hat einen Schwerpunkt auf Agiler Softwareentwicklung, Künstlicher Intelligenz und DevOps & Cloud.