Open Source ist auf den Vormarsch und bietet viele Chancen für Entwickler
Open Source ist auf den Vormarsch und bietet viele Chancen für Entwickler
Open-Source-Projekte sind auf dem Vormarsch! Immer mehr Unternehmen setzen auf Software aus dem Open-Source-Segment, immer wieder werden bekannte Projekte unter eine solche Lizenz gestellt. So hat Apple im vergangenen Jahr entschieden, Swift freizugeben und auch Microsoft stellt immer wieder Projektteile Open Source. Es spricht also alles dafür, selbst ein wenig Zeit in ein solches Projekt zu investieren!
Als Tom Preston-Werner und seine Kollegen GitHub gründeten, standen auch sie vor der großen Frage, wie sie mit ihrem Code umgehen sollen. Open Source oder nicht? Obwohl eine Open-Source-Lizenz natürlich der Konkurrenz in die Hände spielen könnte, entschieden sie sich bekanntermaßen für dieses Modell. Mit Erfolg! Bis heute stellt GitHub immer wieder neue Bestandteile der Plattform Open Source, sodass Nutzer daran mitarbeiten oder den Code als Grundlage für eigene Projekte verwenden können.
Für Preston-Werner hat dieses Vorgehen so gut wie ausschließlich Vorteile. Einerseits bietet sich so die Möglichkeit, auf einfache Weise Werbung für das Projekt zu machen, andererseits erleichtert es die Modularisierung von Code. Wer nämlich von Anfang an plant, einen Projektbestandteil auch anderen Entwicklern verfügbar zu machen, muss ihn so frei wie möglich von internen Abhängigkeiten halten. Nur wenn ein Projekt am Ende verkauft werden soll oder sich nicht gut von anderen Teilen der Plattform trennen lässt, lohnt sich für Preston-Werner die Entscheidung gegen das Open-Source-Modell.
Dass sich ein solches Vorgehen lohnt, hat im Jahr 2015 auch der 9. Future of Open Source Survey gezeigt, der vom Open Source Software Management Unternehmen Black Duck durchgeführt wurde. Unter den 1.300 Befragten stellten Softwareentwickler die größte Gruppe dar, gefolgt von System-Architekten und CEOs. 78 Prozent der Teilnehmer des Survey gaben an, dass in ihrem Unternehmen mit Open-Source-Software gearbeitet wird; 66 Prozent bauen Software für ihre Kunden auf Open-Source-Lösungen auf. Im Jahr 2010 lag die Quote der Unternehmen, die mit Open-Source-Lösungen arbeiten, noch bei nur 42 Prozent.
Das zeigt einen deutlichen Trend hin zur Verwendung von Open-Source-Lösungen. Diese Entwicklung wird im Survey auch noch einmal dadurch unterstrichen, dass 93 Prozent der Befragten angaben, im vergangenen Jahr konstant mit der gleichen Menge an Open-Source-Software gearbeitet oder sogar mehr davon in ihre Arbeitsabläufe integriert zu haben. Für 66 Prozent stellt Open Source außerdem die erste Wahl bei der Frage nach einer Softwarelösung dar: Sie ziehen inzwischen andere Lösungen erst nach Open-Source-Ansätzen in Erwägung.
Auch in Sachen Sicherheit zeigte sich ein großes Vertrauen in Open Source bei den Befragten: 55 Prozent hielten Open-Source-Lösungen für sicherer als proprietäre Systeme. Dieses Sicherheitsgefühl ist aber natürlich relativ zum Projekt und der jeweiligen Sparte zu sehen. Einerseits ist es grundsätzlich so, dass kleinere Projekte mit einer geringeren Wahrscheinlichkeit zum Ziel großer Angriffe werden und somit relativ gesehen sicherer sind als große Projekte. Andererseits erhöht sich die Sicherheit aber auch durch die Beteiligung einer größeren Menge an Entwicklern. Je mehr Kontrollen der Code durchläuft, desto wahrscheinlicher ist es nämlich, dass große Sicherheitslücken frühzeitig entdeckt werden.
Ein großer Vorteil von Open-Source-Software liegt außerdem in der Reaktionsgeschwindigkeit auf Bugs und Fehler, die von Nutzern gemeldet werden. Bei proprietärer Software dauert es häufig lange, bis einmal gemeldete Probleme behoben werden; der Nutzer kann dabei keinen Einfluss auf die Geschwindigkeit der Bearbeitung eine Bugs nehmen. Das ist bei Open-Source-Projekten anders. Hier erfolgt die Reaktion meist schneller, gerade wenn es um sicherheitsrelevante Fehler im Code geht. Und der Nutzer kann häufig auch selbst aktiv werden, damit Probleme gelöst werden.
Geht es um kleinere Probleme, die keine hohe Priorität besitzen, kann es aber auch bei Open-Source-Projekten eine Weile dauern, bis sich jemand um ein eröffnetes Ticket kümmert. Diese Aufgabe können in vielen Fällen aber sogar Anfänger in Sachen Programmierung übernehmen. Davon profitieren beide Seiten: Einerseits werden Bugs schnell behoben, andererseits sammeln Neulinge viele wertvolle Erfahrungen. Wenn vielleicht nur ein Buchstabe in der Dokumentation fehlt, sodass immer und immer wieder das gleiche Problem auftritt, ist es nämlich gar kein Problem, diesen Fehler mal eben zu beheben. Dafür braucht es nur ein klein wenig Zeit, aber definitiv keine Expertenkenntnisse.
So wird auch schnell sichtbar, wo die eigenen Stärken und Schwächen liegen. Im Berufsalltag ist manchmal nicht allzu viel Zeit dafür, Wege außerhalb des gewohnten Pfads zu gehen und Dinge auszuprobieren; wenn Fähigkeiten doch einmal fehlen, müssen diese möglichst schnell erworben werden. Die Zeit drängt! Auch das ist in Open-Source-Projekten meist anders. Hier bietet sich Entwicklern die Möglichkeit zu experimentieren und gleichzeitig Feedback von der Community zu erhalten. Der so erstellte Code macht sich auch gut im Lebenslauf, wenn ein Jobwechsel ansteht. Immerhin wird Open Source ja immer beliebter und somit wichtiger in der Branche, sodass es neben den dadurch nachweisbaren Code-Skills auch gut bei künftigen Arbeitgebern ankommen dürfte, wenn ein Bewerber sich auf diesem Gebiet hervorgetan hat. Eine Mitarbeit an einem Produkt, dass im Unternehmen verwendet wird, wird dem Bewerber definitiv nicht schaden. Und wo wir schon bei der Community sind: Hier können sich gute Möglichkeiten zum Aufbau eines Netzwerks ergeben, das sich irgendwann ebenfalls als sehr nützlich erweisen könnte.
Sogar jemand, der (noch) nicht gut genug programmieren kann, um am Code eines Open-Source-Projekts mitzuarbeiten, kann hier die richtige Aufgabe finden, um in die IT-Welt einzusteigen. Alte Bugreports können durchgesehen und geschlossen werden, wenn sie schon bearbeitet wurden, Dokumentationen müssen geschrieben werden und viele Projekt-Websites könnten mal wieder eine Überarbeitung jenseits des Projektcodes gebrauchen. Hier bietet sich also beinahe die ganze Bandbreite an IT-Jobs, in jedem denkbaren Maßstab. Viele Projekte freuen sich auch auf dieser Ebene über Hilfe.
Wer bereits etwas Erfahrung mit der Arbeit an einem Open-Source-Projekt gesammelt hat oder sich gut in einer Programmiersprache auskennt, kann außerdem selbst Fragen beantworten oder zum Mentor für Anfänger werden. Auch das stärkt die eigenen Fähigkeiten – See one, Do one, Teach one, wie es im Englischen heißt. Wer zum Meister seines Felds werden möchte, muss dazu andere darin unterrichten.
Außerdem ist es sogar möglich, Open-Source-Projekte zu unterstützen, ohne direkt daran mitzuarbeiten. Ein Projekt kann nämlich nur dann bekannt werden, wenn darüber gesprochen wird. Blogposts über die eigenen Erfahrungen können anderen Entwicklern sehr dabei helfen, sich für oder gegen die Verwendung eines bestimmten Codes zu entscheiden und sind somit ebenfalls eine gute Idee, um etwas zur Open-Source-Szene beizutragen.
Wie entscheidet man sich aber für ein Projekt zur Mitarbeit? Am einfachsten ist es, ein Projekt zu wählen, das bereits zum eigenen Arbeitsalltag gehört. Wer bislang wenig mit der Programmierung zu tun hatte, könnte es bei Mozilla probieren; wer regelmäßig mit einem bestimmten Framework arbeitet, ist damit gut beraten. Das spart Zeit und Aufwand, wenn es um den Einstieg in die Mitarbeit geht. Muss erst noch das Produkt an sich kennengelernt werden, könnte die Motivation bereits verloren gehen, bevor die eigentliche Arbeit beginnt.
GitHub bietet außerdem einen Überblick über die gegenwärtig populärsten Projekte an, sodass unentschlossene Entwickler auch hier noch einmal Einsicht in verschiedene Optionen nehmen können. Auch können Projekte hier nach Sparten oder Sprachen sortiert werden. Wer also schon immer mal etwas in einer bestimmten Sprache machen wollte, findet hier den richtigen Einstieg.
Für den Einstieg ist außerdem wichtig zu wissen, dass es nicht die eine Open-Source-Lizenz gibt, sondern jedes Projekt eine andere rechtliche Basis hat. Was erlaubt und möglich ist, sollten Entwickler also vor dem Einstieg in die Arbeit einmal nachlesen. Dazu findet sich zumeist eine entsprechende Datei im Projekt-Repository; darüber hinaus kann sich die Kontaktaufnahme mit den Projektgründern lohnen.
Nach der Auswahl des passenden Projekts sollten Entwickler sich natürlich auch mit der Plattform vertraut machen – und den jeweiligen Regeln des Projekts. Manches Projekt erfordert es zum Beispiel, dass Tests in jede vorgeschlagene Änderung integriert werden, sodass kein ungetesteter Code ins Projekt gelangen kann. Um Frust zu vermeiden, lohnt sich also eine gründliche Recherche.
Aber auch wenn der eigene Codebeitrag nicht veröffentlicht wird, kann es Spaß machen, an einem Projekt mitzuarbeiten. Immerhin könnte der Code ja noch zur Inspiration dienen oder von anderen Entwicklern weiter bearbeitet werden, sodass er am Ende doch einen Anteil am Produkt hat. Und wenn das Produkt dann tatsächlich gut ankommt und vielfältig genutzt wird, ist das mit Sicherheit ein richtig gutes Gefühl. Und das kann sogar noch die Karriere vorwärts bringen! Open-Source-Projekte lohnen sich also in vielerlei Hinsicht.
Aufmacherbild: Businessman working outdoor via Shutterstock / Urheberrecht: Alex Brylov