Partner von:

"Open Source ist ein guter Einstieg in die Software-Entwicklung"

Informatik, IT [Quelle: freeimages, Autor: wax115]

Quelle: freeimages, wax115

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.

Sie haben einen PhD in Musikwissenschaften – wie kamen Sie zur Software-Entwicklung?

Ich habe Musik studiert, aber immer nebenher aus Spaß programmiert. Ich habe oft Software oder Websiten 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 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.

Wie sind Sie 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 IT-Unternehmen gesucht. TNG ist ein bekanntes IT-Unternehmen in München und Umgebung. 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.

Sind Sie jetzt bei TNG der Spezialist für Open Source?

Ich kenne mich gut mit Open-Source-Software aus, wie auch viele meiner Kollegen. Aber ich mache nicht nur Open-Source-Projekte. Es ist auch selten, dass ein Projekt nur aus Open-Source-Komponenten besteht. Aber ich mache Projekte, die viel mit Open Source zu tun haben.

Wo setzt man Open-Source-Software am besten und am häufigsten ein?

Open Source nutzen wir fast überall: bei Entwicklungstools, bei der Versionskontrolle, mit der man Änderungen nachverfolgen kann, bei Content-Management-Systemen, bei Betriebssystemen. Wenn man an einem großen Projekt arbeitet, sind oft 70 bis 80 Prozent der Komponenten Open Source. Der Trend zu Open-Source-Produkten hat sich in den letzten fünf Jahren noch verstärkt. Das kann auch daran liegen, dass zum Beispiel auch Android Linux-basiert ist und das Bewusstsein dafür steigert, dass Open-Source-Software eine zuverlässige Alternative ist.

Welche Open-Source-Software nutzen Sie häufig?

Wir nutzen Linux, Subversion, Git zur Versionskontrolle und dbmaintain, um Datenbanken aufzusetzen und zu warten. Außerdem Guava, eine Java-Bibliothek von Google, die Funktionalitäten anbietet, die oft gebraucht werden, aber nicht direkt in Standard-Java verfügbar sind - das spart Zeit. Zum Testen nutzen wir Mockito und FEST, als Entwicklungsumgebung verwenden wir Eclipse.

Sind die schnellen Update-Zyklen von Open-Source-Projekten ein Problem, weil die Software noch nicht sicher ist?

Es kommt darauf an, ob das, was wir entwickeln, produktionskritisch ist und gleich auf den Systemen des Kunden landet. Dann ist es eine schlechte Idee, Software zu verwenden, die sehr unsicher ist. Oft gibt es von dem Produkt auch eine ältere, stabilere Version. Etwas anderes ist es, wenn es sich um ein Test-Tool handelt, das wir intern bei TNG einsetzen. Dann können wir auch schon die neuere Version nutzen, weil es dann nicht kritisch ist, wenn es ein paar Fehler gibt. Die meisten etablierten Open-Source-Projekte pflegen eine oder mehrere stabile Versionen neben der neuen, experimentellen. Außerdem kann man bei großen Open-Source-Anbietern wie zum Beispiel Google schon davon ausgehen, dass sie eine gute Qualitätssicherung haben. Ansonsten muss man sich informieren und dann eine Entscheidung fällen, was sicher ist und was nicht. Und wann man welche Version einsetzen kann.

Woher bekommen Sie diese Informationen?

Für große Open-Source-Projekte gibt es eine Website mit Infos. Außerdem nutzen wir Mailing-Listen, über die wir uns bei Experten Rat holen können. Auf den Mailing-Listen sind meist auch Entwickler des Projekts, die Fragen schnell und gut beantworten können. Und man kann sich auch im Internet zu den Projekten informieren und in Foren nachlesen.  

Wie finanzieren sich Open-Source-Projekte?

Viele Projekte bieten zwar die 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.

Geben Sie auch Teile des Projektes an die Community zurück?

Ja, wenn wir zum Beispiel Fehler finden und beheben, dann geben wir das sofort an das Projekt zurück.

Wie überzeugen Sie die Kunden, dass der Open-Source-Ansatz gut ist?

Ich habe bisher eigentlich keine Einwände von Kunden erlebt. Sie sind meistens genau wie wir der Ansicht, dass man Software, die kostenlos verfügbar ist und gute Qualität bietet, auch verwenden sollte, solange die Lizenzbedingungen in Ordnung sind.

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 zum Beispiel ein schon vorhandenes System mit einem Open-Source-Produkt ersetzen möchte, kostet dieser Umbau natürlich auch. 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 reinschauen, 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, ohne größere Lizenzvereinbarungen zu treffen.

Können Sie ein Beispiel nennen für ein Projekt, in dem Sie viel Open-Source-Software verwendet haben?

In Java-Projekten verwenden wir Open-Source-Bibliotheken, die häufige Aufgaben erledigen. Es gibt viele Open-Source-Komponenten, die gute Qualität bieten und auch auf die Anforderungen im Geschäftsleben zugeschnitten sind. Oft kann man Stellen im alten Code finden, die umständlich gemacht sind. Die schmeißt man dann weg und ersetzt sie mit zwei Zeilen von Guava - das ist sehr befriedigend.

Ich erinnere mich an ein Projekt, bei dem wir Code analysiert haben. Der Kunde hatte viel Code, der zum Teil nicht sehr gut funktioniert hat. Wir haben also analysiert und die Stellen gefunden, an denen Probleme auftauchen. Dabei habe ich sehr viele Open-Source-Tools eingesetzt. Diese Tools haben den Code gelesen, Fehler gefunden und Berichte ausgespuckt. Damit konnte ich sehr gut arbeiten und der Kunde war am Ende sehr zufrieden.

nach oben
Kommentare (0)

Zum Kommentieren bitte einloggen.

Das könnte dich auch interessieren